import { describe, expect, it } from "vitest"; import { findMatchingExportRule } from "../shared/exportAutomation"; const rules = [ { isActive: 1, priority: 2, conditionField: "recipientName" as const, conditionValue: "Direction générale" }, { isActive: 1, priority: 1, conditionField: "ventilationComptable" as const, conditionValue: "615200" }, { isActive: 0, priority: 0, conditionField: "recipientName" as const, conditionValue: "Direction générale" }, ]; describe("règles de destination d’export", () => { it("sélectionne une règle de ventilation active", () => { expect(findMatchingExportRule(rules, { recipientName: "Direction générale", ventilationComptable: "615200" })).toBe(rules[1]); }); it("compare les destinataires sans tenir compte de la casse et des espaces", () => { expect(findMatchingExportRule(rules, { recipientName: " direction GÉNÉRALE " })).toBe(rules[0]); }); it("ignore les règles inactives", () => { expect(findMatchingExportRule([rules[2]], { recipientName: "Direction générale" })).toBeUndefined(); }); it("ne retourne aucune règle si la facture ne correspond à aucun critère", () => { expect(findMatchingExportRule(rules, { recipientName: "Service achats", ventilationComptable: "606000" })).toBeUndefined(); }); });