Skip to content

Commit 9fb5d9e

Browse files
committed
completed course additions for placeholder data
1 parent cac9c58 commit 9fb5d9e

File tree

2 files changed

+65
-20
lines changed

2 files changed

+65
-20
lines changed

misc/initDB.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,11 @@ const SEMS = generateSemesters();
7979
const createdSems = await Semester.createMultiple(SEMS);
8080

8181
const COURSES = generateCourses(
82-
createdSems,
83-
createdModules,
84-
createdPracs,
85-
createdTuts,
86-
createdDepts,
82+
createdSems.map((createdSem) => createdSem._id),
83+
createdModules.map((createdModule) => createdModule._id),
84+
createdPracs.map((createdPrac) => createdPrac._id),
85+
createdTuts.map((createdTut) => createdTut._id),
86+
createdDepts.map((createdDept) => createdDept._id),
8787
);
8888

8989
const createdCourses = await Course.createMultiple(COURSES); // eslint-disable-line no-unused-vars

misc/mockDB/courseMock.js

Lines changed: 60 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,39 @@ const generateRandomLevels = () => {
99
return levels;
1010
};
1111

12+
const generateRandomStrings = () => {
13+
const strings = [];
14+
for (let i = 0; i <= 6; i += 1) {
15+
const string = faker.lorem.sentence({ min: 3, max: 6 });
16+
strings.push(string);
17+
}
18+
return strings;
19+
};
20+
1221
const generateRandomOutcomes = () => {
1322
const outcomes = [];
14-
const outcome = faker.lorem.sentence({ min: 3, max: 6 });
1523
for (let i = 0; i <= 6; i += 1) {
24+
const outcome = {
25+
outcome: faker.lorem.sentence({ min: 3, max: 6 }),
26+
RBTLevel: generateRandomLevels(),
27+
};
1628
outcomes.push(outcome);
1729
}
1830
return outcomes;
1931
};
2032

21-
const createRandomCourses = (type) => ({
33+
const createRandomCourses = (
34+
type,
35+
selectedModules,
36+
selectedPracs,
37+
selectedTuts,
38+
createdDept,
39+
) => ({
2240
name: faker.lorem.sentence({ min: 1, max: 3 }),
2341
code: faker.vehicle.vin(),
2442
theoryHours:
2543
type === "onlypractical" ? null : faker.number.int({ min: 2, max: 6 }),
26-
department: faker.database.mongodbObjectId(), // TODO
44+
department: createdDept, // TODO
2745
tutorialHours:
2846
type === "tutorial" ? faker.number.int({ min: 2, max: 6 }) : null,
2947
practicalHours: faker.helpers.weightedArrayElement([
@@ -36,17 +54,14 @@ const createRandomCourses = (type) => ({
3654
practicalMarks: type === "nopractical" ? null : 30,
3755
semester: faker.database.mongodbObjectId(),
3856
subType: faker.helpers.arrayElement(["open", "professional", "core"]),
39-
prerequisites: generateRandomOutcomes(),
57+
prerequisites: generateRandomStrings(),
4058
objective: faker.lorem.sentence({ min: 6, max: 10 }),
41-
outcomes: {
42-
outcome: faker.lorem.sentence({ min: 3, max: 6 }),
43-
RBTLevel: generateRandomLevels(),
44-
},
45-
modules: [faker.database.mongodbObjectId()],
46-
practicals: [faker.database.mongodbObjectId()],
47-
tutorials: [faker.database.mongodbObjectId()],
48-
assignments: [faker.database.mongodbObjectId()],
49-
reccTextbooks: generateRandomOutcomes(),
59+
outcomes: generateRandomOutcomes(),
60+
modules: selectedModules,
61+
practicals: selectedPracs,
62+
tutorials: selectedTuts,
63+
assignments: [],
64+
reccTextbooks: generateRandomStrings(),
5065
refBooks: faker.lorem.word({ length: { min: 5, max: 7 } }),
5166
});
5267

@@ -58,14 +73,44 @@ const generateCourses = (
5873
createdDepts,
5974
) => {
6075
const courses = [];
61-
for (let i = 0, j = 0; j <= createdDepts.length; i += 1) {
76+
let selectedModules = [];
77+
let selectedPracs = [];
78+
let selectedTuts = [];
79+
for (
80+
let i = 0, j = 0, k = 0, l = 0, m = 0;
81+
j <= createdDepts.length;
82+
i += 1, k += 1
83+
) {
6284
const type = faker.helpers.weightedArrayElement([
6385
{ value: "normal", weight: 12 },
6486
{ value: "tutorial", weight: 2 },
6587
{ value: "nopractical", weight: 2 },
6688
{ value: "onlypractical", weight: 1 },
6789
]);
68-
courses.push(createRandomCourses(type));
90+
selectedModules = [];
91+
selectedPracs = [];
92+
selectedTuts = [];
93+
if (type !== "onlypractical") {
94+
selectedModules = createdModules.slice(k, k + 5);
95+
k += 6;
96+
}
97+
if (type !== "nopractical") {
98+
selectedPracs = createdPracs.slice(l, l + 12);
99+
l += 13;
100+
}
101+
if (type === "tutorial") {
102+
selectedTuts = createdTuts.slice(m, m + 10);
103+
m += 11;
104+
}
105+
courses.push(
106+
createRandomCourses(
107+
type,
108+
selectedModules,
109+
selectedPracs,
110+
selectedTuts,
111+
createdDepts[j],
112+
),
113+
);
69114
if (i >= createdSems.length) {
70115
i = 0;
71116
j += 1;

0 commit comments

Comments
 (0)