Skip to content

Commit d58feb3

Browse files
committed
Email fix for PS-455
1 parent ddce0e7 commit d58feb3

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

src/api/user/user.service.spec.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,13 @@ const mockEventService: jest.Mocked<Partial<EventService>> = {
139139
};
140140

141141
const memberUpdateMock = jest.fn();
142+
const memberUpdateManyMock = jest.fn();
142143
const mockMemberPrisma: any = {
143144
// Only the parts used by UserService need to be mocked
144145
member: {
145146
create: jest.fn(),
146147
update: memberUpdateMock,
148+
updateMany: memberUpdateManyMock,
147149
},
148150
};
149151

@@ -1565,6 +1567,7 @@ describe('UserService', () => {
15651567
jest.clearAllMocks();
15661568

15671569
memberUpdateMock.mockResolvedValue(undefined);
1570+
memberUpdateManyMock.mockResolvedValue({ count: 1 });
15681571

15691572
// Mock checkEmailAvailabilityForUser
15701573
mockCheckEmail = jest
@@ -1656,8 +1659,8 @@ describe('UserService', () => {
16561659
{ userId: 1, handle: 'testuser' },
16571660
);
16581661
expect(result).toEqual(mockUser);
1659-
expect(memberUpdateMock).toHaveBeenCalledWith({
1660-
where: { userId },
1662+
expect(memberUpdateManyMock).toHaveBeenCalledWith({
1663+
where: { userId: BigInt(userId) },
16611664
data: { email: newEmail.toLowerCase() },
16621665
});
16631666
});
@@ -1892,7 +1895,7 @@ describe('UserService', () => {
18921895
},
18931896
);
18941897

1895-
memberUpdateMock.mockRejectedValueOnce(
1898+
memberUpdateManyMock.mockRejectedValueOnce(
18961899
new Error('Member update failed'),
18971900
);
18981901

@@ -1903,8 +1906,8 @@ describe('UserService', () => {
19031906
);
19041907

19051908
expect(result).toEqual(mockUser);
1906-
expect(memberUpdateMock).toHaveBeenCalledWith({
1907-
where: { userId },
1909+
expect(memberUpdateManyMock).toHaveBeenCalledWith({
1910+
where: { userId: BigInt(userId) },
19081911
data: { email: newEmail.toLowerCase() },
19091912
});
19101913
expect(loggerErrorSpy).toHaveBeenCalledWith(

src/api/user/user.service.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1558,17 +1558,18 @@ export class UserService {
15581558
}
15591559

15601560
if (emailChanged) {
1561+
const memberUserId = BigInt(userId);
15611562
try {
1562-
await this.memberPrisma.member.update({
1563-
where: { userId },
1563+
const updateResult = await this.memberPrisma.member.update({
1564+
where: { userId: memberUserId },
15641565
data: { email: normalizedEmail },
15651566
});
15661567
this.logger.log(
1567-
`Updated members.member email to ${normalizedEmail} for user ${userId}`,
1568+
`Updated members.member email to ${normalizedEmail} for user ${memberUserId}`,
15681569
);
15691570
} catch (error) {
15701571
this.logger.error(
1571-
`Failed to update members.member email for user ${userId}: ${error.message}`,
1572+
`Failed to update members.member email for user ${memberUserId}: ${error.message}`,
15721573
error.stack,
15731574
);
15741575
}

0 commit comments

Comments
 (0)