@@ -11,6 +11,7 @@ import { ThrottlerGuard, ThrottlerModule } from "@nestjs/throttler";
11
11
import { MailService } from "../providers/mail/mail.service" ;
12
12
import { Request , Response } from "express" ;
13
13
import { HttpException } from "@nestjs/common" ;
14
+ import { ApiResponseOptions } from "@scholarsome/shared" ;
14
15
15
16
describe ( "AuthController" , ( ) => {
16
17
let authController : AuthController ;
@@ -73,6 +74,7 @@ describe("AuthController", () => {
73
74
74
75
return { } ;
75
76
} ,
77
+ setLoginCookies : jest . fn ( ) ,
76
78
validateRecaptcha : ( s : string ) => {
77
79
switch ( s ) {
78
80
case "true" :
@@ -168,7 +170,7 @@ describe("AuthController", () => {
168
170
169
171
expect ( res . status ) . toHaveBeenCalledWith ( 401 ) ;
170
172
expect ( result ) . toEqual ( {
171
- status : "fail" ,
173
+ status : ApiResponseOptions . Fail ,
172
174
message : "Invalid reset token"
173
175
} ) ;
174
176
} ) ;
@@ -185,7 +187,7 @@ describe("AuthController", () => {
185
187
}
186
188
} ) ;
187
189
expect ( result ) . toEqual ( {
188
- status : "success" ,
190
+ status : ApiResponseOptions . Success ,
189
191
data : { }
190
192
} ) ;
191
193
} ) ;
@@ -238,7 +240,7 @@ describe("AuthController", () => {
238
240
const result = await authController . sendReset ( { email : "true" } ) ;
239
241
240
242
expect ( result ) . toEqual ( {
241
- status : "success" ,
243
+ status : ApiResponseOptions . Success ,
242
244
data : null
243
245
} ) ;
244
246
} ) ;
@@ -277,7 +279,7 @@ describe("AuthController", () => {
277
279
const result = await authController . verifyEmail ( { token : "" } , res ) ;
278
280
279
281
expect ( result ) . toEqual ( {
280
- status : "fail" ,
282
+ status : ApiResponseOptions . Fail ,
281
283
message : "Invalid token"
282
284
} ) ;
283
285
} ) ;
@@ -291,6 +293,23 @@ describe("AuthController", () => {
291
293
// eslint-disable-next-line @typescript-eslint/no-explicit-any
292
294
} as any as Response ;
293
295
296
+ it ( "should return a normal response body" , async ( ) => {
297
+ const dto = {
298
+ username : "false" ,
299
+ email : "false" ,
300
+ password : "b" ,
301
+ confirmPassword : "b" ,
302
+ recaptchaToken : "a"
303
+ } ;
304
+
305
+ const result = await authController . register ( dto , res ) ;
306
+
307
+ expect ( result ) . toEqual ( {
308
+ status : ApiResponseOptions . Success ,
309
+ data : null
310
+ } ) ;
311
+ } ) ;
312
+
294
313
it ( "should send HTTP 409 if user already exists" , async ( ) => {
295
314
const dto = {
296
315
username : "true" ,
@@ -304,7 +323,7 @@ describe("AuthController", () => {
304
323
305
324
expect ( res . status ) . toHaveBeenCalledWith ( 409 ) ;
306
325
expect ( result ) . toEqual ( {
307
- status : "fail" ,
326
+ status : ApiResponseOptions . Fail ,
308
327
message : "Email already exists"
309
328
} ) ;
310
329
} ) ;
@@ -328,7 +347,7 @@ describe("AuthController", () => {
328
347
} ) ;
329
348
} ) ;
330
349
331
- it ( "should not send email if email not enabled " , async ( ) => {
350
+ it ( "should set login cookies " , async ( ) => {
332
351
const dto = {
333
352
username : "false" ,
334
353
email : "false" ,
@@ -337,13 +356,9 @@ describe("AuthController", () => {
337
356
recaptchaToken : "a"
338
357
} ;
339
358
340
- const result = await authController . register ( dto , res ) ;
359
+ await authController . register ( dto , res ) ;
341
360
342
- expect ( mailService . sendEmailConfirmation ) . toHaveBeenCalledWith ( dto . email ) ;
343
- expect ( result ) . toEqual ( {
344
- status : "success" ,
345
- data : { confirmEmail : false }
346
- } ) ;
361
+ expect ( authService . setLoginCookies ) . toHaveBeenCalled ( ) ;
347
362
} ) ;
348
363
} ) ;
349
364
@@ -366,7 +381,7 @@ describe("AuthController", () => {
366
381
367
382
expect ( res . status ) . toHaveBeenCalledWith ( 401 ) ;
368
383
expect ( result ) . toEqual ( {
369
- status : "fail" ,
384
+ status : ApiResponseOptions . Fail ,
370
385
message : "Incorrect email or password"
371
386
} ) ;
372
387
} ) ;
@@ -420,22 +435,7 @@ describe("AuthController", () => {
420
435
421
436
await authController . login ( dto , res ) ;
422
437
423
- expect ( res . cookie ) . toHaveBeenNthCalledWith ( 1 , "verified" , "" , {
424
- httpOnly : false ,
425
- expires : expect . any ( Date )
426
- } ) ;
427
- expect ( res . cookie ) . toHaveBeenNthCalledWith ( 2 , "refresh_token" , { } , {
428
- httpOnly : true ,
429
- expires : expect . any ( Date )
430
- } ) ;
431
- expect ( res . cookie ) . toHaveBeenNthCalledWith ( 3 , "access_token" , { } , {
432
- httpOnly : true ,
433
- expires : expect . any ( Date )
434
- } ) ;
435
- expect ( res . cookie ) . toHaveBeenNthCalledWith ( 4 , "authenticated" , true , {
436
- httpOnly : false ,
437
- expires : expect . any ( Date )
438
- } ) ;
438
+ expect ( authService . setLoginCookies ) . toHaveBeenCalled ( ) ;
439
439
} ) ;
440
440
} ) ;
441
441
0 commit comments