diff --git a/backend-api/test/QTT-005/QTT-005-01.spec.ts b/backend-api/test/QTT-005/QTT-005-01.spec.ts index ce7d5a6..f547fac 100644 --- a/backend-api/test/QTT-005/QTT-005-01.spec.ts +++ b/backend-api/test/QTT-005/QTT-005-01.spec.ts @@ -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); - }, 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); }); }); diff --git a/backend-api/test/QTT-006/QTT-006.spec.ts b/backend-api/test/QTT-006/QTT-006.spec.ts new file mode 100644 index 0000000..57ba574 --- /dev/null +++ b/backend-api/test/QTT-006/QTT-006.spec.ts @@ -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); + }, 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); + // }); +});