import { describe, expect, it, vi, beforeEach } from "vitest"; import { MothershipRPAProvider } from "@/workers/rpa/mothership"; import type { QuoteRequest } from "@/modules/providers/quote-provider"; describe("MothershipRPAProvider mock", () => { beforeEach(() => { process.env.RPA_MOCK_MODE = "true"; }); it("mock 模式返回 4 档报价", async () => { const provider = new MothershipRPAProvider(); const req: QuoteRequest = { cargoHash: "abc", pickup: { street: "1 Main", city: "LA", state: "CA", zip: "90001", placeId: "p1", formattedAddress: "1 Main, LA, CA 90001", selectedFromSuggestions: true, mothershipOptionId: "ms_p1", mothershipDisplayLabel: "1 Main, LA, CA 90001", selectedFromMothership: true, }, delivery: { street: "2 Oak", city: "Dallas", state: "TX", zip: "75201", placeId: "d1", formattedAddress: "2 Oak, Dallas, TX 75201", selectedFromSuggestions: true, mothershipOptionId: "ms_d1", mothershipDisplayLabel: "2 Oak, Dallas, TX 75201", selectedFromMothership: true, }, weightLb: 500, dimsIn: { l: 48, w: 40, h: 48 }, palletCount: 2, cargoType: "general_freight", }; const result = await provider.getQuote(req); expect(result.items).toHaveLength(4); expect(result.sourceType).toBe("rpa"); result.items.forEach((item) => { expect(item.rawFreight).toBeGreaterThan(0); expect(item.transitDays).toBeTruthy(); }); }); });