feat: implement QuestionBank CRUD with pagination and template query

- Add pagination support to findAll (page, limit query params)
- Add findByTemplateId method to service
- Add GET /by-template/:templateId endpoint to controller
- Service already includes CRUD for QuestionBank and QuestionBankItem
This commit is contained in:
Developer
2026-04-23 17:19:11 +08:00
commit 0a9588abb7
492 changed files with 112453 additions and 0 deletions
@@ -0,0 +1,39 @@
import { Test, TestingModule } from '@nestjs/testing';
import { Reflector } from '@nestjs/core';
import { AssessmentController } from './assessment.controller';
import { AssessmentService } from './assessment.service';
import { TenantService } from '../tenant/tenant.service';
import { UserService } from '../user/user.service';
import { CombinedAuthGuard } from '../auth/combined-auth.guard';
describe('AssessmentController', () => {
let controller: AssessmentController;
const mockService = () => ({});
const mockReflector = () => ({
get: jest.fn(),
getAllAndOverride: jest.fn(),
});
const mockGuard = () => ({
canActivate: jest.fn().mockReturnValue(true),
});
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [AssessmentController],
providers: [
{ provide: AssessmentService, useFactory: mockService },
{ provide: 'UserService', useFactory: mockService },
{ provide: TenantService, useFactory: mockService },
{ provide: Reflector, useFactory: mockReflector },
{ provide: CombinedAuthGuard, useFactory: mockGuard },
],
}).compile();
controller = module.get<AssessmentController>(AssessmentController);
});
it('should be defined', () => {
expect(controller).toBeDefined();
});
});