文件
hyb-oa/server/tests/unit/services/verification.test.js
T

37 行
1.5 KiB
JavaScript

const verification = require("../../../src/services/verification");
describe("Verification Service", () => {
it("determines if verification is enabled from config", () => {
expect(verification.isVerificationEnabled({ invoiceVerificationEnabled: true })).toBe(true);
expect(verification.isVerificationEnabled({ invoiceVerificationEnabled: false })).toBe(false);
});
it("selects correct provider from config", () => {
expect(verification.getProvider({})).toBe("mock");
expect(verification.getProvider({ verificationProvider: "tax" })).toBe("tax");
expect(verification.getProvider({ verificationProvider: "UNKNOWN" })).toBe("unknown");
});
it("calls mock provider correctly", async () => {
const result = await verification.verifyInvoiceByProvider({ config: {}, invoice: { id: 1 } });
expect(result.status).toBe("passed");
});
it("calls tax provider correctly", async () => {
const result = await verification.verifyInvoiceByProvider({
config: { verificationProvider: "tax" },
invoice: { id: 2 }
});
expect(result.status).toBeDefined();
});
it("returns error for unsupported provider", async () => {
const result = await verification.verifyInvoiceByProvider({
config: { verificationProvider: "magic" },
invoice: { id: 3 }
});
expect(result.status).toBe("error");
expect(result.resultCode).toBe("provider_unsupported");
});
});