var productBasket = function (products) {
return {
total: function () {
return products.reduce(function (prev, curr) {
return prev + curr;
}, 0);
}
}
};
describe('Product basket', function () {
describe('#total()', function () {
it('returns 0 when basket is empty', function () {
expect(productBasket([]).total()).toEqual(0);
});
it('returns price of a single product in the basket', function () {
expect(productBasket([10]).total()).toEqual(10);
});
it('returns price of multiple products in the basket', function () {
expect(productBasket([10, 20, 30]).total()).toEqual(60);
});
})
});