Skip to content

Commit 3b9228a

Browse files
authored
Merge pull request #1698 from Northeastern-Electric-Racing/#1593-Backend-RequestReviewerPing
#1593-Made a check for old reviewers before pinging
2 parents 08f2649 + da39e30 commit 3b9228a

2 files changed

Lines changed: 7 additions & 2 deletions

File tree

src/backend/src/services/change-requests.services.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -744,12 +744,16 @@ export default class ChangeRequestsService {
744744

745745
if (foundCR.reviewerId) throw new HttpException(400, `Cannot request a review on an already reviewed change request`);
746746

747+
const oldRequestedReviewersIds = foundCR.requestedReviewers.map((reviewer) => reviewer.userId);
748+
747749
const reviewerIds = reviewers.map((reviewer) => {
748750
return {
749751
userId: reviewer.userId
750752
};
751753
});
752754

755+
const newReviewers = reviewers.filter((user) => !oldRequestedReviewersIds.includes(user.userId));
756+
753757
await prisma.change_Request.update({
754758
where: { crId },
755759
data: {
@@ -760,7 +764,7 @@ export default class ChangeRequestsService {
760764
});
761765

762766
// send slack message to CR reviewers
763-
reviewers.forEach(async (user) => {
767+
newReviewers.forEach(async (user) => {
764768
await sendSlackRequestedReviewNotification(user.userSettings!.slackId, changeRequestTransformer(foundCR));
765769
});
766770
}

src/backend/tests/change-requests.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -457,9 +457,10 @@ describe('Change Requests', () => {
457457
expect(prisma.change_Request.findUnique).toHaveBeenCalledTimes(1);
458458
});
459459

460+
const changeRequest = { ...prismaChangeRequest1, requestedReviewers: [] };
460461
test('Change request successfully assigned reviewers', async () => {
461462
vi.spyOn(prisma.user, 'findMany').mockResolvedValue([batmanWithUserSettings]);
462-
vi.spyOn(prisma.change_Request, 'findUnique').mockResolvedValue(prismaChangeRequest1);
463+
vi.spyOn(prisma.change_Request, 'findUnique').mockResolvedValue(changeRequest);
463464
vi.spyOn(prisma.change_Request, 'update').mockResolvedValue(prismaChangeRequest1);
464465

465466
await ChangeRequestsService.requestCRReview(batman, [1], 1);

0 commit comments

Comments
 (0)