@@ -147,7 +147,7 @@ describe('인증 미들웨어', () => {
147147 ) ;
148148 } ) ;
149149
150- it ( '사용자를 찾을 수 없으면 next를 호출해야 한다' , async ( ) => {
150+ it ( '사용자를 찾을 수 없으면 DBError가 발생해야 한다' , async ( ) => {
151151 // 유효한 토큰 준비
152152 mockRequest . cookies = {
153153 'access_token' : validToken ,
@@ -169,9 +169,15 @@ describe('인증 미들웨어', () => {
169169 // 검증
170170 expect ( nextFunction ) . toHaveBeenCalledTimes ( 1 ) ;
171171 expect ( mockRequest . user ) . toBeUndefined ( ) ;
172+ expect ( nextFunction ) . toHaveBeenCalledWith (
173+ expect . objectContaining ( {
174+ name : 'DBError' ,
175+ message : '사용자를 찾을 수 없습니다.'
176+ } )
177+ ) ;
172178 } ) ;
173179
174- it ( '쿠키 대신 요청 본문에서 토큰을 추출해야 한다' , async ( ) => {
180+ it ( '쿠키에 토큰이 없으면 헤더에서 토큰을 가져와야 한다' , async ( ) => {
175181 // 요청 본문에 토큰 설정
176182 mockRequest . body = {
177183 accessToken : validToken ,
@@ -203,38 +209,5 @@ describe('인증 미들웨어', () => {
203209 expect ( nextFunction ) . not . toHaveBeenCalledWith ( expect . any ( Error ) ) ;
204210 expect ( mockRequest . user ) . toEqual ( mockUser ) ;
205211 } ) ;
206-
207- it ( '쿠키와 요청 본문 대신 헤더에서 토큰을 추출해야 한다' , async ( ) => {
208- // 헤더에 토큰 설정
209- mockRequest . headers = {
210- 'access_token' : validToken ,
211- 'refresh_token' : 'refresh-token'
212- } ;
213-
214- // 사용자 정보 mock
215- const mockUser = {
216- id : 1 ,
217- username : 'testuser' ,
218- email : 'test@example.com' ,
219- velog_uuid : 'c7507240-093b-11ea-9aae-a58a86bb0520'
220- } ;
221-
222- // DB 쿼리 결과 모킹
223- ( pool . query as jest . Mock ) . mockResolvedValueOnce ( {
224- rows : [ mockUser ]
225- } ) ;
226-
227- // 미들웨어 실행
228- await authMiddleware . verify (
229- mockRequest as Request ,
230- mockResponse as Response ,
231- nextFunction
232- ) ;
233-
234- // 검증
235- expect ( nextFunction ) . toHaveBeenCalledTimes ( 1 ) ;
236- expect ( nextFunction ) . not . toHaveBeenCalledWith ( expect . any ( Error ) ) ;
237- expect ( mockRequest . user ) . toEqual ( mockUser ) ;
238- } ) ;
239212 } ) ;
240213} ) ;
0 commit comments