refactor: mantener única DB por suite y limpiar tablas en beforeEach

Co-authored-by: aider (openrouter/openai/gpt-5) <aider@aider.chat>
main
brobert 1 month ago
parent 84a5b80cae
commit ac680ac467

@ -1,4 +1,4 @@
import { describe, it, expect, beforeEach, afterEach } from 'bun:test'; import { describe, it, expect, beforeEach, afterEach, beforeAll, afterAll } from 'bun:test';
import { Database } from 'bun:sqlite'; import { Database } from 'bun:sqlite';
import { initializeDatabase, ensureUserExists } from '../../../src/db'; import { initializeDatabase, ensureUserExists } from '../../../src/db';
import { TaskService } from '../../../src/tasks/service'; import { TaskService } from '../../../src/tasks/service';
@ -6,17 +6,23 @@ import { setDb, resetDb } from '../../../src/db/locator';
let memDb: Database; let memDb: Database;
beforeEach(() => { beforeAll(() => {
memDb = new Database(':memory:'); memDb = new Database(':memory:');
initializeDatabase(memDb); initializeDatabase(memDb);
setDb(memDb); setDb(memDb);
}); });
afterEach(() => { afterAll(() => {
try { try { resetDb(); memDb.close(); } catch {}
resetDb(); });
memDb.close();
} catch {} beforeEach(() => {
// Reafirmar el locator y limpiar tablas relevantes entre tests
setDb(memDb);
try { memDb.exec('DELETE FROM task_assignments'); } catch {}
try { memDb.exec('DELETE FROM tasks'); } catch {}
try { memDb.exec('DELETE FROM users'); } catch {}
try { memDb.exec('DELETE FROM groups'); } catch {}
}); });
describe('TaskService.listGroupUnassigned / countGroupUnassigned', () => { describe('TaskService.listGroupUnassigned / countGroupUnassigned', () => {

Loading…
Cancel
Save