diff --git a/test/api/v3/integration/tasks/GET-tasks_id.test.js b/test/api/v3/integration/tasks/GET-tasks_id.test.js index 6c6c722703..4e69788c6c 100644 --- a/test/api/v3/integration/tasks/GET-tasks_id.test.js +++ b/test/api/v3/integration/tasks/GET-tasks_id.test.js @@ -3,6 +3,7 @@ import { requester, translate as t, } from '../../../../helpers/api-integration.helper'; +import { v4 as generateUUID } from 'uuid'; describe('GET /tasks/:id', () => { let user, api; @@ -18,18 +19,51 @@ describe('GET /tasks/:id', () => { let task; beforeEach(() => { - // generate task - // task = generatedTask; + return api.post('/tasks', { + text: 'test habit', + type: 'habit', + }).then((createdTask) => { + task = createdTask; + }); }); - it('gets specified task'); + it('gets specified task', () => { + return api.get('/tasks/' + task._id) + .then((getTask) => { + expect(getTask).to.eql(task); + }); + }); + // TODO after challenges are implemented it('can get active challenge task that user does not own'); // Yes? }); context('task cannot accessed', () => { - it('cannot get a non-existant task'); + it('cannot get a non-existant task', () => { + return expect(api.get('/tasks/' + generateUUID())).to.eventually.be.rejected.and.eql({ + code: 404, + error: 'NotFound', + message: t('taskNotFound'), + }); + }); - it('cannot get a task owned by someone else'); + it('cannot get a task owned by someone else', () => { + let api2; + + return generateUser() + .then((user2) => { + api2 = requester(user2); + return api.post('/tasks', { + text: 'test habit', + type: 'habit', + }) + }).then((task) => { + return expect(api2.get('/tasks/' + task._id)).to.eventually.be.rejected.and.eql({ + code: 404, + error: 'NotFound', + message: t('taskNotFound'), + }); + }); + }); }); });