From 012a210782ef457aea0e0baef093da9b386638a2 Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Tue, 28 Jul 2015 14:37:25 +1000 Subject: [PATCH] Add method to clear cart --- app/assets/javascripts/darkswarm/services/cart.js.coffee | 3 +++ spec/javascripts/unit/darkswarm/services/cart_spec.js.coffee | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/app/assets/javascripts/darkswarm/services/cart.js.coffee b/app/assets/javascripts/darkswarm/services/cart.js.coffee index 286b22c770..5e1f5889d4 100644 --- a/app/assets/javascripts/darkswarm/services/cart.js.coffee +++ b/app/assets/javascripts/darkswarm/services/cart.js.coffee @@ -69,6 +69,9 @@ Darkswarm.factory 'Cart', (CurrentOrder, Variants, $timeout, $http)-> exists = @line_items.some (li)-> li.variant == variant @create_line_item(variant) unless exists + clear: -> + @line_items = [] + create_line_item: (variant)-> variant.extended_name = @extendedVariantName(variant) variant.line_item = diff --git a/spec/javascripts/unit/darkswarm/services/cart_spec.js.coffee b/spec/javascripts/unit/darkswarm/services/cart_spec.js.coffee index cc65f043cd..0519b59763 100644 --- a/spec/javascripts/unit/darkswarm/services/cart_spec.js.coffee +++ b/spec/javascripts/unit/darkswarm/services/cart_spec.js.coffee @@ -71,6 +71,11 @@ describe 'Cart service', -> $timeout.flush() expect(Cart.orderChanged).toHaveBeenCalled() + it "clears the cart", -> + expect(Cart.line_items).not.toEqual [] + Cart.clear() + expect(Cart.line_items).toEqual [] + describe "generating an extended variant name", -> it "returns the product name when it is the same as the variant name", -> variant = {product_name: 'product_name', name_to_display: 'product_name'}