Skip to content

Commit 6a3bd11

Browse files
committed
TestVariationsService. remove covered
1 parent 9a937ee commit 6a3bd11

File tree

1 file changed

+90
-24
lines changed

1 file changed

+90
-24
lines changed

src/test-variations/test-variations.service.spec.ts

Lines changed: 90 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,36 @@ import { PrismaService } from '../prisma/prisma.service';
44
import { CreateTestRequestDto } from '../test/dto/create-test-request.dto';
55
import { StaticService } from '../shared/static/static.service';
66
import { IgnoreAreaDto } from 'src/test/dto/ignore-area.dto';
7+
import { TestVariation, Baseline } from '@prisma/client';
78

89
const 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

Comments
 (0)