diff --git a/app/assets/javascripts/darkswarm/controllers/edit_order_controller.js.coffee b/app/assets/javascripts/darkswarm/controllers/edit_order_controller.js.coffee index e39b79c48b..84c5460300 100644 --- a/app/assets/javascripts/darkswarm/controllers/edit_order_controller.js.coffee +++ b/app/assets/javascripts/darkswarm/controllers/edit_order_controller.js.coffee @@ -4,6 +4,7 @@ Darkswarm.controller "EditOrderCtrl", ($scope, $resource, Cart) -> params = {id: id} success = (response) -> $(".line-item-" + id).remove() + Cart.removeFinalisedLineItem(id) fail = (error) -> console.log error diff --git a/app/assets/javascripts/darkswarm/services/cart.js.coffee b/app/assets/javascripts/darkswarm/services/cart.js.coffee index 690f31deef..b80d9a14dd 100644 --- a/app/assets/javascripts/darkswarm/services/cart.js.coffee +++ b/app/assets/javascripts/darkswarm/services/cart.js.coffee @@ -120,6 +120,10 @@ Darkswarm.factory 'Cart', (CurrentOrder, Variants, $timeout, $http, $modal, $roo @line_items = [] localStorageService.clearAll() # One day this will have to be moar GRANULAR + removeFinalisedLineItem: (id) => + @line_items_finalised = @line_items_finalised.filter (item) -> + item.id != id + reloadFinalisedLineItems: => @line_items_finalised = [] $resource("/line_items").query (items) => diff --git a/spec/features/consumer/shopping/cart_spec.rb b/spec/features/consumer/shopping/cart_spec.rb index cc808d7116..6a213ddec6 100644 --- a/spec/features/consumer/shopping/cart_spec.rb +++ b/spec/features/consumer/shopping/cart_spec.rb @@ -110,6 +110,11 @@ feature "full-page cart", js: true do expect(page).to have_no_content item1.variant.name expect(page).to have_content item2.variant.name + # open the dropdown cart and check there as well + find('#cart').click + expect(page).to have_no_content item1.variant.name + expect(page).to have_content item2.variant.name + visit spree.cart_path expect(page).to have_no_content item1.variant.name expect(page).to have_content item2.variant.name