63 lines
1.6 KiB
TypeScript
63 lines
1.6 KiB
TypeScript
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>(AdminController);
|
|
service = module.get<AdminService>(AdminService);
|
|
});
|
|
|
|
it("should be defined", () => {
|
|
expect(controller).toBeDefined();
|
|
});
|
|
|
|
describe("getStats", () => {
|
|
it("should call service.getStats", async () => {
|
|
await controller.getStats();
|
|
expect(service.getStats).toHaveBeenCalled();
|
|
});
|
|
});
|
|
});
|