@@ -412,7 +412,7 @@ describe('UserController', () => {
412412 mockResponse . redirect = jest . fn ( ) . mockReturnThis ( ) ;
413413 } ) ;
414414
415- it ( '이메일이 없으면 BadRequestError를 던져야 한다' , async ( ) => {
415+ it ( '이메일이 없으면 메인 페이지로 리다이렉트해야 한다' , async ( ) => {
416416 mockRequest . query = { } ;
417417
418418 await userController . unsubscribeNewsletter (
@@ -421,12 +421,23 @@ describe('UserController', () => {
421421 nextFunction
422422 ) ;
423423
424- expect ( nextFunction ) . toHaveBeenCalledWith (
425- expect . objectContaining ( {
426- message : '이메일이 필요합니다.' ,
427- } )
424+ expect ( mockUserService . unsubscribeNewsletter ) . not . toHaveBeenCalled ( ) ;
425+ expect ( mockResponse . redirect ) . toHaveBeenCalledWith ( '/main' ) ;
426+ expect ( nextFunction ) . not . toHaveBeenCalled ( ) ;
427+ } ) ;
428+
429+ it ( '잘못된 이메일 형식이면 메인 페이지로 리다이렉트해야 한다' , async ( ) => {
430+ mockRequest . query = { email : 'invalid-email' } ;
431+
432+ await userController . unsubscribeNewsletter (
433+ mockRequest as Request ,
434+ mockResponse as Response ,
435+ nextFunction
428436 ) ;
429- expect ( mockResponse . redirect ) . not . toHaveBeenCalled ( ) ;
437+
438+ expect ( mockUserService . unsubscribeNewsletter ) . not . toHaveBeenCalled ( ) ;
439+ expect ( mockResponse . redirect ) . toHaveBeenCalledWith ( '/main' ) ;
440+ expect ( nextFunction ) . not . toHaveBeenCalled ( ) ;
430441 } ) ;
431442
432443 it ( '구독 해제 완료시 메인 페이지로 리다이렉트해야 한다' , async ( ) => {
0 commit comments