|
|
|
@ -11,15 +11,21 @@ describe('Database', () => {
|
|
|
|
|
initializeDatabase();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test('should create all required tables', () => {
|
|
|
|
|
test('should create all required tables with correct schema', () => {
|
|
|
|
|
// Verify tables exist
|
|
|
|
|
const tables = db
|
|
|
|
|
.query("SELECT name FROM sqlite_master WHERE type='table'")
|
|
|
|
|
.all()
|
|
|
|
|
.map((t: any) => t.name);
|
|
|
|
|
|
|
|
|
|
expect(tables).toContain('tasks');
|
|
|
|
|
expect(tables).toContain('task_assignments');
|
|
|
|
|
expect(tables).toContain('users');
|
|
|
|
|
expect(tables).toContain('groups');
|
|
|
|
|
expect(tables.sort()).toEqual(['groups', 'task_assignments', 'tasks', 'users'].sort());
|
|
|
|
|
|
|
|
|
|
// Verify tasks table schema
|
|
|
|
|
const tasksColumns = db
|
|
|
|
|
.query("PRAGMA table_info(tasks)")
|
|
|
|
|
.all()
|
|
|
|
|
.map((c: any) => c.name);
|
|
|
|
|
expect(tasksColumns).toContain('description');
|
|
|
|
|
expect(tasksColumns).toContain('due_date');
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|