From 19af67f8a36ec0c798021af8f88508a6e0b53554 Mon Sep 17 00:00:00 2001 From: Denozordec Date: Fri, 25 Sep 2026 01:55:08 +0700 Subject: [PATCH] =?UTF-8?q?test(api):=20=D0=BF=D0=BE=D0=BA=D1=80=D1=8B?= =?UTF-8?q?=D1=82=D0=B8=D0=B5=20POST=20/agents/delete-bulk?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/api/src/services/bulk-ops.test.ts | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/apps/api/src/services/bulk-ops.test.ts b/apps/api/src/services/bulk-ops.test.ts index e76f32c..f574739 100644 --- a/apps/api/src/services/bulk-ops.test.ts +++ b/apps/api/src/services/bulk-ops.test.ts @@ -152,4 +152,32 @@ describe('bulk agent operations', () => { }) expect(bad.statusCode).toBe(404) }) + + it('delete-bulk removes agents in one request and skips unknown ids', async () => { + const app = await appPromise + await app.ready() + + const a1 = await createInvitedAgent(app, 'bulk-del-01') + const a2 = await createInvitedAgent(app, 'bulk-del-02') + const a3 = await createInvitedAgent(app, 'bulk-del-03') + + const bulk = await app.inject({ + method: 'POST', + url: '/api/v1/agents/delete-bulk', + payload: { agent_ids: [a1, a2, 'no-such-agent'] }, + }) + expect(bulk.statusCode).toBe(200) + const body = bulk.json() as { items: string[]; deleted: number } + expect(body.deleted).toBe(2) + expect(body.items.sort()).toEqual([a1, a2].sort()) + + for (const id of [a1, a2]) { + const res = await app.inject({ method: 'GET', url: `/api/v1/agents/${id}` }) + expect(res.statusCode).toBe(404) + } + + // a3 не упомянут в запросе — остаётся на месте + const kept = await app.inject({ method: 'GET', url: `/api/v1/agents/${a3}` }) + expect(kept.statusCode).toBe(200) + }) })