From 1ef8ac55c7df15749fc568a8f7cd17432a64fffa Mon Sep 17 00:00:00 2001 From: "borja (aider)" Date: Sat, 29 Mar 2025 22:14:20 +0100 Subject: [PATCH] feat: add active column to groups table with default true --- src/db.ts | 3 ++- tests/unit/db.test.ts | 11 ++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/db.ts b/src/db.ts index 44041aa..b657162 100644 --- a/src/db.ts +++ b/src/db.ts @@ -34,7 +34,8 @@ export function initializeDatabase() { id TEXT PRIMARY KEY, community_id TEXT NOT NULL, name TEXT, - last_verified TIMESTAMP DEFAULT CURRENT_TIMESTAMP + last_verified TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + active BOOLEAN DEFAULT TRUE ); `); } diff --git a/tests/unit/db.test.ts b/tests/unit/db.test.ts index 74781f4..91ca8c3 100644 --- a/tests/unit/db.test.ts +++ b/tests/unit/db.test.ts @@ -31,12 +31,13 @@ describe('Database', () => { expect(tasksColumns).toContain('description'); expect(tasksColumns).toContain('due_date'); - // Verify groups table has last_verified column + // Verify groups table columns const groupsColumns = db .query("PRAGMA table_info(groups)") .all() .map((c: any) => c.name); expect(groupsColumns).toContain('last_verified'); + expect(groupsColumns).toContain('active'); // Verify foreign key constraint const fkInfo = db @@ -46,5 +47,13 @@ describe('Database', () => { expect(fkInfo[0].from).toBe('task_id'); expect(fkInfo[0].to).toBe('id'); expect(fkInfo[0].table).toBe('tasks'); + + // Verify default active status + db.exec(` + INSERT INTO groups (id, community_id, name) + VALUES ('test-group', 'test-community', 'Test Group') + `); + const group = db.query("SELECT active FROM groups WHERE id = 'test-group'").get(); + expect(group.active).toBe(1); // SQLite stores TRUE as 1 }); });