import { Test, TestingModule } from '@nestjs/testing'; import { INestApplication } from '@nestjs/common'; import * as request from 'supertest'; import { AppModule } from '../../src/app.module'; import { ValidationPipe } from '@nestjs/common'; import { TransformInterceptor } from '../../src/presentation/interceptors/transform.interceptor'; describe('CompanyController (e2e)', () => { let app: INestApplication; beforeEach(async () => { const moduleFixture: TestingModule = await Test.createTestingModule({ imports: [AppModule], }).compile(); app = moduleFixture.createNestApplication(); // Appliquer les mêmes pipes et intercepteurs que dans l'application principale app.useGlobalPipes( new ValidationPipe({ whitelist: true, transform: true, }), ); app.useGlobalInterceptors(new TransformInterceptor()); await app.init(); }); afterEach(async () => { await app.close(); }); it('/api/companies (GET)', () => { return request(app.getHttpServer()) .get('/api/companies') .expect(200) .expect((res) => { expect(Array.isArray(res.body)).toBe(true); }); }); // Ajoutez d'autres tests e2e selon vos besoins });