66 lines
2.3 KiB
JavaScript
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)
|
|
})
|
|
})
|