@@ -48,6 +48,7 @@ const updateUserDto: Partial<UpdateUserDto> = {
48
48
contactPermission : true ,
49
49
serviceEmailsPermission : false ,
50
50
signUpLanguage : 'en' ,
51
+
51
52
} ;
52
53
53
54
const mockSubscriptionUserServiceMethods = { } ;
@@ -279,26 +280,31 @@ describe('UserService', () => {
279
280
describe ( 'updateUser' , ( ) => {
280
281
it ( 'when supplied a firebase user dto, it should return a user' , async ( ) => {
281
282
const repoSaveSpy = jest . spyOn ( repo , 'save' ) ;
283
+ const authServiceUpdateEmailSpy = jest . spyOn ( mockAuthService , 'updateFirebaseUserEmail' ) ;
282
284
283
- const user = await service . updateUser ( updateUserDto , { user : mockUserEntity } ) ;
284
- expect ( user . name ) . toBe ( 'new name' ) ;
285
- expect ( user . email ) . toBe ( '[email protected] ' ) ;
285
+ const user = await service . updateUser ( updateUserDto , mockUserEntity . id ) ;
286
+ expect ( user . name ) . toBe ( updateUserDto . name ) ;
287
+ expect ( user . email ) . toBe ( updateUserDto . email ) ;
286
288
expect ( user . contactPermission ) . toBe ( true ) ;
287
289
expect ( user . serviceEmailsPermission ) . toBe ( false ) ;
288
290
289
291
expect ( repoSaveSpy ) . toHaveBeenCalledWith ( { ...mockUserEntity , ...updateUserDto } ) ;
290
292
expect ( repoSaveSpy ) . toHaveBeenCalled ( ) ;
293
+ expect ( authServiceUpdateEmailSpy ) . toHaveBeenCalledWith (
294
+ mockUserEntity . firebaseUid ,
295
+ updateUserDto . email ,
296
+ ) ;
291
297
} ) ;
292
298
293
299
it ( 'should not fail update on crisp api call errors' , async ( ) => {
294
300
const mocked = jest . mocked ( updateCrispProfile ) ;
295
301
mocked . mockRejectedValue ( new Error ( 'Crisp API call failed' ) ) ;
296
302
297
- const user = await service . updateUser ( updateUserDto , { user : mockUserEntity } ) ;
303
+ const user = await service . updateUser ( updateUserDto , mockUserEntity . id ) ;
298
304
await new Promise ( process . nextTick ) ; // wait for async funcs to resolve
299
305
expect ( mocked ) . toHaveBeenCalled ( ) ;
300
- expect ( user . name ) . toBe ( 'new name' ) ;
301
- expect ( user . email ) . toBe ( '[email protected] ' ) ;
306
+ expect ( user . name ) . toBe ( updateUserDto . name ) ;
307
+ expect ( user . email ) . toBe ( updateUserDto . email ) ;
302
308
303
309
mocked . mockReset ( ) ;
304
310
} ) ;
@@ -307,11 +313,11 @@ describe('UserService', () => {
307
313
const mocked = jest . mocked ( updateMailchimpProfile ) ;
308
314
mocked . mockRejectedValue ( new Error ( 'Mailchimp API call failed' ) ) ;
309
315
310
- const user = await service . updateUser ( updateUserDto , { user : mockUserEntity } ) ;
316
+ const user = await service . updateUser ( updateUserDto , mockUserEntity . id ) ;
311
317
await new Promise ( process . nextTick ) ; // wait for async funcs to resolve
312
318
expect ( mocked ) . toHaveBeenCalled ( ) ;
313
- expect ( user . name ) . toBe ( 'new name' ) ;
314
- expect ( user . email ) . toBe ( '[email protected] ' ) ;
319
+ expect ( user . name ) . toBe ( updateUserDto . name ) ;
320
+ expect ( user . email ) . toBe ( updateUserDto . email ) ;
315
321
316
322
mocked . mockReset ( ) ;
317
323
} ) ;
0 commit comments