Skip to content

Commit dc9103a

Browse files
authored
test for Patch /tasks/self/:id (#416)
* test for Patch /tasks/self/:id * removing unnecessary logic * storing user to db and using cleanDB * using user from fixtures * removing comments * added test for no cookie
1 parent ff5c938 commit dc9103a

File tree

1 file changed

+68
-1
lines changed

1 file changed

+68
-1
lines changed

test/integration/tasks.test.js

Lines changed: 68 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ const config = require('config')
1212
const cookieName = config.get('userToken.cookieName')
1313
const userData = require('../fixtures/user/user')()
1414
const { DINERO, NEELAM } = require('../../constants/wallets')
15+
const cleanDb = require('../utils/cleanDb')
1516
chai.use(chaiHttp)
1617

1718
const appOwner = userData[3]
@@ -67,7 +68,11 @@ describe('Tasks', function () {
6768
taskId = (await tasks.updateTask(taskData[1])).taskId
6869
})
6970

70-
afterEach(function () {
71+
after(async function () {
72+
await cleanDb()
73+
})
74+
75+
afterEach(async function () {
7176
sinon.restore()
7277
})
7378

@@ -293,4 +298,66 @@ describe('Tasks', function () {
293298
})
294299
})
295300
})
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+
})
296363
})

0 commit comments

Comments
 (0)