Skip to content

Commit 137c89c

Browse files
committed
Fix linter errors
1 parent 2e09683 commit 137c89c

File tree

7 files changed

+73
-39
lines changed

7 files changed

+73
-39
lines changed
+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const getDownloadURL = jest.fn().mockReturnValue("https://test.com/image.jpg");
22

33
module.exports = {
4-
getDownloadURL
5-
};
4+
getDownloadURL,
5+
};

backend/__mocks__/mockData.ts

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/* eslint-disable no-underscore-dangle */
12
import { LearnerDTO, Role, Status } from "../types/userTypes";
23

34
export const testLessons = [

backend/rest/userRoutes.ts

+14-12
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,6 @@ userRouter.put(
363363
const { unitId, moduleId, activityId } = req.body;
364364

365365
// Check that everything exists
366-
const courseUnitService = new CourseUnitService();
367366
const courseUnit = await courseUnitService.getCourseUnit(unitId);
368367

369368
if (!courseUnit) {
@@ -398,9 +397,9 @@ userRouter.put(
398397
moduleId,
399398
activityId,
400399
))!;
401-
res.status(200).json(updatedUser);
400+
return res.status(200).json(updatedUser);
402401
} catch (error) {
403-
res.status(500).send(getErrorMessage(error));
402+
return res.status(500).send(getErrorMessage(error));
404403
}
405404
},
406405
);
@@ -425,12 +424,12 @@ userRouter.get(
425424
0,
426425
);
427426

428-
res.status(200).send({
427+
return res.status(200).send({
429428
completedModules,
430429
numModules,
431430
});
432431
} catch (error) {
433-
res.status(500).send(getErrorMessage(error));
432+
return res.status(500).send(getErrorMessage(error));
434433
}
435434
},
436435
);
@@ -450,15 +449,18 @@ userRouter.put(
450449

451450
const { unitId, moduleId, pageId } = req.body;
452451

453-
const updatedUser = await userService.updateNextPage(learnerId.toString(), {
454-
unitId,
455-
moduleId,
456-
pageId,
457-
});
452+
const updatedUser = await userService.updateNextPage(
453+
learnerId.toString(),
454+
{
455+
unitId,
456+
moduleId,
457+
pageId,
458+
},
459+
);
458460

459-
res.status(200).json(updatedUser);
461+
return res.status(200).json(updatedUser);
460462
} catch (error) {
461-
res.status(500).send(getErrorMessage(error));
463+
return res.status(500).send(getErrorMessage(error));
462464
}
463465
},
464466
);

backend/services/implementations/__tests__/courseModuleService.test.ts

+1-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
import db from "../../../testUtils/testDb";
2-
import CourseModuleService from "../courseModuleService";
32

