import request from 'supertest'; import express from 'express'; // Mock simple des routes sans dépendances externes const mockRoutes = express.Router(); mockRoutes.get('/', (req, res) => { res.json({ message: 'LeCoffre Backend API', version: '1.0.0', status: 'running', endpoints: { health: '/api/v1/health', funds: '/api/v1/funds', sms: '/api/sms', idnot: '/api/v1/idnot', process: '/api/v1/process', email: '/api/email', stripe: '/api/stripe', subscription: '/api/subscription' } }); }); mockRoutes.get('/api/v1/health', (req, res) => { res.json({ status: 'healthy', timestamp: new Date().toISOString(), uptime: process.uptime() }); }); describe('API Integration Tests', () => { let app: express.Application; beforeAll(() => { app = express(); app.use(express.json()); app.use('/', mockRoutes); }); describe('Health Check', () => { it('devrait retourner le statut du service', async () => { const response = await request(app) .get('/api/v1/health'); expect(response.status).toBe(200); expect(response.body.status).toBe('healthy'); }); }); describe('Root Endpoint', () => { it('devrait retourner la documentation de l\'API', async () => { const response = await request(app) .get('/'); expect(response.status).toBe(200); expect(response.body.message).toBe('LeCoffre Backend API'); expect(response.body.version).toBe('1.0.0'); expect(response.body.endpoints).toBeDefined(); }); }); });