4NK_IA_front/tests/final-validation.test.js

66 lines
2.3 KiB
JavaScript

/**
* 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)
})
})