17 lines
1.4 KiB
JavaScript
17 lines
1.4 KiB
JavaScript
import fs from 'node:fs';
|
|
import {internationalCase} from '../tests/frontend/helpers/irpc-international-case.mjs';
|
|
import {recordAnnual} from '../resources/js/lib/irpc-annual-settlement.ts';
|
|
const cases = {};
|
|
for (const name of ['payable','treaty','missing','limited-collecta','duplicate','absent','prior-use']) {
|
|
const c = name === 'limited-collecta' ? internationalCase('2000','2000') : internationalCase();
|
|
const p = c.b.internationalCredits.positions[0];
|
|
if (name === 'treaty') Object.assign(p, {treaty: 'yes', treatyLimit: '6', treatyReference: 'SYNTHETIC QA convention ceiling only, no actual treaty assertion'});
|
|
if (name === 'missing') p.treaty = '';
|
|
if (name === 'limited-collecta') p.incomeAmount = '6250';
|
|
if (name === 'duplicate') Object.assign(p.payments[0], {issuer: c.b.ppc.rows[0].issuer, document: c.b.ppc.rows[0].document, proofAmount: '500'});
|
|
if (name === 'absent') {c.b.internationalCredits.state = 'absent';c.b.internationalCredits.positions = [];}
|
|
if (name === 'prior-use') Object.assign(p.previousUse, {amount: '3', reference: 'SYNTHETIC QA: documented actual previous credit use of 3 MZN'});
|
|
cases[name] = recordAnnual(c.d, c.b, '2026-10-27T17:00:00+02:00');
|
|
}
|
|
fs.writeFileSync(new URL('../tests/frontend/fixtures/irpc-international-preserved.json', import.meta.url), JSON.stringify({synthetic: true, actualConventionData: false, base: 'irpc-assessment-preserved.json', cases}));
|