@@ -20,6 +20,7 @@ const config = require("config");
20
20
const { TASK_REQUEST_TYPE } = require ( "../../constants/taskRequests" ) ;
21
21
const usersUtils = require ( "../../utils/users" ) ;
22
22
const githubService = require ( "../../services/githubService" ) ;
23
+ const { userState } = require ( "../../constants/userStatus" ) ;
23
24
24
25
const cookieName = config . get ( "userToken.cookieName" ) ;
25
26
@@ -374,26 +375,6 @@ describe("Task Requests", function () {
374
375
375
376
taskId = ( await tasksModel . updateTask ( taskData [ 4 ] ) ) . taskId ;
376
377
} ) ;
377
-
378
- it ( "should match response" , function ( done ) {
379
- chai
380
- . request ( app )
381
- . post ( "/taskRequests/addOrUpdate" )
382
- . set ( "cookie" , `${ cookieName } =${ jwt } ` )
383
- . send ( {
384
- taskId,
385
- userId,
386
- } )
387
- . end ( ( err , res ) => {
388
- if ( err ) {
389
- return done ( err ) ;
390
- }
391
-
392
- expect ( res ) . to . have . status ( 409 ) ;
393
- expect ( res . body . message ) . to . equal ( "User status does not exist" ) ;
394
- return done ( ) ;
395
- } ) ;
396
- } ) ;
397
378
} ) ;
398
379
399
380
describe ( "When the user status is not idle" , function ( ) {
@@ -404,37 +385,14 @@ describe("Task Requests", function () {
404
385
405
386
taskId = ( await tasksModel . updateTask ( taskData [ 4 ] ) ) . taskId ;
406
387
} ) ;
407
- it ( "should match response when the user is active on another task" , function ( done ) {
408
- sinon
409
- . stub ( userStatusModel , "getUserStatus" )
410
- . callsFake ( ( ) => ( { userStatusExists : true , data : activeUserStatus } ) ) ;
411
-
412
- chai
413
- . request ( app )
414
- . post ( "/taskRequests/addOrUpdate" )
415
- . set ( "cookie" , `${ cookieName } =${ jwt } ` )
416
- . send ( {
417
- taskId,
418
- userId,
419
- } )
420
- . end ( ( err , res ) => {
421
- if ( err ) {
422
- return done ( err ) ;
423
- }
424
-
425
- expect ( res ) . to . have . status ( 409 ) ;
426
- expect ( res . body . message ) . to . equal ( "User is currently active on another task" ) ;
427
- return done ( ) ;
428
- } ) ;
429
- } ) ;
430
388
} ) ;
431
389
} ) ;
432
390
433
391
describe ( "PATCH /taskRequests/approve - approves task request" , function ( ) {
434
392
let activeUserId , oooUserId ;
435
393
436
394
describe ( "When the user is super user" , function ( ) {
437
- before ( async function ( ) {
395
+ beforeEach ( async function ( ) {
438
396
userId = await addUser ( member ) ;
439
397
activeUserId = await addUser ( activeMember ) ;
440
398
oooUserId = await addUser ( member2 ) ;
@@ -450,6 +408,10 @@ describe("Task Requests", function () {
450
408
await userStatusModel . updateUserStatus ( oooUserId , { ...oooUserStatus } ) ;
451
409
await taskRequestsModel . addOrUpdate ( taskId , userId ) ;
452
410
} ) ;
411
+ afterEach ( async function ( ) {
412
+ sinon . restore ( ) ;
413
+ await cleanDb ( ) ;
414
+ } ) ;
453
415
454
416
it ( "should match response for successfull approval" , function ( done ) {
455
417
sinon . stub ( taskRequestsModel , "approveTaskRequest" ) . resolves ( { approvedTo : member . username } ) ;
@@ -472,26 +434,6 @@ describe("Task Requests", function () {
472
434
} ) ;
473
435
} ) ;
474
436
475
- it ( "should return 409 error with message when user is active" , function ( done ) {
476
- chai
477
- . request ( app )
478
- . patch ( "/taskRequests/approve" )
479
- . set ( "cookie" , `${ cookieName } =${ jwt } ` )
480
- . send ( {
481
- taskRequestId : taskId ,
482
- userId : activeUserId ,
483
- } )
484
- . end ( ( err , res ) => {
485
- if ( err ) {
486
- return done ( err ) ;
487
- }
488
-
489
- expect ( res ) . to . have . status ( 409 ) ;
490
- expect ( res . body . message ) . to . equal ( "User is currently active on another task" ) ;
491
- return done ( ) ;
492
- } ) ;
493
- } ) ;
494
-
495
437
it ( "should throw 400 error when taskRequestId is missing" , function ( done ) {
496
438
chai
497
439
. request ( app )
@@ -581,6 +523,38 @@ describe("Task Requests", function () {
581
523
return done ( ) ;
582
524
} ) ;
583
525
} ) ;
526
+ describe ( "Checks the user status" , function ( ) {
527
+ it ( "Should change the user status to ACTIVE when request is successful" , async function ( ) {
528
+ sinon . stub ( taskRequestsModel , "approveTaskRequest" ) . resolves ( { approvedTo : member . username } ) ;
529
+ const res = await chai
530
+ . request ( app )
531
+ . patch ( "/taskRequests/approve" )
532
+ . set ( "cookie" , `${ cookieName } =${ jwt } ` )
533
+ . send ( {
534
+ taskRequestId : taskId ,
535
+ userId,
536
+ } ) ;
537
+
538
+ expect ( res ) . to . have . status ( 200 ) ;
539
+ const userStatus = await userStatusModel . getUserStatus ( userId ) ;
540
+ expect ( userStatus . data . currentStatus . state ) . to . be . equal ( userState . ACTIVE ) ;
541
+ } ) ;
542
+ it ( "Should not change the user status to ACTIVE when request is unsuccessful" , async function ( ) {
543
+ sinon . stub ( taskRequestsModel , "approveTaskRequest" ) . resolves ( { isTaskRequestInvalid : true } ) ;
544
+ const res = await chai
545
+ . request ( app )
546
+ . patch ( "/taskRequests/approve" )
547
+ . set ( "cookie" , `${ cookieName } =${ jwt } ` )
548
+ . send ( {
549
+ taskRequestId : taskId ,
550
+ userId,
551
+ } ) ;
552
+
553
+ expect ( res ) . to . have . status ( 400 ) ;
554
+ const userStatus = await userStatusModel . getUserStatus ( userId ) ;
555
+ expect ( userStatus . data . currentStatus . state ) . to . be . equal ( userState . IDLE ) ;
556
+ } ) ;
557
+ } ) ;
584
558
} ) ;
585
559
586
560
describe ( "When the user is not super user" , function ( ) {
0 commit comments