20 lines
964 B
TypeScript
20 lines
964 B
TypeScript
import { readFile } from 'node:fs/promises';
|
|
import { resolve } from 'node:path';
|
|
import { describe, expect, it } from 'vitest';
|
|
|
|
describe('Data Service Host API registration', () => {
|
|
it('registers before the existing Works catch-all', async () => {
|
|
const source = await readFile(resolve('electron/api/route-handlers.ts'), 'utf8');
|
|
expect(source).toMatch(
|
|
/import\s+\{\s*handleDataServiceRoutes\s*\}\s+from\s+['"]\.\/routes\/data-service['"]/,
|
|
);
|
|
const routeList = source.match(/hostApiRouteHandlers[^=]*=\s*\[([\s\S]*?)\];/);
|
|
expect(routeList?.[1]).toBeDefined();
|
|
const dataServiceIndex = routeList?.[1].indexOf('handleDataServiceRoutes') ?? -1;
|
|
const worksIndex = routeList?.[1].indexOf('handleWorksRoutes') ?? -1;
|
|
expect(dataServiceIndex).toBeGreaterThanOrEqual(0);
|
|
expect(worksIndex).toBeGreaterThan(dataServiceIndex);
|
|
expect(source).not.toContain('handleDataServiceRoute = handleDataServiceRoutes');
|
|
});
|
|
});
|