43
describe("courseModuleService", (): void => {
5-
let courseModuleService: CourseModuleService;
6-
74
beforeAll(async () => {
85
await db.connect();
96
});
@@ -12,9 +9,7 @@ describe("courseModuleService", (): void => {
129
await db.disconnect();
1310
});
1411

15-
beforeEach(async () => {
16-
courseModuleService = new CourseModuleService();
17-
});
12+
beforeEach(async () => {});
1813

1914
afterEach(async () => {
2015
await db.clear();

backend/services/implementations/__tests__/userService.test.ts

+10-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1+
/* eslint-disable no-underscore-dangle */
2+
import mongoose from "mongoose";
13
import MgUser, { Learner, LearnerModel } from "../../../models/user.mgmodel";
24
import UserService from "../userService";
35

46
import { LearnerDTO, UserDTO } from "../../../types/userTypes";
57

6-
import mongoose from "mongoose";
78
import {
89
testActivities,
910
testCourseModules,
@@ -119,8 +120,14 @@ describe("mongo userService", (): void => {
119120
it("updateNextPage", async () => {
120121
const updatedLearner = await userService.updateNextPage(
121122
testLearners[0]._id,
122-
{ unitId: testCourseUnits[0]._id, moduleId: testCourseModules[0]._id, pageId: testCourseModules[0].pages[0] },
123+
{
124+
unitId: testCourseUnits[0]._id,
125+
moduleId: testCourseModules[0]._id,
126+
pageId: testCourseModules[0].pages[0],
127+
},
128+
);
129+
expect(updatedLearner?.nextPage?.toString()).toEqual(
130+
testCourseModules[1].pages[0].toString(),
123131
);
124-
expect(updatedLearner?.nextPage?.toString()).toEqual(testCourseModules[1].pages[0].toString());
125132
});
126133
});

backend/services/implementations/userService.ts

+41-15
Original file line numberDiff line numberDiff line change
@@ -408,24 +408,26 @@ class UserService implements IUserService {
408408
}
409409

410410
async getCompletedModules(learner: LearnerDTO): Promise<Set<string>> {
411-
let completedModules = new Set<string>();
411+
const completedModules = new Set<string>();
412412

413+
// eslint-disable-next-line no-restricted-syntax
413414
for (const unitsMap of learner.activitiesCompleted.values()) {
415+
// eslint-disable-next-line no-restricted-syntax
414416
for (const [
415417
moduleId,
416418
activitiesCompletedInModule,
417419
] of unitsMap.entries()) {
418420
try {
421+
// eslint-disable-next-line no-await-in-loop
419422
const module = await courseModuleService.getCourseModule(moduleId);
420423
const moduleActivities = module.pages.filter(
421424
(page) => page.type === "Activity",
422425
);
423426
if (activitiesCompletedInModule.length === moduleActivities.length) {
424427
completedModules.add(moduleId);
425428
}
426-
} catch (error) {
427-
console.error(`Error finding module ${moduleId}:`, error);
428-
}
429+
// eslint-disable-next-line no-empty
430+
} catch (error) {}
429431
}
430432
}
431433

@@ -446,38 +448,62 @@ class UserService implements IUserService {
446448
return modifiedCount;
447449
}
448450

449-
private async getNextPage(unitId: string, moduleId: string, pageId: string): Promise<string | null> {
450-
const module = await courseModuleService.getCourseModule(moduleId);
451-
const curPageIndex = module.pages.findIndex((page) => page.id === pageId);
452-
const nextPage = module.pages[curPageIndex + 1];
451+
private async getNextPage(
452+
unitId: string,
453+
moduleId: string,
454+
pageId: string,
455+
): Promise<string | null> {
456+
const curModule = await courseModuleService.getCourseModule(moduleId);
457+
const curPageIndex = curModule.pages.findIndex(
458+
(page) => page.id === pageId,
459+
);
460+
const nextPage = curModule.pages[curPageIndex + 1];
453461
if (nextPage) {
454462
return nextPage.id;
455463
}
456464
const unit = await courseUnitService.getCourseUnit(unitId);
457-
const curModuleIndex = unit.modules.findIndex((module) => module === moduleId);
465+
const curModuleIndex = unit.modules.findIndex(
466+
(module) => module === moduleId,
467+
);
458468
const nextModuleId = unit.modules[curModuleIndex + 1];
459469
if (nextModuleId) {
460470
try {
461-
const nextModule = await courseModuleService.getCourseModule(nextModuleId);
471+
const nextModule = await courseModuleService.getCourseModule(
472+
nextModuleId,
473+
);
462474
if (nextModule && nextModule.pages.length > 0) {
463475
return nextModule.pages[0].id;
464476
}
477+
// eslint-disable-next-line no-empty
465478
} catch (error) {}
466479
}
467-
const nextUnit = await courseunitMgmodel.findOne({displayIndex: unit.displayIndex + 1});
480+
const nextUnit = await courseunitMgmodel.findOne({
481+
displayIndex: unit.displayIndex + 1,
482+
});
468483
if (nextUnit) {
469-
const nextModule = await courseModuleService.getCourseModule(nextUnit.modules[0].toString());
484+
const nextModule = await courseModuleService.getCourseModule(
485+
nextUnit.modules[0].toString(),
486+
);
470487
if (nextModule && nextModule.pages.length > 0) {
471488
return nextModule.pages[0].id;
472489
}
473490
}
474491
return null;
475492
}
476493

477-
async updateNextPage(learnerId: string, justViewed: {unitId: string, moduleId: string, pageId: string}): Promise<Learner | null> {
478-
const nextPageId = await this.getNextPage(justViewed.unitId, justViewed.moduleId, justViewed.pageId);
494+
async updateNextPage(
495+
learnerId: string,
496+
justViewed: { unitId: string; moduleId: string; pageId: string },
497+
): Promise<Learner | null> {
498+
const nextPageId = await this.getNextPage(
499+
justViewed.unitId,
500+
justViewed.moduleId,
501+
justViewed.pageId,
502+
);
479503
if (!nextPageId) {
480-
Logger.warn(`No next page found for learner ${learnerId} after viewing ${justViewed.pageId} in module ${justViewed.moduleId} of unit ${justViewed.unitId}`);
504+
Logger.warn(
505+
`No next page found for learner ${learnerId} after viewing ${justViewed.pageId} in module ${justViewed.moduleId} of unit ${justViewed.unitId}`,
506+
);
481507
return null;
482508
}
483509
const updatedUser = await LearnerModel.findByIdAndUpdate(

backend/services/interfaces/userService.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,9 @@ interface IUserService {
162162
* @param justViewed information about the page that the learner just viewed
163163
* @returns the updated learner
164164
*/
165-
updateNextPage(learnerId: string, justViewed: {unitId: string, moduleId: string, pageId: string}): Promise<Learner | null>;
165+
updateNextPage(
166+
learnerId: string,
167+
justViewed: { unitId: string; moduleId: string; pageId: string },
168+
): Promise<Learner | null>;
166169
}
167170
export default IUserService;

0 commit comments

Comments
 (0)