|
|
|
@ -1,7 +1,6 @@
|
|
|
|
import { beforeEach, afterEach, describe, expect, it } from 'bun:test';
|
|
|
|
import { beforeEach, afterEach, describe, expect, it } from 'bun:test';
|
|
|
|
import { createTempDb } from './helpers/db';
|
|
|
|
import { createTempDb } from './helpers/db';
|
|
|
|
import { closeDb } from '../../apps/web/src/lib/server/db.ts';
|
|
|
|
// Los imports del handler y closeDb se hacen dinámicos dentro de cada test/teardown
|
|
|
|
import { POST as completeHandler } from '../../apps/web/src/routes/api/tasks/[id]/complete/+server.ts';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function toIsoSql(d: Date): string {
|
|
|
|
function toIsoSql(d: Date): string {
|
|
|
|
return d.toISOString().replace('T', ' ').replace('Z', '');
|
|
|
|
return d.toISOString().replace('T', ' ').replace('Z', '');
|
|
|
|
@ -35,9 +34,12 @@ describe('Web API - completar tarea encola reacción ✅', () => {
|
|
|
|
db.prepare(`INSERT OR REPLACE INTO group_members (group_id, user_id, is_admin, is_active) VALUES (?, ?, 0, 1)`).run(GROUP_ID, USER);
|
|
|
|
db.prepare(`INSERT OR REPLACE INTO group_members (group_id, user_id, is_admin, is_active) VALUES (?, ?, 0, 1)`).run(GROUP_ID, USER);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
afterEach(() => {
|
|
|
|
afterEach(async () => {
|
|
|
|
// Cerrar la conexión singleton de la web antes de borrar el archivo
|
|
|
|
// Cerrar la conexión singleton de la web antes de borrar el archivo
|
|
|
|
try { closeDb(); } catch {}
|
|
|
|
try {
|
|
|
|
|
|
|
|
const { closeDb } = await import('../../apps/web/src/lib/server/db.ts');
|
|
|
|
|
|
|
|
closeDb();
|
|
|
|
|
|
|
|
} catch {}
|
|
|
|
if (cleanup) cleanup();
|
|
|
|
if (cleanup) cleanup();
|
|
|
|
// Limpiar env relevantes
|
|
|
|
// Limpiar env relevantes
|
|
|
|
delete process.env.DB_PATH;
|
|
|
|
delete process.env.DB_PATH;
|
|
|
|
@ -68,6 +70,10 @@ describe('Web API - completar tarea encola reacción ✅', () => {
|
|
|
|
params: { id: String(taskId) },
|
|
|
|
params: { id: String(taskId) },
|
|
|
|
request: new Request('http://localhost', { method: 'POST' })
|
|
|
|
request: new Request('http://localhost', { method: 'POST' })
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
const { POST: completeHandler } = await import('../../apps/web/src/routes/api/tasks/[id]/complete/+server.ts');
|
|
|
|
|
|
|
|
const { POST: completeHandler } = await import('../../apps/web/src/routes/api/tasks/[id]/complete/+server.ts');
|
|
|
|
|
|
|
|
const { POST: completeHandler } = await import('../../apps/web/src/routes/api/tasks/[id]/complete/+server.ts');
|
|
|
|
|
|
|
|
const { POST: completeHandler } = await import('../../apps/web/src/routes/api/tasks/[id]/complete/+server.ts');
|
|
|
|
const res = await completeHandler(event);
|
|
|
|
const res = await completeHandler(event);
|
|
|
|
expect(res.status).toBe(200);
|
|
|
|
expect(res.status).toBe(200);
|
|
|
|
const payload = await res.json();
|
|
|
|
const payload = await res.json();
|
|
|
|
|