From ab6534087bb65e2273e0cf2e3d3bf3ffef33ee4b Mon Sep 17 00:00:00 2001 From: Roland Bernard <rolbernard@unibz.it> Date: Tue, 25 May 2021 22:44:50 +0200 Subject: [PATCH] Added more tests for the project api endpoint --- server/src/v1/project.test.ts | 60 +++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/server/src/v1/project.test.ts b/server/src/v1/project.test.ts index 5c44d28..3ee499b 100644 --- a/server/src/v1/project.test.ts +++ b/server/src/v1/project.test.ts @@ -262,3 +262,63 @@ describe('GET /project/:uuid/work', () => { }); }); +describe('GET /project/:uuid/activity', () => { + test('returns time worked for all days', async () => { + const response = await request + .get('/v1/project/00000000-0000-4000-8000-000000000002/activity') + .set('Authorization', `Bearer ${await generateAuthToken('00000000-0000-4000-8000-000000000000')}`); + expect(response.status).toEqual(200); + expect(response.body.status).toEqual('success'); + expect(response.body.activity.length).toEqual(1); + }); + + test('returns the total amount of work for each day', async () => { + const response = await request + .get('/v1/project/00000000-0000-4000-8000-000000000002/activity') + .set('Authorization', `Bearer ${await generateAuthToken('00000000-0000-4000-8000-000000000000')}`); + expect(response.status).toEqual(200); + expect(response.body.status).toEqual('success'); + expect(response.body.activity[0].day).toEqual('2020-10-10'); + expect(response.body.activity[0].time).toEqual(120 * 60 * 1000); + }); + + test('can be limited in time with from date', async () => { + const response = await request + .get(`/v1/project/00000000-0000-4000-8000-000000000002/activity?since=${Date.parse('2020-10-10T20:00:00')}`) + .set('Authorization', `Bearer ${await generateAuthToken('00000000-0000-4000-8000-000000000000')}`); + expect(response.status).toEqual(200); + expect(response.body.status).toEqual('success'); + expect(response.body.activity.length).toEqual(0); + }); +}); + +describe('GET /project/:uuid/completion', () => { + test('returns completion for all tasks of the project', async () => { + const response = await request + .get('/v1/project/00000000-0000-4000-8000-000000000002/completion') + .set('Authorization', `Bearer ${await generateAuthToken('00000000-0000-4000-8000-000000000000')}`); + expect(response.status).toEqual(200); + expect(response.body.status).toEqual('success'); + expect(response.body.completion).toEqual({ + open: 1, + closed: 1, + suspended: 1, + overdue: 1, + }); + }); + + test('can be limited in time with from date', async () => { + const response = await request + .get(`/v1/project/00000000-0000-4000-8000-000000000002/completion?since=${Date.parse('2020-10-30T20:00:00')}`) + .set('Authorization', `Bearer ${await generateAuthToken('00000000-0000-4000-8000-000000000000')}`); + expect(response.status).toEqual(200); + expect(response.body.status).toEqual('success'); + expect(response.body.completion).toEqual({ + open: 0, + closed: 0, + suspended: 0, + overdue: 1, + }); + }); +}); + -- GitLab