feat: import job runner in-memory

- Añade ImportRunner en memoria con concurrencia configurable
- Tests TDD para enqueue, concurrencia y comportamiento tras stop
- Actualiza /api/import/scan para encolar jobs y registrar errores
- Ajusta tsconfig.json para incluir tests en comprobaciones de tipo
This commit is contained in:
2026-02-08 22:24:56 +01:00
parent 1a42422c7e
commit 4298b003d9
20 changed files with 696 additions and 1 deletions

View File

@@ -0,0 +1,19 @@
import { describe, it, expect } from 'vitest';
import { buildApp } from '../../src/app';
describe('routes/import', () => {
it('POST /api/import/scan devuelve 202 o 200', async () => {
const app = buildApp();
await app.ready();
const res = await app.inject({
method: 'POST',
url: '/api/import/scan',
payload: { persist: false },
});
expect([200, 202]).toContain(res.statusCode);
await app.close();
});
});