import { INestApplication } from "@nestjs/common"; import { Test, TestingModule } from "@nestjs/testing"; import request from "supertest"; import { App } from "supertest/types"; import { AppController } from "./../src/app.controller.js"; import { AppService } from "./../src/app.service.js"; import { SyncService } from "./../src/sync/sync.service.js"; describe("AppController (e2e)", () => { let app: INestApplication; beforeEach(async () => { const moduleFixture: TestingModule = await Test.createTestingModule({ controllers: [AppController], providers: [ AppService, { provide: SyncService, useValue: { checkS3Connectivity: async () => true, }, }, ], }).compile(); app = moduleFixture.createNestApplication(); await app.listen(0); }); afterEach(async () => { await app.close(); }); it("/ (GET)", () => { return request(app.getHttpServer()) .get("/") .expect(200) .expect("Donut Sync Service"); }); it("/health (GET)", () => { return request(app.getHttpServer()) .get("/health") .expect(200) .expect({ status: "ok" }); }); });