68 lines
2.2 KiB
TypeScript
68 lines
2.2 KiB
TypeScript
import { Test, TestingModule } from '@nestjs/testing';
|
|
import { SettingsController } from './settings.controller';
|
|
import { SettingsService } from './settings.service';
|
|
|
|
describe('SettingsController', () => {
|
|
let controller: SettingsController;
|
|
let service: SettingsService;
|
|
|
|
const mockSettingsService = {
|
|
getUiTexts: jest.fn().mockResolvedValue([{ key: 'k', value: 'v' }]),
|
|
updateUiText: jest.fn().mockResolvedValue({ key: 'k', value: 'v' }),
|
|
getScientificTerms: jest.fn().mockResolvedValue([{ key: 'k' }]),
|
|
upsertScientificTerm: jest.fn().mockResolvedValue({ key: 'k' }),
|
|
deleteScientificTerm: jest.fn().mockResolvedValue({ success: true }),
|
|
};
|
|
|
|
beforeEach(async () => {
|
|
const module: TestingModule = await Test.createTestingModule({
|
|
controllers: [SettingsController],
|
|
providers: [
|
|
{ provide: SettingsService, useValue: mockSettingsService },
|
|
],
|
|
}).compile();
|
|
|
|
controller = module.get<SettingsController>(SettingsController);
|
|
service = module.get<SettingsService>(SettingsService);
|
|
});
|
|
|
|
afterEach(() => {
|
|
jest.clearAllMocks();
|
|
});
|
|
|
|
it('should be defined', () => {
|
|
expect(controller).toBeDefined();
|
|
});
|
|
|
|
it('should getUiTexts', async () => {
|
|
const result = await controller.getUiTexts();
|
|
expect(service.getUiTexts).toHaveBeenCalled();
|
|
expect(result).toHaveLength(1);
|
|
});
|
|
|
|
it('should updateUiText', async () => {
|
|
const result = await controller.updateUiText('k', 'v');
|
|
expect(service.updateUiText).toHaveBeenCalledWith('k', 'v');
|
|
expect(result.key).toBe('k');
|
|
});
|
|
|
|
it('should getScientificTerms', async () => {
|
|
const result = await controller.getScientificTerms();
|
|
expect(service.getScientificTerms).toHaveBeenCalled();
|
|
expect(result).toHaveLength(1);
|
|
});
|
|
|
|
it('should upsertScientificTerm', async () => {
|
|
const data = { term: 't', definition: 'd' };
|
|
const result = await controller.upsertScientificTerm('k', data);
|
|
expect(service.upsertScientificTerm).toHaveBeenCalledWith('k', data);
|
|
expect(result.key).toBe('k');
|
|
});
|
|
|
|
it('should deleteScientificTerm', async () => {
|
|
const result = await controller.deleteScientificTerm('k');
|
|
expect(service.deleteScientificTerm).toHaveBeenCalledWith('k');
|
|
expect(result).toBeDefined();
|
|
});
|
|
});
|