Skip to content

Instantly share code, notes, and snippets.

@mpj
Created November 26, 2017 21:03
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save mpj/89da4ff3aed98c67f5dd06299b76e996 to your computer and use it in GitHub Desktop.
Save mpj/89da4ff3aed98c67f5dd06299b76e996 to your computer and use it in GitHub Desktop.
Code from Unit testing in JavaScript Part 3 - Test runners
function orderTotal(order) {
return order.items.reduce((prev, cur) => cur.price * (cur.quantity || 1) + prev, 0)
}
module.exports = orderTotal
const orderTotal = require('./order-total')
it('Quantity', () =>
expect(orderTotal({
items: [
{ 'name': 'Dragon candy', price: 2, quantity: 3 }
]
})).toBe(6))
it('No quantity specified', () =>
expect(orderTotal({
items: [
{ 'name': 'Dragon candy', price: 3 }
]
})).toBe(3)
)
it('Happy path (Example 1)', () =>
expect(orderTotal({
items: [
{ name: 'Dragon food', price: 8, quantity: 1 },
{ name: 'Dragon cage (small)', price: 800, quantity: 1 }
]
})).toBe(808)
)
it('Happy path (Example 2)', () =>
expect(orderTotal({
items: [
{ name: 'Dragon collar', price: 20, quantity: 1 },
{ name: 'Dragon chew toy', price: 40, quantity: 1 }
]
})).toBe(60))
{
"name": "test-runners",
"version": "1.0.0",
"description": "",
"main": "code-and-tests.js",
"scripts": {
"test": "jest",
"watch": "jest --watch *.js"
},
"author": "",
"license": "ISC",
"devDependencies": {
"jest": "^21.2.1"
}
}
@lightningwind
Copy link

I was able to follow along with the video, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment