mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-19 13:21:46 +00:00
7266ad99ae
* fix(server): set oxc:false in vitest so the SWC transform survives the Vite 8 bump * fix(server): switch coverage to the istanbul provider (v8 under-reports branches on Vite 8 + Vitest 4) * test(nest): cover controller/service branches to clear the 80% coverage gate
27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
import { describe, it, expect, vi } from 'vitest';
|
|
import { AddonsController } from '../../../src/nest/addons/addons.controller';
|
|
import type { AddonsService } from '../../../src/nest/addons/addons.service';
|
|
|
|
function makeService(overrides: Partial<AddonsService> = {}): AddonsService {
|
|
return {
|
|
list: vi.fn().mockReturnValue({ collabFeatures: {}, bagTracking: false, addons: [] }),
|
|
...overrides,
|
|
} as unknown as AddonsService;
|
|
}
|
|
|
|
describe('AddonsController (parity with the legacy GET /api/addons route)', () => {
|
|
it('GET / delegates straight to the service and returns its feed', () => {
|
|
const feed = {
|
|
collabFeatures: { comments: true },
|
|
bagTracking: true,
|
|
addons: [{ id: 'atlas', name: 'Atlas', type: 'page', icon: 'globe', enabled: true }],
|
|
};
|
|
const list = vi.fn().mockReturnValue(feed);
|
|
const svc = makeService({ list } as Partial<AddonsService>);
|
|
|
|
expect(new AddonsController(svc).list()).toBe(feed);
|
|
expect(list).toHaveBeenCalledTimes(1);
|
|
expect(list).toHaveBeenCalledWith();
|
|
});
|
|
});
|