diff --git a/app/models/spree/variant_decorator.rb b/app/models/spree/variant_decorator.rb index 63ae5e0f3a..1ad2dd75d0 100644 --- a/app/models/spree/variant_decorator.rb +++ b/app/models/spree/variant_decorator.rb @@ -1,3 +1,4 @@ +require 'open_food_network/enterprise_fee_calculator' require 'open_food_network/option_value_namer' Spree::Variant.class_eval do @@ -44,7 +45,7 @@ Spree::Variant.class_eval do end def fees_for(distributor, order_cycle) - order_cycle.fees_for(self, distributor) + OpenFoodNetwork::EnterpriseFeeCalculator.new(distributor, order_cycle).fees_for self end diff --git a/spec/models/spree/variant_spec.rb b/spec/models/spree/variant_spec.rb index 5ddff963df..d1d833664a 100644 --- a/spec/models/spree/variant_spec.rb +++ b/spec/models/spree/variant_spec.rb @@ -82,12 +82,13 @@ module Spree describe "calculating the fees" do - it "delegates to order cycle" do + it "delegates to EnterpriseFeeCalculator" do distributor = double(:distributor) order_cycle = double(:order_cycle) variant = Variant.new - order_cycle.should_receive(:fees_for).with(variant, distributor) { 23 } + OpenFoodNetwork::EnterpriseFeeCalculator.any_instance.should_receive(:fees_for).with(variant) { 23 } + variant.fees_for(distributor, order_cycle).should == 23 end end