Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/apollo-level2-web-dev/l2-b1-assignment-10
https://github.com/apollo-level2-web-dev/l2-b1-assignment-10
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/apollo-level2-web-dev/l2-b1-assignment-10
- Owner: Apollo-Level2-Web-Dev
- Created: 2023-11-09T10:37:08.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-09T18:53:29.000Z (about 1 year ago)
- Last Synced: 2023-11-10T16:25:05.037Z (about 1 year ago)
- Size: 2.93 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
**Level 2 Batch 1 Assignment 10**
**Unit-1**
```powershell
function divide(a, b) {
if (b === 0) {
throw new Error('Division by zero');
}
return a / b;
}
```**Test Cases:**
1. **Valid Division**:
- Test that the function correctly divides two positive numbers.
- Example: **`divide(10, 2)`** should return **`5`**.
2. **Valid Division with Negative Numbers**:
- Test that the function correctly handles division with negative numbers.
- Example: **`divide(-10, 2)`** should return **`5`**.
3. **Division by Zero**:
- Test that the function throws an error when attempting to divide by zero.
- Example: **`divide(5, 0)`** should throw an **`Error`** with the message 'Division by zero'.**Unit-2**
```jsx
function executeCallback(callback, taskText) {
callback(taskText);
}function myCallback(taskText) {
console.log(`Task: ${taskText}`);
}// Call executeCallback with a callback function and a task text
executeCallback(myCallback, "Buy groceries");
```**Test Cases:**
1. **Callback Execution**:
- Test that the **`executeCallback`** function correctly calls the provided callback function.
2. **Callback Execution with Task Text**:
- Verify that the callback function is executed with the provided **`taskText`** argument.
- Example: When **`executeCallback(callback, "Buy groceries")`** is called, ensure that the **`callback`** function is invoked with the argument "Buy groceries."**Unit-3**
```jsx
function fetchData() {
return new Promise((resolve, reject) => {
// Simulate an async operation (e.g., fetching data from an API)
setTimeout(() => {
const data = { name: 'John', age: 30 };
resolve(data);
}, 1000); // Simulate a 1-second delay
});
}
```**Test Cases:**
**Successful Data Fetch**:
- Test that the **`fetchData`** function resolves with the correct data when the asynchronous operation is successful.
- For example, you can verify that the function resolves with **`{ name: 'John', age: 30 }`** when the Promise resolves.**Error Handling**:
- Test how the function handles errors. You can create a modified version of **`fetchData`** that rejects the Promise with an error and test that it throws an error.
- For example, ensure that calling **`fetchData`** with a specific argument or configuration correctly rejects the Promise with an error message.### **General Guidelines:**
- Use the Vitest or Jest framework to write and run your tests. Make sure your tests are written following the best practices.
- Comment your code as needed to explain the purpose of your tests and any significant steps you are taking.
- Ensure that your test cases are independent of each other, meaning the outcome of one test should not affect the others.
- Aim for comprehensive test coverage, testing both expected behavior and error conditions where applicable.### **Deadline:**
- 60 marks: November 12, 2023, 11:59 PM
- 50 marks: November 13, 2023, 11:59 PM
- 30 marks: After 13th November, 11.59PM