@facturacr/atv-sdk
Version:
Librería (SDK) de Javascript/NodeJS para acceder al API de Administración Tributaria Virtual (ATV) del Ministerio de Hacienda.
41 lines • 2.25 kB
text/typescript
import fs from 'fs'
import { ATV } from "@src/ATV";
import { AceptationStates } from '@src/ATV/core/types';
import { parseElectronicBillXML } from '@src/lib/genXML';
const expectXml = fs.readFileSync('__tests__/stubs/commonExpectedXml.xml', 'utf-8')
const fakePem = fs.readFileSync('__tests__/stubs/dummyKeys/client-identity.p12', 'binary')
const fakePassword = '1234'
describe('Create Receptor Message', () => {
it('should create document and generate a correct command', async () => {
const atv = new ATV({}, 'stg')
const electronillBillRaw = parseElectronicBillXML(expectXml)
const { command, extraData } = await atv.createReceptorMessage({
aceptationState: AceptationStates.ACCEPTED,
aceptationDetailMessage: 'Accepted',
clave: electronillBillRaw.Clave,
emitterIdentifier: electronillBillRaw.Emisor.Identificacion.Numero,
emitterIdentifierType: electronillBillRaw.Emisor.Identificacion.Tipo,
receptorIdentifier: electronillBillRaw.Receptor.Identificacion.Numero,
receptorIdentifierType: electronillBillRaw.Receptor.Identificacion.Tipo,
documentIssueDate: new Date(electronillBillRaw.FechaEmision),
activityCode: electronillBillRaw.CodigoActividad,
taxCondition: electronillBillRaw.CondicionVenta,
totalTaxes: electronillBillRaw.ResumenFactura.TotalImpuesto,
totalSale: electronillBillRaw.ResumenFactura.TotalVenta,
branch: '01',
terminal: '01',
consecutive: '01',
token: 'fake-token',
signatureOptions: {
buffer: fakePem,
password: fakePassword
}
})
expect(command.data).toMatchObject({
clave: '50601042400020692014200100001010000000002100000001',
fecha: '2024-04-01T00:00:00.000Z',
emisor: { tipoIdentificacion: electronillBillRaw.Emisor.Identificacion.Tipo, numeroIdentificacion: electronillBillRaw.Emisor.Identificacion.Numero },
receptor: { tipoIdentificacion: electronillBillRaw.Receptor.Identificacion.Tipo, numeroIdentificacion: electronillBillRaw.Receptor.Identificacion.Numero }
});
});
})