test(f4): align legacy contracts with lifecycle model

This commit is contained in:
2026-09-08 14:39:55 -03:00
parent 7b6460dff2
commit 4df8f40dd4
14 changed files with 73 additions and 87 deletions
@@ -45,22 +45,22 @@ test('D5.5 treats manual additions as preventive and requires an auditable reaso
assert.match(dto, /@MinLength\(10\)/);
});
test('D5.5 keeps verification visits inside the same Area Operator planning contract and start remains APK-only', () => {
test('D5.5/F4 keeps verification visits inside the Area Operator contract and start remains APK-only', () => {
const verification = read('src/inspection-verifications/inspection-verifications.service.ts');
const visits = read('src/inspection-visits/inspection-visits.service.ts');
const lifecycle = read('src/inspection-visits/inspection-visit-lifecycle.service.ts');
assert.match(verification, /operationalAreaId: areaId/);
assert.match(verification, /operatorCompanyId: companyId/);
assert.match(verification, /planning_source = 'VERIFICATION'/);
assert.match(visits, /assertMobileInspector\(principal\)/);
assert.match(visits, /INSPECTION_CHECKLIST_REQUIRED/);
assert.match(lifecycle, /assertMobileInspector\(principal\)/);
assert.match(lifecycle, /INSPECTION_CHECKLIST_REQUIRED/);
});
test('D5.5 confirmation requires a reviewed current checklist and keeps visit start under mobile inspector policy', () => {
const visits = read('src/inspection-visits/inspection-visits.service.ts');
test('D5.5/F4 requires a current checklist before planning or start and keeps start under mobile policy', () => {
const lifecycle = read('src/inspection-visits/inspection-visit-lifecycle.service.ts');
const policy = read('src/inspection-operations/mobile-inspector-policy.ts');
assert.match(visits, /INSPECTION_CHECKLIST_REQUIRED/);
assert.match(visits, /checklistGeneratedAt/);
assert.match(visits, /assertMobileInspector\(principal\)/);
assert.match(lifecycle, /INSPECTION_CHECKLIST_REQUIRED/);
assert.match(lifecycle, /checklistGeneratedAt/);
assert.match(lifecycle, /assertMobileInspector\(principal\)/);
assert.match(policy, /transport !== 'bearer'/);
assert.match(policy, /includes\('inspector'\)/);
});