Files
openchamber/packages/web/server/lib/notifications/template-runtime.test.js
T

33 lines
1.0 KiB
JavaScript
Raw Normal View History

import { afterEach, describe, expect, it, vi } from 'vitest';
2026-04-30 13:07:37 +03:00
import { createNotificationTemplateRuntime } from './template-runtime.js';
const originalFetch = globalThis.fetch;
2026-04-30 13:07:37 +03:00
const createRuntime = (settings = {}) => createNotificationTemplateRuntime({
readSettingsFromDisk: async () => settings,
persistSettings: vi.fn(async () => {}),
buildOpenCodeUrl: (path) => path,
getOpenCodeAuthHeaders: () => ({}),
resolveGitBinaryForSpawn: () => 'git',
});
describe('notification template runtime zen models', () => {
afterEach(() => {
globalThis.fetch = originalFetch;
});
2026-05-19 02:06:52 +03:00
it('returns no selectable zen models after provider retirement', async () => {
2026-04-30 13:07:37 +03:00
const runtime = createRuntime();
const models = await runtime.fetchFreeZenModels();
2026-05-19 02:06:52 +03:00
expect(models).toEqual([]);
2026-04-30 13:07:37 +03:00
});
2026-05-19 02:06:52 +03:00
it('preserves stored zen model value for compatibility without validation', async () => {
2026-04-30 13:07:37 +03:00
const runtime = createRuntime({ zenModel: 'trinity-large-preview-free' });
2026-05-19 02:06:52 +03:00
await expect(runtime.resolveZenModel()).resolves.toBe('trinity-large-preview-free');
2026-04-30 13:07:37 +03:00
});
});