Skip to content

Commit fa431eb

Browse files
authored
Performance issue while approving whole build #246
1 parent 2a8360d commit fa431eb

File tree

4 files changed

+9
-8
lines changed

4 files changed

+9
-8
lines changed

src/builds/builds.controller.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export class BuildsController {
8383
approve(
8484
@Param('id', new ParseUUIDPipe()) id: string,
8585
@Query('merge', new ParseBoolPipe()) merge: boolean
86-
): Promise<BuildDto> {
86+
): Promise<void> {
8787
return this.buildsService.approve(id, merge);
8888
}
8989
}

src/builds/builds.service.spec.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,5 @@ describe('BuildsService', () => {
317317
},
318318
});
319319
expect(testRunApproveMock).toHaveBeenCalledWith(build.testRuns[0].id, true);
320-
expect(service.findOne).toHaveBeenCalledWith('someId');
321320
});
322321
});

src/builds/builds.service.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ export class BuildsService {
123123
});
124124
}
125125

126-
async approve(id: string, merge: boolean): Promise<BuildDto> {
126+
async approve(id: string, merge: boolean): Promise<void> {
127127
const build = await this.prismaService.build.findUnique({
128128
where: { id },
129129
include: {
@@ -137,8 +137,8 @@ export class BuildsService {
137137
},
138138
});
139139

140-
await Promise.all(build.testRuns.map((testRun) => this.testRunsService.approve(testRun.id, merge)));
141-
142-
return this.findOne(id);
140+
for(const testRun of build.testRuns) {
141+
await this.testRunsService.approve(testRun.id, merge)
142+
}
143143
}
144144
}

test/builds.e2e-spec.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,8 +212,9 @@ describe('Builds (e2e)', () => {
212212
false
213213
);
214214

215-
const result = await buildsService.approve(build.id, false);
215+
await buildsService.approve(build.id, false);
216216

217+
const result = await buildsService.findOne(build.id);
217218
expect(result).toEqual({ ...build, status: 'passed', passedCount: 1, merge: false });
218219
});
219220

@@ -227,8 +228,9 @@ describe('Builds (e2e)', () => {
227228
true
228229
);
229230

230-
const result = await buildsService.approve(build.id, true);
231+
await buildsService.approve(build.id, true);
231232

233+
const result = await buildsService.findOne(build.id);
232234
expect(result).toEqual({ ...build, status: 'passed', passedCount: 1, merge: true });
233235
});
234236
});

0 commit comments

Comments
 (0)