feat: tarjetas de crédito en pagos recibidos (catálogo CreditCards, tabla en el formulario, validación y envío)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a77995536b
commit
c9d1a714c9
8 files changed
+91
-3
No files matched your search
@@ -236,4 +236,19 @@ describe('cuerpo del pago', () => {
|
||||
const bare = paymentPayload(outgoing, draft({ docType: 'rSupplier', means: { ...EMPTY_MEANS, transferAccount: 'T', transferSum: 1 } }));
|
||||
for (const k of ['Series', 'TaxDate', 'Remarks', 'JournalRemarks']) expect(bare).not.toHaveProperty(k);
|
||||
});
|
||||
|
||||
it('las tarjetas de crédito suman a los medios, se validan y se envían con la moneda local', () => {
|
||||
const card = { CreditCard: 2, CreditCardNumber: '1234', CardValidUntil: '2030-12-31', VoucherNum: 'V-1', CreditSum: 1000.456 };
|
||||
expect(paymentTotals({ means: { ...EMPTY_MEANS }, checks: [], cards: [card], docs: [], accounts: [] })).toMatchObject({ cards: 1000.46, means: 1000.46, onAccount: 1000.46 });
|
||||
expect(validatePayment(draft({ cards: [card] }))).toEqual([]);
|
||||
expect(validatePayment(draft({ cards: [{ ...card, CreditCardNumber: '12', VoucherNum: '' }] }))).toEqual([
|
||||
'Tarjeta 1: indique los 4 últimos dígitos.',
|
||||
'Tarjeta 1: indique el número de comprobante.',
|
||||
]);
|
||||
expect(paymentPayload(incoming, draft({ cards: [card, { CreditCard: '', CreditSum: 0 }] }))['PaymentCreditCards']).toEqual([
|
||||
{ CreditCard: 2, CreditCardNumber: '1234', CardValidUntil: '2030-12-31', VoucherNum: 'V-1', CreditSum: 1000.46, CreditCur: 'CLP' },
|
||||
]);
|
||||
expect(incoming.cards).toBe(true);
|
||||
expect(outgoing.cards).toBe(false);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user