@@ -10,6 +10,7 @@ const profileDiffs = require("../../models/profileDiffs");
10
10
const cleanDb = require ( "../utils/cleanDb" ) ;
11
11
// Import fixtures
12
12
const userData = require ( "../fixtures/user/user" ) ( ) ;
13
+ const tasksData = require ( "../fixtures/tasks/tasks" ) ( ) ;
13
14
const profileDiffData = require ( "../fixtures/profileDiffs/profileDiffs" ) ( ) ;
14
15
const superUser = userData [ 4 ] ;
15
16
const searchParamValues = require ( "../fixtures/user/search" ) ( ) ;
@@ -26,7 +27,7 @@ const {
26
27
const { addJoinData, addOrUpdate } = require ( "../../models/users" ) ;
27
28
const userStatusModel = require ( "../../models/userStatus" ) ;
28
29
const { MAX_USERNAME_LENGTH } = require ( "../../constants/users.ts" ) ;
29
-
30
+ const { TASK_STATUS } = require ( "../../constants/tasks" ) ;
30
31
const userRoleUpdate = userData [ 4 ] ;
31
32
const userRoleUnArchived = userData [ 13 ] ;
32
33
const userAlreadyMember = userData [ 0 ] ;
@@ -35,7 +36,6 @@ const userAlreadyArchived = userData[5];
35
36
const userAlreadyUnArchived = userData [ 4 ] ;
36
37
const nonSuperUser = userData [ 0 ] ;
37
38
const newUser = userData [ 18 ] ;
38
-
39
39
const cookieName = config . get ( "userToken.cookieName" ) ;
40
40
const { userPhotoVerificationData } = require ( "../fixtures/user/photo-verification" ) ;
41
41
const Sinon = require ( "sinon" ) ;
@@ -497,12 +497,18 @@ describe("Users", function () {
497
497
} ) ;
498
498
499
499
describe ( "GET /users" , function ( ) {
500
+ let userWithOverdueApprovedTask ;
501
+
500
502
beforeEach ( async function ( ) {
501
503
const { userId } = await addOrUpdate ( userData [ 0 ] ) ;
502
504
await userStatusModel . updateUserStatus ( userId , userStatusDataForNewUser ) ;
503
505
await addOrUpdate ( userData [ 1 ] ) ;
504
506
await addOrUpdate ( userData [ 2 ] ) ;
505
507
await addOrUpdate ( userData [ 3 ] ) ;
508
+
509
+ const assigneeData = { ...userData [ 6 ] , discordId : getDiscordMembers [ 0 ] . user . id } ;
510
+ userWithOverdueApprovedTask = await addUser ( assigneeData ) ;
511
+ await taskModel . add ( { ...tasksData [ 0 ] , assignee : userWithOverdueApprovedTask , status : TASK_STATUS . APPROVED } ) ;
506
512
} ) ;
507
513
508
514
afterEach ( async function ( ) {
@@ -878,6 +884,24 @@ describe("Users", function () {
878
884
expect ( res . body . message ) . to . equal ( "User not found" ) ;
879
885
} ) ;
880
886
887
+ it ( "should return users who have overdue tasks with APPROVED status" , function ( done ) {
888
+ chai
889
+ . request ( app )
890
+ . get ( "/users?query=filterBy:overdue_tasks" )
891
+ . end ( ( err , res ) => {
892
+ if ( err ) {
893
+ return done ( err ) ;
894
+ }
895
+ expect ( res ) . to . have . status ( 200 ) ;
896
+ expect ( res . body ) . to . be . an ( "object" ) ;
897
+ expect ( res . body . users ) . to . be . an ( "array" ) ;
898
+ expect ( res . body . users . length ) . to . equal ( 1 ) ;
899
+ expect ( res . body . users [ 0 ] . id ) . to . equal ( userWithOverdueApprovedTask ) ;
900
+
901
+ return done ( ) ;
902
+ } ) ;
903
+ } ) ;
904
+
881
905
it ( "Should return user ID(s) with overdue tasks within the last 1 day" , function ( done ) {
882
906
chai
883
907
. request ( app )
0 commit comments