From 7c0627a82371674756bd2f90593e12d36f601186 Mon Sep 17 00:00:00 2001 From: luisramos0 Date: Tue, 13 Nov 2018 15:59:28 +0000 Subject: [PATCH] Improve failed_checkout_spec by making calculator decorator line_items_for work with new Stock::Package --- app/models/spree/calculator_decorator.rb | 4 ++-- .../spree/calculator/flat_percent_item_total_spec.rb | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/models/spree/calculator_decorator.rb b/app/models/spree/calculator_decorator.rb index f8be4d00ef..0f00234537 100644 --- a/app/models/spree/calculator_decorator.rb +++ b/app/models/spree/calculator_decorator.rb @@ -1,7 +1,6 @@ module Spree Calculator.class_eval do - private # Given an object which might be an Order or a LineItem (amongst @@ -9,10 +8,11 @@ module Spree def line_items_for(object) if object.respond_to? :line_items object.line_items + elsif object.respond_to? :order + object.order.line_items else [object] end end - end end diff --git a/spec/models/spree/calculator/flat_percent_item_total_spec.rb b/spec/models/spree/calculator/flat_percent_item_total_spec.rb index 998b5fca2a..81f81f41c0 100644 --- a/spec/models/spree/calculator/flat_percent_item_total_spec.rb +++ b/spec/models/spree/calculator/flat_percent_item_total_spec.rb @@ -6,11 +6,18 @@ describe Spree::Calculator::FlatPercentItemTotal do before { calculator.stub :preferred_flat_percent => 10 } - it "should compute amount correctly for a single line item" do + it "computes amount correctly for a single line item" do calculator.compute(line_item).should == 1.0 end context "extends LocalizedNumber" do it_behaves_like "a model using the LocalizedNumber module", [:preferred_flat_percent] end + + it "computes amount correctly for a given Stock::Package" do + order = double(:order, line_items: [line_item] ) + package = double(:package, order: order) + + calculator.compute(package).should == 1.0 + end end