From de57c156662faa6973d16065f237c390490de5b6 Mon Sep 17 00:00:00 2001 From: Lukas May Date: Sat, 31 Jan 2026 19:23:44 +0100 Subject: [PATCH] test(db): add InitiativeRepository findByStatus tests - Test empty array for no matches - Test filtering by active/completed/archived status --- .../repositories/drizzle/initiative.test.ts | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/db/repositories/drizzle/initiative.test.ts b/src/db/repositories/drizzle/initiative.test.ts index c82a099..dd60411 100644 --- a/src/db/repositories/drizzle/initiative.test.ts +++ b/src/db/repositories/drizzle/initiative.test.ts @@ -121,4 +121,32 @@ describe('DrizzleInitiativeRepository', () => { ); }); }); + + describe('findByStatus', () => { + it('should return empty array for no matches', async () => { + await repo.create({ name: 'Active 1', status: 'active' }); + + const completed = await repo.findByStatus('completed'); + expect(completed).toEqual([]); + }); + + it('should filter by status', async () => { + await repo.create({ name: 'Active 1', status: 'active' }); + await repo.create({ name: 'Active 2', status: 'active' }); + await repo.create({ name: 'Completed', status: 'completed' }); + await repo.create({ name: 'Archived', status: 'archived' }); + + const active = await repo.findByStatus('active'); + expect(active).toHaveLength(2); + expect(active.every((i) => i.status === 'active')).toBe(true); + + const completed = await repo.findByStatus('completed'); + expect(completed).toHaveLength(1); + expect(completed[0].name).toBe('Completed'); + + const archived = await repo.findByStatus('archived'); + expect(archived).toHaveLength(1); + expect(archived[0].name).toBe('Archived'); + }); + }); });