xinvoice/test/test.ts
2024-12-31 13:38:41 +01:00

35 lines
1.1 KiB
TypeScript

import { tap, expect } from '@push.rocks/tapbundle';
import * as xinvoice from '../ts/index.js';
import * as getInvoices from './assets/getinvoice.js';
const test1 = tap.test('XInvoice should correctly embed XML into a PDF', async (tools) => {
// lets setup the XInvoice instance
const xInvoice = new xinvoice.XInvoice();
const testZugferdBuffer = await getInvoices.getInvoice(
getInvoices.invoices.ZUGFeRDv2.correct.intarsys.BASIC['zugferd_2p0_BASIC_Einfach.pdf']
);
// add the pdf buffer
xInvoice.addPdfBuffer(testZugferdBuffer);
// lets get the xml buffer
const xmlResult = await xInvoice.getXmlData();
console.log(xmlResult);
return xmlResult;
});
tap.test('should parse the xml', async () => {
const xmlResult: string = await test1.testResultPromise as string;
// lets setup the XInvoice instance
const xInvoiceInstance = new xinvoice.XInvoice();
xInvoiceInstance.addXmlString(xmlResult);
const parsedXml = await xInvoiceInstance.getParsedXmlData();
console.log(JSON.stringify(parsedXml, null, 2));
return parsedXml;
});
tap.start(); // Run the test suite