@@ -362,6 +362,110 @@ describe("Extension Requests", function () {
362
362
} ) ;
363
363
} ) ;
364
364
365
+ describe ( "GET /extension-requests/user/:userId" , function ( ) {
366
+ it ( "should return success response and extension request of the authenticated user" , function ( done ) {
367
+ chai
368
+ . request ( app )
369
+ . get ( `/extension-requests/user/${ appOwner . id } ?dev=true` )
370
+ . set ( "cookie" , `${ cookieName } =${ appOwnerjwt } ` )
371
+ . end ( ( err , res ) => {
372
+ if ( err ) {
373
+ return done ( err ) ;
374
+ }
375
+
376
+ expect ( res ) . to . have . status ( 200 ) ;
377
+ expect ( res . body ) . to . be . a ( "object" ) ;
378
+ expect ( res . body . message ) . to . be . equal ( "Extension Requests returned successfully!" ) ;
379
+ expect ( res . body . allExtensionRequests ) . to . be . a ( "array" ) ;
380
+ expect ( res . body . allExtensionRequests [ 0 ] . assignee ) . to . equal ( appOwner . username ) ;
381
+ expect ( [ extensionRequestId1 , extensionRequestId2 ] ) . contains ( res . body . allExtensionRequests [ 0 ] . id ) ;
382
+ expect ( [ extensionRequestId1 , extensionRequestId2 ] ) . contains ( res . body . allExtensionRequests [ 1 ] . id ) ;
383
+ expect ( res . body . allExtensionRequests [ 1 ] . assignee ) . to . equal ( appOwner . username ) ;
384
+ return done ( ) ;
385
+ } ) ;
386
+ } ) ;
387
+
388
+ it ( "should return success response and all extension requests with query params" , function ( done ) {
389
+ chai
390
+ . request ( app )
391
+ . get ( `/extension-requests/user/${ appOwner . id } ?dev=true` )
392
+ . query ( { taskId : taskId2 , status : "APPROVED" } )
393
+ . set ( "cookie" , `${ cookieName } =${ appOwnerjwt } ` )
394
+ . end ( ( err , res ) => {
395
+ if ( err ) {
396
+ return done ( err ) ;
397
+ }
398
+
399
+ expect ( res ) . to . have . status ( 200 ) ;
400
+ expect ( res . body ) . to . be . a ( "object" ) ;
401
+ expect ( res . body . message ) . to . be . equal ( "Extension Requests returned successfully!" ) ;
402
+ expect ( res . body . allExtensionRequests ) . to . be . a ( "array" ) ;
403
+ expect ( res . body . allExtensionRequests [ 0 ] . assignee ) . to . equal ( appOwner . username ) ;
404
+ expect ( res . body . allExtensionRequests [ 0 ] . id ) . to . equal ( extensionRequestId2 ) ;
405
+ return done ( ) ;
406
+ } ) ;
407
+ } ) ;
408
+
409
+ it ( "should return success response and an empty array of extensionRequest if assignee is not same as latest one" , function ( done ) {
410
+ chai
411
+ . request ( app )
412
+ . get ( `/extension-requests/user/${ appOwner . id } ?dev=true` )
413
+ . query ( { taskId : taskId7 } )
414
+ . set ( "cookie" , `${ cookieName } =${ appOwnerjwt } ` )
415
+ . end ( ( err , res ) => {
416
+ if ( err ) {
417
+ return done ( err ) ;
418
+ }
419
+
420
+ expect ( res ) . to . have . status ( 200 ) ;
421
+ expect ( res . body ) . to . be . a ( "object" ) ;
422
+ expect ( res . body . message ) . to . be . equal ( "Extension Requests returned successfully!" ) ;
423
+ expect ( res . body . allExtensionRequests ) . to . be . a ( "array" ) . with . lengthOf ( 0 ) ;
424
+ return done ( ) ;
425
+ } ) ;
426
+ } ) ;
427
+
428
+ it ( "should return success response and a single latestExtensionRequest if assignee same as latest one" , function ( done ) {
429
+ chai
430
+ . request ( app )
431
+ . get ( `/extension-requests/user/${ appOwner . id } ?dev=true` )
432
+ . query ( { taskId : taskId2 } )
433
+ . set ( "cookie" , `${ cookieName } =${ appOwnerjwt } ` )
434
+ . end ( ( err , res ) => {
435
+ if ( err ) {
436
+ return done ( err ) ;
437
+ }
438
+
439
+ expect ( res ) . to . have . status ( 200 ) ;
440
+ expect ( res . body ) . to . be . a ( "object" ) ;
441
+ expect ( res . body . message ) . to . be . equal ( "Extension Requests returned successfully!" ) ;
442
+ expect ( res . body . allExtensionRequests ) . to . be . a ( "array" ) . with . lengthOf ( 1 ) ;
443
+ return done ( ) ;
444
+ } ) ;
445
+ } ) ;
446
+
447
+ it ( "Should return 401 if not logged in" , function ( done ) {
448
+ chai
449
+ . request ( app )
450
+ . get ( `/extension-requests/user/${ appOwner . id } ?dev=true` )
451
+ . end ( ( err , res ) => {
452
+ if ( err ) {
453
+ return done ( ) ;
454
+ }
455
+
456
+ expect ( res ) . to . have . status ( 401 ) ;
457
+ expect ( res . body ) . to . be . an ( "object" ) ;
458
+ expect ( res . body ) . to . eql ( {
459
+ statusCode : 401 ,
460
+ error : "Unauthorized" ,
461
+ message : "Unauthenticated User" ,
462
+ } ) ;
463
+
464
+ return done ( ) ;
465
+ } ) ;
466
+ } ) ;
467
+ } ) ;
468
+
365
469
describe ( "POST /extension-requests - creates a new extension requests" , function ( ) {
366
470
it ( "Should return success response after adding the extension request" , function ( done ) {
367
471
chai
0 commit comments