test(server): suites record broadcasts on a FakeRealtimeService instead of mocking src/websocket

A hand-built service gets a FakeRealtimeService where it took a RealtimeService, a Nest testing module overrides the provider, and a suite over buildApp() spies on the container's instance (spyOnRealtime). The 167 vi.mock factories on src/websocket are gone, RealtimeService reads the socket registry in ws-state.ts directly, and the re-export stub src/websocket.ts is deleted. The facade's own suite now checks what reaches a socket instead of which module function it called.
This commit is contained in:
Maurice
2026-10-10 18:23:04 +02:00
parent 00cbc5aae3
commit fa0edfd714
181 changed files with 584 additions and 561 deletions
@@ -28,7 +28,6 @@ vi.mock('../../../src/db/database', async () => {
const db = createSnapshotTestDb();
return { db, canAccessTrip: () => undefined };
});
vi.mock('../../../src/websocket', () => ({ broadcast: vi.fn(), broadcastToUser: vi.fn() }));
import { db as testDb } from '../../../src/db/database';
import { UnitOfWork } from '../../../src/nest/database/unit-of-work';
@@ -18,7 +18,6 @@ import path from 'node:path';
// (`createSnapshotTestDb` + `createTestOrm`) replaces the old hand-rolled table set,
// same fix `registry.test.ts` needed.
import { createSnapshotTestDb } from '../../helpers/db-mock';
vi.mock('../../../src/websocket', () => ({ broadcast: vi.fn(), broadcastToUser: vi.fn() }));
import { PluginRuntimeService } from '../../../src/nest/plugins/plugin-runtime.service';
import { createPluginRuntime } from '../../helpers/plugin-host';
@@ -44,7 +44,6 @@ const { testDb } = vi.hoisted(() => {
});
vi.mock('../../../src/db/database', () => ({ db: testDb, canAccessTrip: () => undefined }));
import { db as dbConn } from '../../../src/db/database';
vi.mock('../../../src/websocket', () => ({ broadcast: vi.fn(), broadcastToUser: vi.fn() }));
import { PluginRuntimeService, PluginDependencyError } from '../../../src/nest/plugins/plugin-runtime.service';
import { createPluginRuntime } from '../../helpers/plugin-host';