@@ -12,16 +12,8 @@ import {
1212import { mailerService } from '../../../utils/mail' ;
1313
1414jest . mock ( '../../../models/user' ) ;
15- jest . mock ( '../../../utils/mail' , ( ) => ( {
16- mailerService : {
17- send : jest . fn ( )
18- }
19- } ) ) ;
20- jest . mock ( '../../../views/mail' , ( ) => ( {
21- renderEmailConfirmation : jest
22- . fn ( )
23- . mockReturnValue ( { to : 'test@example.com' , subject : 'Confirm' } )
24- } ) ) ;
15+ jest . mock ( '../../../utils/mail' ) ;
16+ jest . mock ( '../../../views/mail' ) ;
2517
2618describe ( 'user.controller > signup' , ( ) => {
2719 let request : any ;
@@ -89,17 +81,19 @@ describe('user.controller > signup', () => {
8981
9082 describe ( 'duplicateUserCheck' , ( ) => {
9183 it ( 'calls findByEmailOrUsername with the correct params' , async ( ) => {
92- const mockFind = jest . fn ( ) . mockResolvedValue ( null ) ;
93- User . findByEmailOrUsername = mockFind ;
84+ User . findByEmailOrUsername = jest . fn ( ) . mockResolvedValue ( null ) ;
9485
9586 request . query = { check_type : 'email' , email : 'test@example.com' } ;
9687
9788 await duplicateUserCheck ( request , response , next ) ;
9889
99- expect ( mockFind ) . toHaveBeenCalledWith ( 'test@example.com' , {
100- caseInsensitive : true ,
101- valueType : 'email'
102- } ) ;
90+ expect ( User . findByEmailOrUsername ) . toHaveBeenCalledWith (
91+ 'test@example.com' ,
92+ {
93+ caseInsensitive : true ,
94+ valueType : 'email'
95+ }
96+ ) ;
10397 } ) ;
10498
10599 it ( 'returns the correct response body when no matching user is found' , async ( ) => {
@@ -254,7 +248,7 @@ describe('user.controller > signup', () => {
254248 User . findById = jest
255249 . fn ( )
256250 . mockReturnValue ( { exec : jest . fn ( ) . mockResolvedValue ( mockUser ) } ) ;
257- ( mailerService . send as jest . Mock ) . mockResolvedValue ( true ) ;
251+ mailerService . send = jest . fn ( ) . mockResolvedValue ( true ) ;
258252
259253 request . user = { id : 'user1' } ;
260254 request . headers . host = 'localhost:3000' ;
@@ -263,7 +257,7 @@ describe('user.controller > signup', () => {
263257
264258 expect ( User . findById ) . toHaveBeenCalledWith ( 'user1' ) ;
265259 expect ( mailerService . send ) . toHaveBeenCalledWith (
266- expect . objectContaining ( { to : 'test@example.com ' } )
260+ expect . objectContaining ( { subject : 'Mock confirm your email ' } ) // see views/__mocks__/mail.ts
267261 ) ;
268262 expect ( mockUser . verified ) . toBe ( 'resent' ) ;
269263 expect ( mockUser . verifiedToken ) . toBeDefined ( ) ;
@@ -290,9 +284,9 @@ describe('user.controller > signup', () => {
290284 User . findById = jest
291285 . fn ( )
292286 . mockReturnValue ( { exec : jest . fn ( ) . mockResolvedValue ( mockUser ) } ) ;
293- ( mailerService . send as jest . Mock ) . mockRejectedValue (
294- new Error ( 'Mailer fail' )
295- ) ;
287+ mailerService . send = jest
288+ . fn ( )
289+ . mockRejectedValue ( new Error ( 'Mailer fail' ) ) ;
296290
297291 request . user = { id : 'user1' } ;
298292 request . headers . host = 'localhost:3000' ;
0 commit comments