Assessor_2.0/tests/domain/risk-acceptance-fixture.ts

11 lines
977 B
TypeScript

import { emptyRiskAcceptanceDetails, type RiskAcceptanceCommand } from '../../src/domain/risk-acceptance';
export function riskCommand(action: RiskAcceptanceCommand['action'] = 'accept', today = new Date().toISOString().slice(0, 10)): RiskAcceptanceCommand {
const details = emptyRiskAcceptanceDetails();
for (const key of Object.keys(details) as Array<keyof typeof details>) Object.assign(details, { [key]: 'Synthetic documented assessment' });
const date = (days: number) => new Date(Date.parse(today) + days * 86400000).toISOString().slice(0, 10);
Object.assign(details, { initialRisk: 'High', residualRisk: 'Medium', riskOwner: 'Synthetic owner', riskOwnerContact: 'owner@example.invalid',
approver: 'Synthetic approver', approverContact: 'approver@example.invalid', approvedOn: today, validFrom: today, expiresOn: date(90), reviewOn: date(30) });
return { action, recordedBy: 'Synthetic recorder', changeReason: 'Synthetic decision rationale', details };
}