DH V2 CI / WEB · typecheck, build (push) Successful in 45s
Production dependency audit / API · production dependencies (push) Successful in 27s
DH V2 CI / API · typecheck, tests, build (push) Successful in 1m15s
Production dependency audit / WEB · production dependencies (push) Successful in 15s
DH V2 CI / Docker / migrations / production images (push) Successful in 2m21s
DH V2 CI / Promote verified main to deploy (push) Successful in 9s
Android CI / RC / Android · lint, tests, debug APK, release compile (push) Failing after 6m25s
32 lines
1.4 KiB
TypeScript
32 lines
1.4 KiB
TypeScript
import assert from 'node:assert/strict';
|
|
import { readFileSync } from 'node:fs';
|
|
import { resolve } from 'node:path';
|
|
import test from 'node:test';
|
|
import { MODULE_METADATA } from '@nestjs/common/constants';
|
|
import { AssetMasterModule } from '../../src/asset-master/asset-master.module';
|
|
import { InventoryFunctionService } from '../../src/asset-master/inventory-function.service';
|
|
|
|
test('F5 dossier dependency remains injectable and F6.18 reopens the Function catalog controller', () => {
|
|
const providers = (Reflect.getMetadata(MODULE_METADATA.PROVIDERS, AssetMasterModule) ?? []) as unknown[];
|
|
const controllers = (Reflect.getMetadata(MODULE_METADATA.CONTROLLERS, AssetMasterModule) ?? []) as Array<{ name?: string }>;
|
|
const dossierSource = readFileSync(
|
|
resolve(process.cwd(), 'src/asset-master/merged-inventory-dossier.service.ts'),
|
|
'utf8',
|
|
);
|
|
|
|
assert.match(
|
|
dossierSource,
|
|
/private readonly functions: InventoryFunctionService/,
|
|
'MergedInventoryDossierService must still depend on InventoryFunctionService for historical dossier data',
|
|
);
|
|
assert.ok(
|
|
providers.includes(InventoryFunctionService),
|
|
'AssetMasterModule must provide InventoryFunctionService so production Nest bootstrap can resolve the dossier',
|
|
);
|
|
assert.equal(
|
|
controllers.some((controller) => controller?.name === 'InventoryFunctionController'),
|
|
true,
|
|
'F6.18 explicitly reopens InventoryFunctionController as the authoritative Function catalog',
|
|
);
|
|
});
|