fix tests

This commit is contained in:
Kirill Ivlev 2024-11-11 18:24:57 +04:00
parent 59f32b94d9
commit 41388c035b
6 changed files with 32 additions and 4 deletions

16
package-lock.json generated
View file

@ -29,6 +29,7 @@
"class-transformer": "^0.5.1", "class-transformer": "^0.5.1",
"cyrillic-to-translit-js": "^3.2.1", "cyrillic-to-translit-js": "^3.2.1",
"dotenv": "^16.3.1", "dotenv": "^16.3.1",
"husky": "^9.1.6",
"latin-to-cyrillic": "^1.0.1", "latin-to-cyrillic": "^1.0.1",
"mongodb": "^6.2.0", "mongodb": "^6.2.0",
"mongoose": "^8.0.0", "mongoose": "^8.0.0",
@ -5552,6 +5553,21 @@
"ms": "^2.0.0" "ms": "^2.0.0"
} }
}, },
"node_modules/husky": {
"version": "9.1.6",
"resolved": "https://registry.npmjs.org/husky/-/husky-9.1.6.tgz",
"integrity": "sha512-sqbjZKK7kf44hfdE94EoX8MZNk0n7HeW37O4YrVGCF4wzgQjp+akPAkfUK5LZ6KuR/6sqeAVuXHji+RzQgOn5A==",
"license": "MIT",
"bin": {
"husky": "bin.js"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/typicode"
}
},
"node_modules/iconv-lite": { "node_modules/iconv-lite": {
"version": "0.4.24", "version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",

View file

@ -41,6 +41,7 @@
"class-transformer": "^0.5.1", "class-transformer": "^0.5.1",
"cyrillic-to-translit-js": "^3.2.1", "cyrillic-to-translit-js": "^3.2.1",
"dotenv": "^16.3.1", "dotenv": "^16.3.1",
"husky": "^9.1.6",
"latin-to-cyrillic": "^1.0.1", "latin-to-cyrillic": "^1.0.1",
"mongodb": "^6.2.0", "mongodb": "^6.2.0",
"mongoose": "^8.0.0", "mongoose": "^8.0.0",
@ -89,5 +90,8 @@
], ],
"coverageDirectory": "../coverage", "coverageDirectory": "../coverage",
"testEnvironment": "node" "testEnvironment": "node"
},
"hooks": {
"pre-commit": "npm run test"
} }
} }

View file

@ -1,4 +1,4 @@
export const FeatureflagServiceMock = { export const FeatureflagServiceMock = {
getFeatureFlag: jest.fn(), getFeatureFlag: jest.fn(() => Promise.resolve(false)),
setFeatureFlag: jest.fn(), setFeatureFlag: jest.fn(() => Promise.resolve(false))
} }

View file

@ -11,6 +11,8 @@ import {SharedServiceMock} from "../mocks/shared-service.mock";
import {CommandBus, EventBus} from "@nestjs/cqrs"; import {CommandBus, EventBus} from "@nestjs/cqrs";
import {EventbusMock} from "../mocks/eventbus.mock"; import {EventbusMock} from "../mocks/eventbus.mock";
import {CommandbusMock} from "../mocks/commandbus.mock"; import {CommandbusMock} from "../mocks/commandbus.mock";
import {FeatureflagService} from "../featureflag/featureflag.service";
import {FeatureflagServiceMock} from "../mocks/featureflag-service.mock";
describe('QuizService', () => { describe('QuizService', () => {
let service: QuizService; let service: QuizService;
@ -24,7 +26,8 @@ describe('QuizService', () => {
{ provide: GuestsService, useValue: GuestsServiceMock }, { provide: GuestsService, useValue: GuestsServiceMock },
{ provide: SharedService, useValue: SharedServiceMock }, { provide: SharedService, useValue: SharedServiceMock },
{ provide: EventBus, useValue: EventbusMock }, { provide: EventBus, useValue: EventbusMock },
{ provide: CommandBus, useValue: CommandbusMock } { provide: CommandBus, useValue: CommandbusMock },
{ provide: FeatureflagService, useValue: FeatureflagServiceMock }
], ],
}).compile(); }).compile();

View file

@ -5,11 +5,14 @@ import {VoiceServiceMock} from "../mocks/voice-service.mock";
import {Config} from "../schemas/config.schema"; import {Config} from "../schemas/config.schema";
import {ConfigService} from "@nestjs/config"; import {ConfigService} from "@nestjs/config";
import {ConfigServiceMock} from "../mocks/config-service.mock"; import {ConfigServiceMock} from "../mocks/config-service.mock";
import {FeatureflagService} from "../featureflag/featureflag.service";
import {FeatureflagServiceMock} from "../mocks/featureflag-service.mock";
describe('VoiceController', () => { describe('VoiceController', () => {
let controller: VoiceController; let controller: VoiceController;
let voiceService: VoiceService; let voiceService: VoiceService;
let configService: ConfigService; let configService: ConfigService;
let featureflagService: FeatureflagService;
beforeEach(async () => { beforeEach(async () => {
jest.clearAllMocks(); jest.clearAllMocks();
@ -20,12 +23,14 @@ describe('VoiceController', () => {
providers: [ providers: [
{ provide: VoiceService, useValue: VoiceServiceMock }, { provide: VoiceService, useValue: VoiceServiceMock },
{ provide: ConfigService, useValue: ConfigServiceMock }, { provide: ConfigService, useValue: ConfigServiceMock },
{ provide: FeatureflagService, useValue: FeatureflagServiceMock },
] ]
}).compile(); }).compile();
controller = module.get<VoiceController>(VoiceController); controller = module.get<VoiceController>(VoiceController);
voiceService = module.get<VoiceService>(VoiceService); voiceService = module.get<VoiceService>(VoiceService);
configService = module.get<ConfigService>(ConfigService); configService = module.get<ConfigService>(ConfigService);
}); });
it('should be defined', () => { it('should be defined', () => {

View file

@ -13,7 +13,7 @@ export class VoiceService {
private apiUrl = 'https://tts.api.cloud.yandex.net/speech/v1/tts:synthesize'; private apiUrl = 'https://tts.api.cloud.yandex.net/speech/v1/tts:synthesize';
private apiKey: string; private apiKey: string;
private readonly logger = new Logger(VoiceService.name); private readonly logger = new Logger(VoiceService.name);
constructor(private httpService: HttpService, private configService: ConfigService, private featureFlagService: FeatureflagService) { constructor(private httpService: HttpService, private configService: ConfigService) {
this.apiKey = this.configService.get<string>("VOICE_APIKEY"); this.apiKey = this.configService.get<string>("VOICE_APIKEY");
} }