- Alignement backend: seules 4 entités retournées (persons, companies, addresses, contractual) - Version API mise à jour à 1.0.1 dans /api/health - Interface onglets d entités: Personnes, Adresses, Entreprises, Contractuel - Correction erreurs TypeScript pour build stricte - Tests et documentation mis à jour - CHANGELOG.md mis à jour avec version 1.1.1
89 lines
2.8 KiB
JavaScript
89 lines
2.8 KiB
JavaScript
/**
|
|
* Tests des API endpoints
|
|
*/
|
|
|
|
const { describe, it, expect, beforeEach, afterEach } = require('vitest')
|
|
const request = require('supertest')
|
|
const app = require('../backend/server')
|
|
|
|
describe('API Endpoints', () => {
|
|
describe('Health Check', () => {
|
|
it('devrait retourner le statut de santé', async () => {
|
|
const response = await request(app)
|
|
.get('/api/health')
|
|
.expect(200)
|
|
|
|
expect(response.body).toHaveProperty('status', 'OK')
|
|
expect(response.body).toHaveProperty('timestamp')
|
|
expect(response.body).toHaveProperty('version')
|
|
expect(response.body).toHaveProperty('metrics')
|
|
})
|
|
})
|
|
|
|
describe('Upload de fichiers', () => {
|
|
it('devrait accepter un fichier image', async () => {
|
|
// Test avec un fichier de test
|
|
const response = await request(app)
|
|
.post('/api/extract')
|
|
.attach('document', 'tests/fixtures/test-image.jpg')
|
|
.field('folderHash', 'test-folder')
|
|
.expect(200)
|
|
|
|
expect(response.body).toHaveProperty('success', true)
|
|
expect(response.body).toHaveProperty('fileHash')
|
|
expect(response.body).toHaveProperty('extraction')
|
|
})
|
|
|
|
it('devrait rejeter les fichiers non supportés', async () => {
|
|
const response = await request(app)
|
|
.post('/api/extract')
|
|
.attach('document', 'tests/fixtures/test-file.txt')
|
|
.field('folderHash', 'test-folder')
|
|
.expect(400)
|
|
|
|
expect(response.body).toHaveProperty('success', false)
|
|
expect(response.body).toHaveProperty('error')
|
|
})
|
|
})
|
|
|
|
describe('Gestion des dossiers', () => {
|
|
it('devrait lister les dossiers', async () => {
|
|
const response = await request(app)
|
|
.get('/api/folders')
|
|
.expect(200)
|
|
|
|
expect(Array.isArray(response.body)).toBe(true)
|
|
})
|
|
|
|
it('devrait retourner les résultats d\'un dossier', async () => {
|
|
const response = await request(app)
|
|
.get('/api/folders/test-folder/results')
|
|
.expect(200)
|
|
|
|
expect(response.body).toHaveProperty('folderHash')
|
|
expect(response.body).toHaveProperty('documents')
|
|
expect(Array.isArray(response.body.documents)).toBe(true)
|
|
})
|
|
})
|
|
|
|
describe('Enrichissement', () => {
|
|
it('devrait démarrer l\'enrichissement d\'une personne', async () => {
|
|
const response = await request(app)
|
|
.post('/api/folders/test-folder/files/test-file/enrich/person')
|
|
.expect(200)
|
|
|
|
expect(response.body).toHaveProperty('success', true)
|
|
expect(response.body).toHaveProperty('message')
|
|
})
|
|
|
|
it('devrait retourner le statut d\'enrichissement', async () => {
|
|
const response = await request(app)
|
|
.get('/api/folders/test-folder/files/test-file/enrich/person/status')
|
|
.expect(200)
|
|
|
|
expect(response.body).toHaveProperty('success', true)
|
|
expect(response.body).toHaveProperty('state')
|
|
})
|
|
})
|
|
})
|