You've been tasked with improving some of the functionality of Canvas by building a few new functions that will help educators evaluate student submissions. Complete the functions in this Lab using what you've learned about built-in methods.
-
Fork and clone this repository.
-
Navigate to the cloned repository's directory on your command line. Then, run the following command:
npm install
This will install the libraries needed to run the tests.
-
Open up the repository in VSCode. Follow the instructions below to complete the Lab.
You'll complete three functions inside of the index.js
file. For each function, you will need to use at least one built-in method. Each function is described in the index.js
file and examples can be found in the tests.
When a function references assignments
as a parameter, it's referring to an object with the following shape.
const assignments = {
quizzes: [
{ title: "Arrays", score: { received: 4, max: 5 } },
{ title: "Objects", score: { received: 5, max: 6 } },
{ title: "Loops", score: { received: 2, max: 4 } },
],
labs: [
{ title: "Arrays", score: { received: 0, max: 1 } },
{ title: "Objects", score: { received: 1, max: 1 } },
{ title: "Loops", score: { received: 1, max: 1 } },
],
projects: [
{ title: "Music Box", score: { received: 14, max: 18 } },
{ title: "Calculator", score: { received: 12, max: 12 } },
],
};
The keys in the assignments
object relate to different categories of assignments. Each category has as its value an array with any number of objects. Each object includes the following keys:
- title: The title of the assignment.
- score: An object representing what the student scored on an assignment.
- score.received: The actual value received on the assignment.
- score.max: The maximum value that could be received on the assignment.
If a function references score
, it refers to the value of the score
key inside of an object. For example:
{ received: 14, max: 18 }
To run the tests, you can run the following command from the command line. You will need to be in the root directory of your repository.
npm test
This will run the test output once.
If you'd like, you can have the tests run constantly. This means that each time you save your file, your tests will re-run. To do so, you can run the following:
npm run watch
Follow the on-screen prompts to exit out of the constant runner.