Merge pull request #254 from yathoo88/develop_backend_yhs

[BE-test] Add sample test file ( QTT-05, QTT-06 )
This commit is contained in:
HeeseonYoon
2022-11-09 13:38:20 +09:00
committed by GitHub
2 changed files with 84 additions and 6 deletions

View File

@@ -9,10 +9,11 @@ import { getTestMysqlModule } from '../util/get-test-mysql.module';
import { TemplateModule } from '../../src/template/template.module';
import { ConfigModule } from '@nestjs/config';
describe('사용자 추천 템플릿의 종류를 확인', () => {
describe('QTT-005 : 사용자 추천 템플릿의 종류를 확인', () => {
let templateService: TemplateService;
beforeEach(async () => {
let templateList;
beforeAll(async () => {
const module: TestingModule = await Test.createTestingModule({
imports: [
TemplateModule,
@@ -27,10 +28,18 @@ describe('사용자 추천 템플릿의 종류를 확인', () => {
}).compile();
templateService = module.get<TemplateService>(TemplateService);
}, 10000);
}, 100000);
it('should be defined', async () => {
const templateList = await templateService.findAll();
return expect(templateList.data.length).toEqual(10);
it('QTT-005-01 : 템플릿 종류 10개 확인', async () => {
const templateResult = await templateService.findAll();
templateList = templateResult.data;
return expect(templateList.length).toEqual(10);
});
afterEach(async () => {
const templateDetail = await templateService.findOne(templateList[0].id);
console.log(':::::::::::::::::::::::::::::template detail:::::::::::::::::::::::::::::');
console.log(templateDetail.data);
});
});

View File

@@ -0,0 +1,69 @@
import { Test, TestingModule } from '@nestjs/testing';
import { TemplateService } from '../../src/template/template.service';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Template } from '../../src/template/entities/template.entity';
import { TemplateItem } from '../../src/template/entities/template-item.entity';
import { Widget } from '../../src/widget/entities/widget.entity';
import { Component } from '../../src/component/entities/component.entity';
import { getTestMysqlModule } from '../util/get-test-mysql.module';
import { TemplateModule } from '../../src/template/template.module';
import { ConfigModule } from '@nestjs/config';
describe('QTT-006 : 대시보드 템플릿 추천 알고리즘 존재 여부를 확인', () => {
let templateService: TemplateService;
let templateList01, templateList02;
beforeAll(async () => {
const module: TestingModule = await Test.createTestingModule({
imports: [
TemplateModule,
ConfigModule.forRoot({
isGlobal: true,
envFilePath: '.env.dev',
}),
getTestMysqlModule(),
TypeOrmModule.forFeature([Template, TemplateItem, Widget, Component]),
],
providers: [TemplateService],
}).compile();
templateService = module.get<TemplateService>(TemplateService);
}, 100000);
it.each([
['01 : 서로 다른 타입의 위젯 목록', [107, 108, 111, 112, 113]],
['02 : 바차트 타입의 위젯 목록', [107, 108]],
['03 : 알고리즘 범위를 벗어난 위젯 목록', [116, 117, 118, 119, 120, 121, 122, 123, 124, 125]],
])('QTT-006-%s', async (title: string, widgets) => {
const templateResult = await templateService.findRecommendTemplates(widgets);
templateList01 = templateResult.data;
return expect(templateList01.length).toEqual(10);
});
// it('QTT-006-01 : 서로 다른 타입의 위젯 목록', async () => {
// const templateResult = await templateService.findRecommendTemplates([107, 108, 111, 112, 113]);
// templateList01 = templateResult.data;
//
// return expect(templateList01.length).toEqual(10);
// });
//
// it('QTT-006-02 : 바차트 타입의 위젯 목록', async () => {
// const templateResult = await templateService.findRecommendTemplates([107, 108]);
// templateList02 = templateResult.data;
//
// return expect(templateList02.length).toEqual(10);
// });
//
// it('QTT-006-03 : 알고리즘 범위를 벗어난 위젯 목록', async () => {
// const templateResult = await templateService.findRecommendTemplates([
// 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
// ]);
// const templateList = templateResult.data;
// //
// // const templateDetail = await templateService.findOne(templateList[0].id);
// // console.log(':::::::::::::::::::::::::::::template detail:::::::::::::::::::::::::::::');
// // console.log(templateDetail);
//
// return expect(templateList.length).toEqual(10);
// });
});