35 lines
1023 B
TypeScript
35 lines
1023 B
TypeScript
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
import type { Server } from 'http';
|
|
import { startServer, stopServer } from './test-utils.js';
|
|
|
|
describe.sequential('Database API routes', () => {
|
|
let server: Server;
|
|
let baseUrl: string;
|
|
let closeDb: () => void;
|
|
let tempDir: string;
|
|
|
|
beforeEach(async () => {
|
|
({ server, baseUrl, closeDb, tempDir } = await startServer());
|
|
});
|
|
|
|
afterEach(async () => {
|
|
await stopServer({ server, closeDb, tempDir });
|
|
});
|
|
|
|
it('clears jobs and pipeline runs', async () => {
|
|
const { createJob } = await import('../../repositories/jobs.js');
|
|
await createJob({
|
|
source: 'manual',
|
|
title: 'Cleanup Role',
|
|
employer: 'Acme',
|
|
jobUrl: 'https://example.com/job/cleanup',
|
|
jobDescription: 'Test description',
|
|
});
|
|
|
|
const res = await fetch(`${baseUrl}/api/database`, { method: 'DELETE' });
|
|
const body = await res.json();
|
|
expect(body.success).toBe(true);
|
|
expect(body.data.jobsDeleted).toBe(1);
|
|
});
|
|
});
|