Files
Investidor-V2/tools/irpc-international-fixtures.mjs
T
2026-10-27 14:57:18 +02:00

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}));