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"); }); });