jest.mock("uuid", () => ({ v4: jest.fn(() => "mocked-uuid"), })); jest.mock("@noble/post-quantum/ml-kem.js", () => ({ ml_kem768: { keygen: jest.fn(), encapsulate: jest.fn(), decapsulate: jest.fn(), }, })); jest.mock("jose", () => ({ SignJWT: jest.fn().mockReturnValue({ setProtectedHeader: jest.fn().mockReturnThis(), setIssuedAt: jest.fn().mockReturnThis(), setExpirationTime: jest.fn().mockReturnThis(), sign: jest.fn().mockResolvedValue("mocked-jwt"), }), jwtVerify: jest.fn(), })); import { Test, TestingModule } from "@nestjs/testing"; import { AuthGuard } from "../auth/guards/auth.guard"; import { RolesGuard } from "../auth/guards/roles.guard"; import { AdminController } from "./admin.controller"; import { AdminService } from "./admin.service"; describe("AdminController", () => { let controller: AdminController; let service: AdminService; const mockAdminService = { getStats: jest.fn(), }; beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ controllers: [AdminController], providers: [{ provide: AdminService, useValue: mockAdminService }], }) .overrideGuard(AuthGuard) .useValue({ canActivate: () => true }) .overrideGuard(RolesGuard) .useValue({ canActivate: () => true }) .compile(); controller = module.get(AdminController); service = module.get(AdminService); }); it("should be defined", () => { expect(controller).toBeDefined(); }); describe("getStats", () => { it("should call service.getStats", async () => { await controller.getStats(); expect(service.getStats).toHaveBeenCalled(); }); }); });