文件
hyb-oa/server/tests/unit/services/invoiceDocumentMeta.test.js
wangsli 8a9279efce
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s
实现报销材料连续预览(07-27-yang-jun-reimbursement-readiness)
2026-08-01 00:17:54 +08:00

26 行
1023 B
JavaScript

const { mapInvoiceDocumentMeta } = require("../../../src/services/invoiceDocumentMeta");
describe("invoice document metadata", () => {
it("exposes only supported document categories and a bounded subtype", () => {
expect(mapInvoiceDocumentMeta({
ocr_result: {
result_json: {
documentCategory: " electronic_train_ticket ",
documentSubtype: `ElectronicTrainTicketFull${"x".repeat(80)}`,
raw: { sensitive: true },
},
},
})).toEqual({
documentCategory: "electronic_train_ticket",
documentSubtype: `ElectronicTrainTicketFull${"x".repeat(39)}`,
});
});
it("fails closed for unknown, blank, or malformed OCR metadata", () => {
expect(mapInvoiceDocumentMeta({
ocr_result: { result_json: { documentCategory: "unknown_invoice", documentSubtype: " " } },
})).toEqual({ documentCategory: null, documentSubtype: null });
expect(mapInvoiceDocumentMeta(null)).toEqual({ documentCategory: null, documentSubtype: null });
});
});