mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-27 01:43:22 +00:00
Remove stub after test and create two distinct calculators
This commit is contained in:
committed by
Maikel Linke
parent
68ca352510
commit
bd97d08653
@@ -1,18 +1,18 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe Spree::Calculator::FlexiRate do
|
||||
let(:calculator) { Spree::Calculator::FlexiRate.new(preferred_first_item: 2, preferred_additional_item: 1) }
|
||||
let(:calculator_first) { Spree::Calculator::FlexiRate.new(preferred_first_item: 2, preferred_additional_item: 1, preferred_max_items: 3.0) }
|
||||
let(:calculator_second) { Spree::Calculator::FlexiRate.new(preferred_first_item: 2, preferred_additional_item: 1, preferred_max_items: 5.0) }
|
||||
|
||||
let(:line_item) { instance_double(Spree::LineItem, amount: 10, quantity: 4) }
|
||||
|
||||
describe "computing for a single line item" do
|
||||
it "returns the first item rate when above max" do
|
||||
calculator.stub preferred_max_items: 3.0
|
||||
expect(calculator.compute(line_item).round(2)).to eq(4.0)
|
||||
it "returns the first item rate when quantity is above max" do
|
||||
expect(calculator_first.compute(line_item).round(2)).to eq(4.0)
|
||||
end
|
||||
|
||||
it "returns the first item rate when below max" do
|
||||
calculator.stub preferred_max_items: 5.0
|
||||
expect(calculator.compute(line_item).round(2)).to eq(5.0)
|
||||
it "returns the first item rate when quantity is below max" do
|
||||
expect(calculator_second.compute(line_item).round(2)).to eq(5.0)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user