Files
openfoodnetwork/spec/models/calculator/weight_spec.rb
2013-10-18 17:29:55 +11:00

28 lines
965 B
Ruby

require 'spec_helper'
describe OpenFoodNetwork::Calculator::Weight do
it "computes shipping cost for an order by total weight" do
variant_1 = double(:variant, :weight => 10)
variant_2 = double(:variant, :weight => 20)
variant_3 = double(:variant, :weight => nil)
line_item_1 = double(:line_item, :variant => variant_1, :quantity => 1)
line_item_2 = double(:line_item, :variant => variant_2, :quantity => 3)
line_item_3 = double(:line_item, :variant => variant_3, :quantity => 5)
order = double(:order, :line_items => [line_item_1, line_item_2, line_item_3])
subject.set_preference(:per_kg, 10)
subject.compute(order).should == (10*1 + 20*3) * 10
end
it "computes shipping cost for a line item" do
variant = double(:variant, :weight => 10)
line_item = double(:line_item, :variant => variant, :quantity => 2)
subject.set_preference(:per_kg, 10)
subject.compute(line_item).should == 10*2 * 10
end
end