From c00eb94f00b72c2ad83116125da6fbde94a0fcce Mon Sep 17 00:00:00 2001 From: tong <2868172583@qq.com> Date: Fri, 5 Jun 2026 22:56:14 +0800 Subject: [PATCH] test: cover ky form delete flow --- routes/things/delete.ts | 1 - tests/routes/things/delete.test.ts | 31 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 tests/routes/things/delete.test.ts diff --git a/routes/things/delete.ts b/routes/things/delete.ts index 8291375..50b8f94 100644 --- a/routes/things/delete.ts +++ b/routes/things/delete.ts @@ -1,6 +1,5 @@ import { withRouteSpec } from "lib/middleware/with-winter-spec" import { z } from "zod" -import type { DatabaseSchema } from "lib/db/schema" export default withRouteSpec({ methods: ["POST"], diff --git a/tests/routes/things/delete.test.ts b/tests/routes/things/delete.test.ts new file mode 100644 index 0000000..2a493a0 --- /dev/null +++ b/tests/routes/things/delete.test.ts @@ -0,0 +1,31 @@ +import { expect, test } from "bun:test" +import { getTestServer } from "tests/fixtures/get-test-server" + +test("delete a thing with form data", async () => { + const { ky } = await getTestServer() + + await ky.post("things/create", { + json: { + name: "Thing to delete", + description: "This thing should be deleted", + }, + }) + + const created = await ky.get("things/list").json<{ + things: { thing_id: string; name: string; description: string }[] + }>() + + expect(created.things).toHaveLength(1) + + await ky.post("things/delete", { + body: new URLSearchParams({ + thing_id: created.things[0]!.thing_id, + }), + }) + + const afterDelete = await ky.get("things/list").json<{ + things: { thing_id: string; name: string; description: string }[] + }>() + + expect(afterDelete.things).toEqual([]) +})