@@ -4,24 +4,36 @@ import { PrismaService } from '../prisma/prisma.service';
44import { CreateTestRequestDto } from '../test/dto/create-test-request.dto' ;
55import { StaticService } from '../shared/static/static.service' ;
66import { IgnoreAreaDto } from 'src/test/dto/ignore-area.dto' ;
7+ import { TestVariation , Baseline } from '@prisma/client' ;
78
89const initModule = async ( {
9- findOneMock = jest . fn ,
10- findManyMock = jest . fn ( ) . mockReturnValue ( [ ] ) ,
11- createMock = jest . fn ( ) ,
12- updateMock = jest . fn ( )
10+ imageDeleteMock = jest . fn ( ) ,
11+ variationFindOneMock = jest . fn ,
12+ variationFindManyMock = jest . fn ( ) . mockReturnValue ( [ ] ) ,
13+ variationCreateMock = jest . fn ( ) ,
14+ variationUpdateMock = jest . fn ( ) ,
15+ variationDeleteMock = jest . fn ( ) ,
16+ baselineDeleteMock = jest . fn ( )
1317} ) => {
1418 const module : TestingModule = await Test . createTestingModule ( {
1519 providers : [
1620 TestVariationsService ,
17- { provide : StaticService , useValue : { } } ,
21+ {
22+ provide : StaticService , useValue : {
23+ deleteImage : imageDeleteMock
24+ }
25+ } ,
1826 {
1927 provide : PrismaService , useValue : {
2028 testVariation : {
21- findOne : findOneMock ,
22- findMany : findManyMock ,
23- create : createMock ,
24- update : updateMock ,
29+ findOne : variationFindOneMock ,
30+ findMany : variationFindManyMock ,
31+ create : variationCreateMock ,
32+ update : variationUpdateMock ,
33+ delete : variationDeleteMock ,
34+ } ,
35+ baseline : {
36+ delete : baselineDeleteMock
2537 }
2638 }
2739 } ,
@@ -55,12 +67,12 @@ describe('TestVariationsService', () => {
5567 describe ( 'getDetails' , ( ) => {
5668 it ( 'can find one' , async ( ) => {
5769 const id = 'test id'
58- const findOneMock = jest . fn ( )
59- service = await initModule ( { findOneMock } )
70+ const variationFindOneMock = jest . fn ( )
71+ service = await initModule ( { variationFindOneMock } )
6072
6173 await service . getDetails ( id )
6274
63- expect ( findOneMock ) . toHaveBeenCalledWith ( {
75+ expect ( variationFindOneMock ) . toHaveBeenCalledWith ( {
6476 where : { id } ,
6577 include : {
6678 baselines : {
@@ -80,12 +92,12 @@ describe('TestVariationsService', () => {
8092
8193 it ( 'can find by required fields' , async ( ) => {
8294 const data = dataRequiredFields
83- const findManyMock = jest . fn ( )
84- service = await initModule ( { findManyMock : findManyMock . mockResolvedValueOnce ( [ data ] ) } )
95+ const variationFindManyMock = jest . fn ( )
96+ service = await initModule ( { variationFindManyMock : variationFindManyMock . mockResolvedValueOnce ( [ data ] ) } )
8597
8698 const result = await service . findOrCreate ( data )
8799
88- expect ( findManyMock ) . toHaveBeenCalledWith ( {
100+ expect ( variationFindManyMock ) . toHaveBeenCalledWith ( {
89101 where : {
90102 name : data . name ,
91103 projectId : data . projectId ,
@@ -100,12 +112,12 @@ describe('TestVariationsService', () => {
100112
101113 it ( 'can find by all fields' , async ( ) => {
102114 const data = dataAllFields
103- const findManyMock = jest . fn ( )
104- service = await initModule ( { findManyMock : findManyMock . mockResolvedValueOnce ( [ data ] ) } )
115+ const variationFindManyMock = jest . fn ( )
116+ service = await initModule ( { variationFindManyMock : variationFindManyMock . mockResolvedValueOnce ( [ data ] ) } )
105117
106118 const result = await service . findOrCreate ( data )
107119
108- expect ( findManyMock ) . toHaveBeenCalledWith ( {
120+ expect ( variationFindManyMock ) . toHaveBeenCalledWith ( {
109121 where : {
110122 name : data . name ,
111123 projectId : data . projectId ,
@@ -120,12 +132,12 @@ describe('TestVariationsService', () => {
120132
121133 it ( 'can create if not found' , async ( ) => {
122134 const data = dataAllFields
123- const createMock = jest . fn ( )
124- service = await initModule ( { createMock : createMock . mockResolvedValueOnce ( data ) } )
135+ const variationCreateMock = jest . fn ( )
136+ service = await initModule ( { variationCreateMock : variationCreateMock . mockResolvedValueOnce ( data ) } )
125137
126138 const result = await service . findOrCreate ( data )
127139
128- expect ( createMock ) . toHaveBeenCalledWith ( {
140+ expect ( variationCreateMock ) . toHaveBeenCalledWith ( {
129141 data : {
130142 name : data . name ,
131143 os : data . os ,
@@ -154,12 +166,12 @@ describe('TestVariationsService', () => {
154166 height : 32.0
155167 }
156168 ]
157- const updateMock = jest . fn ( )
158- service = await initModule ( { updateMock } )
169+ const variationUpdateMock = jest . fn ( )
170+ service = await initModule ( { variationUpdateMock } )
159171
160172 await service . updateIgnoreAreas ( id , ignoreAreas )
161173
162- expect ( updateMock ) . toBeCalledWith ( {
174+ expect ( variationUpdateMock ) . toBeCalledWith ( {
163175 where : {
164176 id
165177 } ,
@@ -169,4 +181,58 @@ describe('TestVariationsService', () => {
169181 } )
170182 } )
171183 } )
184+
185+ describe ( 'remove' , ( ) => {
186+ it ( 'can remove' , async ( ) => {
187+ const id = 'test id'
188+ const variation : TestVariation & {
189+ baselines : Baseline [ ] ;
190+ } = {
191+ id,
192+ projectId : 'project Id' ,
193+ name : 'Test name' ,
194+ baselineName : 'baselineName' ,
195+ os : 'OS' ,
196+ browser : 'browser' ,
197+ viewport : 'viewport' ,
198+ device : 'device' ,
199+ ignoreAreas : '[]' ,
200+ createdAt : new Date ( ) ,
201+ updatedAt : new Date ( ) ,
202+ baselines : [
203+ {
204+ id : 'baseline id 1' ,
205+ baselineName : 'image name 1' ,
206+ testVariationId : id ,
207+ testRunId : 'test run id 1' ,
208+ createdAt : new Date ( ) ,
209+ updatedAt : new Date ( ) ,
210+ } ,
211+ ]
212+ }
213+ const variationFindOneMock = jest . fn ( )
214+ const variationDeleteMock = jest . fn ( )
215+ const imageDeleteMock = jest . fn ( )
216+ const baselineDeleteMock = jest . fn ( )
217+ service = await initModule (
218+ {
219+ variationFindOneMock : variationFindOneMock . mockResolvedValueOnce ( variation ) ,
220+ variationDeleteMock,
221+ imageDeleteMock,
222+ baselineDeleteMock
223+ } )
224+
225+ await service . remove ( id )
226+
227+ expect ( imageDeleteMock ) . toHaveBeenCalledWith (
228+ variation . baselines [ 0 ] . baselineName
229+ )
230+ expect ( baselineDeleteMock ) . toHaveBeenCalledWith ( {
231+ where : { id : variation . baselines [ 0 ] . id }
232+ } )
233+ expect ( variationDeleteMock ) . toHaveBeenCalledWith ( {
234+ where : { id : variation . id }
235+ } )
236+ } )
237+ } )
172238} ) ;
0 commit comments