diff --git a/src/app/api/v1/collection-map/items/[id]/assign/route.test.ts b/src/app/api/v1/collection-map/items/[id]/assign/route.test.ts index f3ada73..6a043cc 100644 --- a/src/app/api/v1/collection-map/items/[id]/assign/route.test.ts +++ b/src/app/api/v1/collection-map/items/[id]/assign/route.test.ts @@ -96,4 +96,23 @@ describe("PATCH /api/v1/collection-map/items/[id]/assign", () => { // The unmark path must not silently overwrite the existing note. expect(payload.notes).toBeUndefined(); }); + + it("clears assigned_at when returning an item to the pool (no driverId)", async () => { + getOneMock.mockResolvedValueOnce({ + id: "item-1", + assigned_at: "2026-07-09T00:00:00.000Z", + }); + updateMock.mockResolvedValueOnce({ id: "item-1" }); + + const res = await PATCH( + makeReq({ date: "" }), + { params: Promise.resolve({ id: "item-1" }) }, + ); + + expect(res.status).toBe(200); + const payload = updateMock.mock.calls[0][1] as Record; + expect(payload.assigned_at).toBe(""); + expect(payload.item_status).toBe("collection_pool"); + expect(payload.drv_status).toBe("unassigned"); + }); }); \ No newline at end of file