@eleva-io/erp-sdk
Version:
SDK oficial para el ERP de Eleva
77 lines • 3.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const bank_account_1 = require("../bank-account");
const types_1 = require("../types");
const errors_1 = require("../../../errors");
const payment_method_1 = require("./payment_method");
describe('validatePaymentMethod', () => {
const aba = {
type: bank_account_1.GlobalBankAccountType.ABA,
currency: types_1.GlobalCurrency.USD,
country: 'US',
accountNumber: '1234567890',
routingNumber: '021000021',
swiftBic: 'CHASUS33',
};
const clabe = {
type: bank_account_1.GlobalBankAccountType.CLABE,
currency: types_1.GlobalCurrency.MXN,
country: 'MX',
accountNumber: '002010077777777771',
swiftBic: 'BCMRMXMM',
};
const iban = {
type: bank_account_1.GlobalBankAccountType.IBAN,
currency: types_1.GlobalCurrency.EUR,
country: 'ES',
accountNumber: 'ES9121000418450200051332',
swiftBic: 'CAIXESBBXXX',
};
const expectValidationError = async (payload) => {
const error = await (0, payment_method_1.validatePaymentMethod)(payload).catch((e) => e);
expect(error).toBeInstanceOf(errors_1.ElevaError);
expect(error.code).toBe(errors_1.ERROR_CODES.VALIDATION);
};
describe('ABA', () => {
it('resolves for a valid payload', async () => {
await expect((0, payment_method_1.validatePaymentMethod)(aba)).resolves.toBeUndefined();
});
// eslint-disable-next-line jest/expect-expect
it.each([
['missing routing number', { routingNumber: undefined }],
['invalid account number', { accountNumber: '12345678X' }],
['invalid routing number', { routingNumber: '111111111' }],
['invalid swift bic', { swiftBic: 'CHASUS123' }],
['swift bic from a different country', { swiftBic: 'BCMRMXMM' }],
])('rejects when %s', async (_label, overrides) => {
await expectValidationError({ ...aba, ...overrides });
});
});
describe('CLABE', () => {
it('resolves for a valid payload', async () => {
await expect((0, payment_method_1.validatePaymentMethod)(clabe)).resolves.toBeUndefined();
});
// eslint-disable-next-line jest/expect-expect
it.each([
['invalid account number', { accountNumber: '0020100777777777XX' }],
['invalid swift bic', { swiftBic: 'BCMRMXMM3423' }],
['swift bic from a different country', { swiftBic: 'CHASUS33' }],
])('rejects when %s', async (_label, overrides) => {
await expectValidationError({ ...clabe, ...overrides });
});
});
describe('IBAN', () => {
it('resolves for a valid payload', async () => {
await expect((0, payment_method_1.validatePaymentMethod)(iban)).resolves.toBeUndefined();
});
// eslint-disable-next-line jest/expect-expect
it.each([
['invalid account number', { accountNumber: 'EX9121000418450200051332' }],
['invalid swift bic', { swiftBic: 'CAIXESBBXXX123' }],
['swift bic from a different country', { swiftBic: 'CHASUS33' }],
])('rejects when %s', async (_label, overrides) => {
await expectValidationError({ ...iban, ...overrides });
});
});
});
//# sourceMappingURL=payment_method.spec.js.map