@@ -58,10 +58,9 @@ describe("Task Requests", function () {
58
58
59
59
taskId = ( await tasksModel . updateTask ( taskData [ 4 ] ) ) . taskId ;
60
60
await userStatusModel . updateUserStatus ( userId , idleUserStatus ) ;
61
- await taskRequestsModel . addOrUpdate ( taskId , userId ) ;
62
61
} ) ;
63
62
64
- it ( "should fetch taskRequests" , function ( done ) {
63
+ it ( "should fetch 404 when taskRequests are empty " , function ( done ) {
65
64
chai
66
65
. request ( app )
67
66
. get ( "/taskRequests" )
@@ -71,13 +70,30 @@ describe("Task Requests", function () {
71
70
return done ( err ) ;
72
71
}
73
72
73
+ expect ( res ) . to . have . status ( 404 ) ;
74
+ return done ( ) ;
75
+ } ) ;
76
+ } ) ;
77
+
78
+ it ( "should fetch taskRequests" , async function ( ) {
79
+ await taskRequestsModel . addOrUpdate ( taskId , userId ) ;
80
+
81
+ chai
82
+ . request ( app )
83
+ . get ( "/taskRequests" )
84
+ . set ( "cookie" , `${ cookieName } =${ jwt } ` )
85
+ . then ( function ( err , res ) {
86
+ if ( err ) {
87
+ return err ;
88
+ }
89
+
74
90
expect ( res ) . to . have . status ( 200 ) ;
75
91
expect ( res . body . message ) . to . equal ( "Task requests returned successfully" ) ;
76
92
expect ( res . body . data ) . to . be . a ( "Array" ) ;
77
93
expect ( res . body . data . length ) . to . equal ( 1 ) ;
78
94
expect ( res . body . data [ 0 ] ) . to . have . property ( "requestors" ) ;
79
95
expect ( res . body . data [ 0 ] . requestors . length ) . to . equal ( 1 ) ;
80
- return done ( ) ;
96
+ return res ;
81
97
} ) ;
82
98
} ) ;
83
99
} ) ;
@@ -111,6 +127,81 @@ describe("Task Requests", function () {
111
127
} ) ;
112
128
} ) ;
113
129
130
+ describe ( "GET /taskRequest/:id - fetches task request by id" , function ( ) {
131
+ describe ( "When the user is super user" , function ( ) {
132
+ let taskRequestId ;
133
+ before ( async function ( ) {
134
+ superUserId = await addUser ( superUser ) ;
135
+ sinon . stub ( authService , "verifyAuthToken" ) . callsFake ( ( ) => ( { userId : superUserId } ) ) ;
136
+ jwt = authService . generateAuthToken ( { userId : superUserId } ) ;
137
+
138
+ taskId = ( await tasksModel . updateTask ( taskData [ 4 ] ) ) . taskId ;
139
+ taskRequestId = ( await taskRequestsModel . addOrUpdate ( taskId , userId ) ) . id ;
140
+ } ) ;
141
+
142
+ it ( "should fetch the task request" , function ( done ) {
143
+ chai
144
+ . request ( app )
145
+ . get ( `/taskRequests/${ taskRequestId } ` )
146
+ . set ( "cookie" , `${ cookieName } =${ jwt } ` )
147
+ . end ( ( err , res ) => {
148
+ if ( err ) {
149
+ return done ( err ) ;
150
+ }
151
+
152
+ expect ( res ) . to . have . status ( 200 ) ;
153
+ expect ( res . body . message ) . to . be . equal ( "Task request returned successfully" ) ;
154
+ expect ( res . body . data ) . to . be . a ( "object" ) ;
155
+ return done ( ) ;
156
+ } ) ;
157
+ } ) ;
158
+
159
+ it ( "should return 404 if the resource is not found" , function ( done ) {
160
+ chai
161
+ . request ( app )
162
+ . get ( `/taskRequests/taskRequestId` )
163
+ . set ( "cookie" , `${ cookieName } =${ jwt } ` )
164
+ . end ( ( err , res ) => {
165
+ if ( err ) {
166
+ return done ( err ) ;
167
+ }
168
+
169
+ expect ( res ) . to . have . status ( 404 ) ;
170
+ expect ( res . body . message ) . to . be . equal ( "Task request not found" ) ;
171
+ return done ( ) ;
172
+ } ) ;
173
+ } ) ;
174
+ } ) ;
175
+
176
+ describe ( "When the user is not a super user" , function ( ) {
177
+ before ( async function ( ) {
178
+ userId = await addUser ( member ) ;
179
+ sinon . stub ( authService , "verifyAuthToken" ) . callsFake ( ( ) => ( { userId } ) ) ;
180
+ jwt = authService . generateAuthToken ( { userId } ) ;
181
+
182
+ taskId = ( await tasksModel . updateTask ( taskData [ 4 ] ) ) . taskId ;
183
+
184
+ await userStatusModel . updateUserStatus ( userId , idleUserStatus ) ;
185
+ await taskRequestsModel . addOrUpdate ( taskId , userId ) ;
186
+ } ) ;
187
+
188
+ it ( "should return 401 status code" , function ( done ) {
189
+ chai
190
+ . request ( app )
191
+ . get ( `/taskRequests/taskrequstid` )
192
+ . set ( "cookie" , `${ cookieName } =${ jwt } ` )
193
+ . end ( ( err , res ) => {
194
+ if ( err ) {
195
+ return done ( err ) ;
196
+ }
197
+
198
+ expect ( res ) . to . have . status ( 401 ) ;
199
+ return done ( ) ;
200
+ } ) ;
201
+ } ) ;
202
+ } ) ;
203
+ } ) ;
204
+
114
205
describe ( "POST /taskRequests/addOrUpdate - add or updates a task request" , function ( ) {
115
206
describe ( "When a new task requested is created" , function ( ) {
116
207
before ( async function ( ) {
0 commit comments