@@ -16,7 +16,7 @@ const {
1616
1717const userData = require ( "../fixtures/user/user" ) ( ) ;
1818const taskData = require ( "../fixtures/tasks/tasks" ) ( ) ;
19- const { INTERNAL_SERVER_ERROR_MESSAGE } = require ( "../../constants/progresses" ) ;
19+ const { INTERNAL_SERVER_ERROR_MESSAGE , UNAUTHORIZED_WRITE } = require ( "../../constants/progresses" ) ;
2020const cookieName = config . get ( "userToken.cookieName" ) ;
2121const { expect } = chai ;
2222
@@ -32,6 +32,8 @@ describe("Test Progress Updates API for Tasks", function () {
3232 let taskId1 ;
3333 let taskId2 ;
3434 let fetchMock ;
35+ let archivedUserId ;
36+ let archivedUserToken ;
3537
3638 beforeEach ( async function ( ) {
3739 fetchMock = sinon . stub ( global , "fetch" ) ;
@@ -40,6 +42,8 @@ describe("Test Progress Updates API for Tasks", function () {
4042 toFake : [ "Date" ] ,
4143 } ) ;
4244 userId = await addUser ( userData [ 1 ] ) ;
45+ archivedUserId = await addUser ( userData [ 5 ] ) ;
46+ archivedUserToken = authService . generateAuthToken ( { userId : archivedUserId } ) ;
4347 userToken = authService . generateAuthToken ( { userId : userId } ) ;
4448 const taskObject1 = await tasks . updateTask ( taskData [ 0 ] ) ;
4549 taskId1 = taskObject1 . taskId ;
@@ -165,6 +169,22 @@ describe("Test Progress Updates API for Tasks", function () {
165169 return done ( ) ;
166170 } ) ;
167171 } ) ;
172+
173+ it ( "should return forbidden response when user is not in discord" , function ( done ) {
174+ chai
175+ . request ( app )
176+ . post ( "/progresses" )
177+ . set ( "Cookie" , `${ cookieName } =${ archivedUserToken } ` )
178+ . send ( taskProgressDay1 ( "1111" ) )
179+ . end ( ( err , res ) => {
180+ if ( err ) {
181+ return done ( err ) ;
182+ }
183+ expect ( res . statusCode ) . to . equal ( 403 ) ;
184+ expect ( res . body . message ) . to . equal ( UNAUTHORIZED_WRITE ) ;
185+ return done ( ) ;
186+ } ) ;
187+ } ) ;
168188 } ) ;
169189
170190 describe ( "Verify the GET progress records" , function ( ) {
0 commit comments