Skip to content

Commit

Permalink
COM-3650 - add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Sophie Moustard committed Mar 8, 2024
1 parent 0abd841 commit 4f4416c
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 3 deletions.
4 changes: 2 additions & 2 deletions src/helpers/activityHistories.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ const has = require('lodash/has');
const get = require('lodash/get');
const ActivityHistory = require('../models/ActivityHistory');
const UserCompany = require('../models/UserCompany');
const { STRICTLY_E_LEARNING, PTOS } = require('./constants');
const { STRICTLY_E_LEARNING, PT0S } = require('./constants');
const UtilsHelper = require('./utils');
const { CompaniDuration } = require('./dates/companiDurations');

exports.addActivityHistory = async payload => ActivityHistory
.create({ ...payload, duration: CompaniDuration(payload.duration || PTOS).asSeconds() });
.create({ ...payload, duration: CompaniDuration(payload.duration || PT0S).asSeconds() });

const filterCourses = activityHistory => ({
...activityHistory,
Expand Down
12 changes: 12 additions & 0 deletions tests/integration/activityHistories.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ describe('ACTIVITY HISTORIES ROUTES - POST /activityhistories', () => {
{ card: cardsList[5]._id, answerList: [new ObjectId()] },
],
score: 1,
duration: 'PT23S',
};

beforeEach(populateDB);
Expand Down Expand Up @@ -58,6 +59,17 @@ describe('ACTIVITY HISTORIES ROUTES - POST /activityhistories', () => {
expect(response.statusCode).toBe(200);
});

it('should create activityHistory without duration', async () => {
const response = await app.inject({
method: 'POST',
url: '/activityhistories',
payload: omit(payload, 'duration'),
headers: { 'x-access-token': authToken },
});

expect(response.statusCode).toBe(200);
});

it('should return a 404 if user doesn\'t exist', async () => {
const response = await app.inject({
method: 'POST',
Expand Down
16 changes: 15 additions & 1 deletion tests/unit/helpers/activityHistories.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,26 @@ describe('addActivityHistory', () => {
const activityId = new ObjectId();
const userId = new ObjectId();
const questionnaireAnswersList = [{ card: new ObjectId(), answerList: ['blabla'] }];
const payload = { user: userId, activity: activityId, questionnaireAnswersList, duration: 'PT36S' };

await ActivityHistoryHelper.addActivityHistory(payload);

sinon.assert.calledOnceWithExactly(
create,
{ user: userId, activity: activityId, questionnaireAnswersList, duration: 36 }
);
});

it('should create an activityHistory without duration', async () => {
const activityId = new ObjectId();
const userId = new ObjectId();
const questionnaireAnswersList = [{ card: new ObjectId(), answerList: ['blabla'] }];

await ActivityHistoryHelper.addActivityHistory({ user: userId, activity: activityId, questionnaireAnswersList });

sinon.assert.calledOnceWithExactly(
create,
{ user: userId, activity: activityId, questionnaireAnswersList }
{ user: userId, activity: activityId, questionnaireAnswersList, duration: 0 }
);
});
});
Expand Down
12 changes: 12 additions & 0 deletions tests/unit/helpers/dates/utils.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,3 +87,15 @@ describe('durationAscendingSort', () => {
expect(result).toBe(0);
});
});

describe('formatSecondsToISODuration', () => {
it('should return an ISO duration', () => {
const result = UtilsHelper.formatSecondsToISODuration(12);
expect(result).toBe('PT12S');
});

it('should return a null ISO duration', () => {
const result = UtilsHelper.formatSecondsToISODuration(0);
expect(result).toBe('PT0S');
});
});

0 comments on commit 4f4416c

Please sign in to comment.