xinvoice/test/assets/getasset.ts

81 lines
3.1 KiB
TypeScript

import * as smartfile from '@push.rocks/smartfile';
export async function getInvoice(filePath: string): Promise<Buffer> {
const file = await smartfile.fs.toBuffer('./test/assets/corpus/' + filePath);
return file;
}
// Maps of predefined invoice formats for easy test access
export const invoices = {
// ZUGFeRD 2.x format invoices
ZUGFeRDv2: {
correct: {
intarsys: {
BASIC: {
'zugferd_2p0_BASIC_Einfach.pdf': 'ZUGFeRDv2/correct/intarsys/BASIC/zugferd_2p0_BASIC_Einfach.pdf',
'zugferd_2p0_BASIC_Rechnungskorrektur.pdf': 'ZUGFeRDv2/correct/intarsys/BASIC/zugferd_2p0_BASIC_Rechnungskorrektur.pdf',
'zugferd_2p0_BASIC_Taxifahrt.pdf': 'ZUGFeRDv2/correct/intarsys/BASIC/zugferd_2p0_BASIC_Taxifahrt.pdf'
},
EN16931: {
'zugferd_2p0_EN16931_Einfach.pdf': 'ZUGFeRDv2/correct/intarsys/EN16931/zugferd_2p0_EN16931_Einfach.pdf',
'zugferd_2p0_EN16931_Elektron.pdf': 'ZUGFeRDv2/correct/intarsys/EN16931/zugferd_2p0_EN16931_Elektron.pdf',
'zugferd_2p0_EN16931_Gutschrift.pdf': 'ZUGFeRDv2/correct/intarsys/EN16931/zugferd_2p0_EN16931_Gutschrift.pdf'
},
EXTENDED: {
'zugferd_2p0_EXTENDED_Warenrechnung.pdf': 'ZUGFeRDv2/correct/intarsys/EXTENDED/zugferd_2p0_EXTENDED_Warenrechnung.pdf'
}
},
Mustangproject: {
'MustangGnuaccountingBeispielRE-20201121_508.pdf': 'ZUGFeRDv2/correct/Mustangproject/MustangGnuaccountingBeispielRE-20201121_508.pdf'
}
},
fail: {
Mustangproject: {
'MustangGnuaccountingBeispielRE-20190610_507a.pdf': 'ZUGFeRDv2/fail/Mustangproject/MustangGnuaccountingBeispielRE-20190610_507a.pdf'
}
}
},
// ZUGFeRD 1.0 format invoices
ZUGFeRDv1: {
correct: {
Intarsys: {
'ZUGFeRD_1p0_BASIC_Einfach.pdf': 'ZUGFeRDv1/correct/Intarsys/ZUGFeRD_1p0_BASIC_Einfach.pdf',
'ZUGFeRD_1p0_COMFORT_Einfach.pdf': 'ZUGFeRDv1/correct/Intarsys/ZUGFeRD_1p0_COMFORT_Einfach.pdf'
},
Mustangproject: {
'MustangGnuaccountingBeispielRE-20140519_499.pdf': 'ZUGFeRDv1/correct/Mustangproject/MustangGnuaccountingBeispielRE-20140519_499.pdf'
}
}
},
// XML-Rechnung format invoices
XMLRechnung: {
UBL: {
'EN16931_Einfach.ubl.xml': 'XML-Rechnung/UBL/EN16931_Einfach.ubl.xml',
'EN16931_Gutschrift.ubl.xml': 'XML-Rechnung/UBL/EN16931_Gutschrift.ubl.xml'
},
CII: {
'EN16931_Einfach.cii.xml': 'XML-Rechnung/CII/EN16931_Einfach.cii.xml',
'EN16931_Gutschrift.cii.xml': 'XML-Rechnung/CII/EN16931_Gutschrift.cii.xml'
}
},
// Factura PA format invoices
fatturaPA: {
valid: {
'IT01234567890_FPA01.xml': 'fatturaPA/official/valid/IT01234567890_FPA01.xml',
'IT01234567890_FPR01.xml': 'fatturaPA/official/valid/IT01234567890_FPR01.xml'
}
},
// Plain PDFs without embedded XML for testing embedding
unstructured: {
'RE-E-974-Hetzner_2016-01-19_R0005532486.pdf': 'unstructured/RE-E-974-Hetzner_2016-01-19_R0005532486.pdf'
}
};
// Test data objects for use in tests
export const letterObjects = {
letter1: await import('./letter/letter1.js'),
};