/** * Test de validation finale du système */ import { describe, it, expect } from 'vitest' describe('Validation finale du système', () => { it('devrait avoir une configuration Vitest valide', () => { // Vérifier que la configuration Vitest est présente expect(true).toBe(true) // Test basique pour vérifier que Vitest fonctionne }) it('devrait avoir des mocks d\'APIs externes', async () => { // Vérifier que les mocks sont disponibles const { mockBodaccResponse } = await import('./mocks/external-apis.js') expect(mockBodaccResponse).toHaveProperty('success', true) expect(mockBodaccResponse).toHaveProperty('nom', 'DUPONT') expect(mockBodaccResponse).toHaveProperty('prenom', 'Jean') }) it('devrait avoir un service systemd configuré', () => { // Vérifier que les fichiers de service systemd existent const fs = require('fs') const path = require('path') const serviceFile = path.join(process.cwd(), '4nk-ia-backend.service') const installScript = path.join(process.cwd(), 'scripts', 'install-systemd.sh') expect(fs.existsSync(serviceFile)).toBe(true) expect(fs.existsSync(installScript)).toBe(true) }) it('devrait avoir une build TypeScript fonctionnelle', () => { // Vérifier que le package.json contient les scripts de build const fs = require('fs') const packageJson = JSON.parse(fs.readFileSync('package.json', 'utf8')) expect(packageJson.scripts).toHaveProperty('build') expect(packageJson.scripts).toHaveProperty('test:all') expect(packageJson.scripts).toHaveProperty('test:collectors') }) it('devrait avoir une documentation générique', () => { // Vérifier que la documentation ne contient plus de références spécifiques const fs = require('fs') const path = require('path') const docsDir = path.join(process.cwd(), 'docs') const files = fs.readdirSync(docsDir) let hasGenericDocs = false files.forEach(file => { if (file.endsWith('.md')) { const content = fs.readFileSync(path.join(docsDir, file), 'utf8') // Vérifier qu'il n'y a pas de références spécifiques à Nicolas Cantu if (!content.includes('Nicolas Cantu') && !content.includes('CANTU/NICOLAS')) { hasGenericDocs = true } } }) expect(hasGenericDocs).toBe(true) }) })