import { describe, expect, it, vi } from "vitest"; import type { Page } from "playwright"; import { AxelSelectionBridge } from "@/workers/rpa/axel-selection-bridge"; import { commitViaAxelPlacePrefetch } from "@/workers/rpa/axel-place-prefetch"; describe("commitViaAxelPlacePrefetch", () => { it("GET 200 但 fill 回退不合成 commit", async () => { const bridge = new AxelSelectionBridge(); const page = { context: () => ({ cookies: vi.fn().mockResolvedValue([]), request: { get: vi.fn().mockResolvedValue({ status: () => 200, ok: () => true, json: async () => ({ placeId: "ChIJ_test_place_id_00", city: "LA", }), }), }, }), evaluate: vi.fn().mockResolvedValue(false), keyboard: { press: vi.fn().mockResolvedValue(undefined) }, waitForTimeout: vi.fn().mockResolvedValue(undefined), } as unknown as Page; const input = { click: vi.fn().mockResolvedValue(undefined), fill: vi.fn().mockResolvedValue(undefined), }; const result = await commitViaAxelPlacePrefetch( page, bridge, "ChIJ_test_place_id_00", "1234 Warehouse Street, Los Angeles, CA, USA", input as never, ); expect(result.ok).toBe(false); expect(result.location).toBeTruthy(); expect(bridge.hasPlaceCommit("ChIJ_test_place_id_00")).toBe(false); }); });