@@ -12,6 +12,7 @@ const config = require('config')
12
12
const cookieName = config . get ( 'userToken.cookieName' )
13
13
const userData = require ( '../fixtures/user/user' ) ( )
14
14
const { DINERO , NEELAM } = require ( '../../constants/wallets' )
15
+ const cleanDb = require ( '../utils/cleanDb' )
15
16
chai . use ( chaiHttp )
16
17
17
18
const appOwner = userData [ 3 ]
@@ -67,7 +68,11 @@ describe('Tasks', function () {
67
68
taskId = ( await tasks . updateTask ( taskData [ 1 ] ) ) . taskId
68
69
} )
69
70
70
- afterEach ( function ( ) {
71
+ after ( async function ( ) {
72
+ await cleanDb ( )
73
+ } )
74
+
75
+ afterEach ( async function ( ) {
71
76
sinon . restore ( )
72
77
} )
73
78
@@ -293,4 +298,66 @@ describe('Tasks', function () {
293
298
} )
294
299
} )
295
300
} )
301
+
302
+ describe ( 'PATCH /self/:id' , function ( ) {
303
+ const taskStatusData = {
304
+ status : 'currentStatus' ,
305
+ percentCompleted : 50
306
+ }
307
+
308
+ it ( 'Should update the task status for given self taskid' , function ( done ) {
309
+ chai
310
+ . request ( app )
311
+ . patch ( `/tasks/self/${ taskId1 } ` )
312
+ . set ( 'cookie' , `${ cookieName } =${ jwt } ` )
313
+ . send ( taskStatusData )
314
+ . end ( ( err , res ) => {
315
+ if ( err ) { return done ( err ) }
316
+ expect ( res ) . to . have . status ( 200 )
317
+ expect ( res . body . message ) . to . equal ( 'Task updated successfully!' )
318
+ return done ( )
319
+ } )
320
+ } )
321
+
322
+ it ( 'Should return 404 if task doesnt exist' , function ( done ) {
323
+ chai
324
+ . request ( app )
325
+ . patch ( '/tasks/self/wrongtaskId' )
326
+ . set ( 'cookie' , `${ cookieName } =${ jwt } ` )
327
+ . send ( taskStatusData )
328
+ . end ( ( err , res ) => {
329
+ if ( err ) { return done ( err ) }
330
+ expect ( res ) . to . have . status ( 404 )
331
+ expect ( res . body . message ) . to . equal ( 'Task doesn\'t exist' )
332
+ return done ( )
333
+ } )
334
+ } )
335
+
336
+ it ( 'Should return Forbidden error if task is not assigned to self' , async function ( ) {
337
+ const { userId } = await addUser ( userData [ 1 ] )
338
+ const jwt = authService . generateAuthToken ( { userId } )
339
+
340
+ const res = await chai
341
+ . request ( app )
342
+ . patch ( `/tasks/self/${ taskId1 } ` )
343
+ . set ( 'cookie' , `${ cookieName } =${ jwt } ` )
344
+
345
+ expect ( res ) . to . have . status ( 403 )
346
+ expect ( res . body . message ) . to . equal ( 'This task is not assigned to you' )
347
+ } )
348
+
349
+ it ( 'Should give error for no cookie' , async function ( done ) {
350
+ chai
351
+ . request ( app )
352
+ . patch ( `/tasks/self/${ taskId1 } ` )
353
+ . send ( taskStatusData )
354
+ . end ( ( err , res ) => {
355
+ if ( err ) { return done ( err ) }
356
+ expect ( res ) . to . have . status ( 401 )
357
+ expect ( res . body . message ) . to . be . equal ( 'Unauthenticated User' )
358
+ return done ( )
359
+ } )
360
+ . catch ( done ( ) )
361
+ } )
362
+ } )
296
363
} )
0 commit comments