35 lines
1.1 KiB
TypeScript
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
|