'How to prevent Jest from combining results?
I currently have two jest test cases the first one passes, but the second fails because its adding the sum of the previous case to that one
test('Subtotal to be 386.95 & VAT to be 54.173', () => {
cart = ["tshirt", "shoes", "jacket", "blouse", "pants"]
expect(calculateSubTotal(cart)).toBe(386.95);
expect(calculateVAT(cart)).toBe(54.173)
})
test('Subtotal to be 30.99 & VAT to be 4.388', () => {
cart = ["tshirt"]
expect(calculateSubTotal(cart)).toBe(30.99);
expect(calculateVAT(cart)).toBe(4.338)
});
expect(received).toBe(expected) // Object.is equality
Expected: 30.99
Received: 417.94
calculateSubTotal implementation:
cart.js
let products = {...} // products map by product name
let subTotal = 0 // line number 60
function calculateSubTotal(cart) {
// line number 75
for (i = 0; i < cart.length; i++) {
switch (cart[i]) {
case ("tshirt"):
subTotal += products.tshirt.price
break
case ("blouse"):
subTotal += products.blouse.price
break
// ... other product
}
}
subTotal = Number(subTotal.toFixed(2))
return subTotal
}
module.exports.calculateSubTotal = calculateSubTotal;
// another function
What do I need to do for jest to break out of the first test and not combine the test results?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
