Files
edr-platform/apps/edr-freight-web/backoffice/src/utils/groupBookingsForOperationsQueue.test.ts

41 lines
1.2 KiB
TypeScript

import { describe, expect, it } from "vitest";
import type { BookingListRow } from "@/types/booking";
import { groupBookingsForOperationsQueue } from "./groupBookingsForOperationsQueue";
function row(
id: string,
opts: Partial<BookingListRow> = {},
): BookingListRow {
return {
id,
reference: id,
customerLabel: "Customer",
status: "PAID",
scheduledDate: opts.scheduledDate ?? "2026-06-20T08:00:00.000Z",
totalAmount: 1000,
paymentCurrency: "ETB",
paymentStatus: "PAID",
tradeDirection: "IMPORT",
freightType: "CONTAINER",
originLabel: "A",
destinationLabel: "B",
priorityScore: opts.priorityScore ?? 10,
createdAt: "2026-06-01T00:00:00.000Z",
...opts,
};
}
describe("groupBookingsForOperationsQueue", () => {
it("separates government from commercial 3-hour buckets", () => {
const result = groupBookingsForOperationsQueue([
row("c1", { isGovernment: false }),
row("g1", { isGovernment: true, governmentInstitution: "Ministry" }),
]);
expect(result.government).toHaveLength(1);
expect(result.government[0]?.id).toBe("g1");
expect(result.commercial).toHaveLength(1);
expect(result.commercial[0]?.bookings[0]?.id).toBe("c1");
});
});