test: share model compat streaming fixture

This commit is contained in:
Peter Steinberger
2026-04-19 03:10:47 +01:00
parent 59032f63b1
commit a56aa6ccbe

View File

@@ -72,6 +72,15 @@ function expectSupportsStrictModeForcedOff(overrides?: Partial<Model<Api>>): voi
expect(supportsStrictMode(normalized)).toBe(false);
}
function expectNativeStreamingSupported(overrides: Partial<Model<Api>>): void {
const model = { ...baseModel(), ...overrides };
delete (model as { compat?: unknown }).compat;
const normalized = normalizeModelCompat(model as Model<Api>);
expect(supportsDeveloperRole(normalized)).toBe(false);
expect(supportsUsageInStreaming(normalized)).toBe(true);
expect(supportsStrictMode(normalized)).toBe(false);
}
beforeEach(() => {
providerRuntimeMocks.resolveProviderModernModelRef.mockReset();
providerRuntimeMocks.resolveProviderModernModelRef.mockReturnValue(undefined);
@@ -170,42 +179,24 @@ describe("normalizeModelCompat", () => {
});
it("keeps supportsUsageInStreaming on for native Qwen endpoints", () => {
const model = {
...baseModel(),
expectNativeStreamingSupported({
provider: "qwen",
baseUrl: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
};
delete (model as { compat?: unknown }).compat;
const normalized = normalizeModelCompat(model);
expect(supportsDeveloperRole(normalized)).toBe(false);
expect(supportsUsageInStreaming(normalized)).toBe(true);
expect(supportsStrictMode(normalized)).toBe(false);
});
});
it("keeps supportsUsageInStreaming on for DashScope-compatible endpoints regardless of provider id", () => {
const model = {
...baseModel(),
expectNativeStreamingSupported({
provider: "custom-qwen",
baseUrl: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
};
delete (model as { compat?: unknown }).compat;
const normalized = normalizeModelCompat(model);
expect(supportsDeveloperRole(normalized)).toBe(false);
expect(supportsUsageInStreaming(normalized)).toBe(true);
expect(supportsStrictMode(normalized)).toBe(false);
});
});
it("keeps supportsUsageInStreaming on for Moonshot-native endpoints regardless of provider id", () => {
const model = {
...baseModel(),
expectNativeStreamingSupported({
provider: "custom-kimi",
baseUrl: "https://api.moonshot.ai/v1",
};
delete (model as { compat?: unknown }).compat;
const normalized = normalizeModelCompat(model);
expect(supportsDeveloperRole(normalized)).toBe(false);
expect(supportsUsageInStreaming(normalized)).toBe(true);
expect(supportsStrictMode(normalized)).toBe(false);
});
});
it("leaves native api.openai.com model untouched", () => {