Skip to content

Commit

Permalink
Add shared example for calculator.description
Browse files Browse the repository at this point in the history
  • Loading branch information
Graeme Nathan committed Oct 25, 2016
1 parent fe40325 commit aa1bfdf
Show file tree
Hide file tree
Showing 17 changed files with 40 additions and 64 deletions.
6 changes: 2 additions & 4 deletions core/spec/models/spree/calculator/default_tax_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
require 'spec_helper'
require 'shared_examples/calculator_shared_examples'

describe Spree::Calculator::DefaultTax, type: :model do
let(:address) { create(:address) }
Expand All @@ -9,10 +10,7 @@
let(:included_in_price) { false }
subject(:calculator) { Spree::Calculator::DefaultTax.new(calculable: rate ) }

describe ".description" do
subject { described_class.description }
it { is_expected.to eq("Default Tax") }
end
it_behaves_like 'a calculator with a description'

context "#compute" do
context "when given an order" do
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
require 'spec_helper'
require 'shared_examples/calculator_shared_examples'

describe Spree::Calculator::FlatPercentItemTotal, type: :model do
let(:calculator) { Spree::Calculator::FlatPercentItemTotal.new }
let(:line_item) { mock_model Spree::LineItem }

describe ".description" do
subject { described_class.description }
it { is_expected.to eq("Flat Percent") }
end
it_behaves_like 'a calculator with a description'

before { allow(calculator).to receive_messages preferred_flat_percent: 10 }

Expand Down
6 changes: 2 additions & 4 deletions core/spec/models/spree/calculator/flat_rate_spec.rb
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
require 'spec_helper'
require 'shared_examples/calculator_shared_examples'

describe Spree::Calculator::FlatRate, type: :model do
let(:calculator) { Spree::Calculator::FlatRate.new }

describe ".description" do
subject { described_class.description }
it { is_expected.to eq("Flat Rate") }
end
it_behaves_like 'a calculator with a description'

let(:order) do
mock_model(
Expand Down
6 changes: 2 additions & 4 deletions core/spec/models/spree/calculator/flexi_rate_spec.rb
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
require 'spec_helper'
require 'shared_examples/calculator_shared_examples'

describe Spree::Calculator::FlexiRate, type: :model do
let(:calculator) { Spree::Calculator::FlexiRate.new }

describe ".description" do
subject { described_class.description }
it { is_expected.to eq("Flexible Rate") }
end
it_behaves_like 'a calculator with a description'

let(:order) do
mock_model(
Expand Down
6 changes: 2 additions & 4 deletions core/spec/models/spree/calculator/free_shipping_spec.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
require 'spec_helper'
require 'shared_examples/calculator_shared_examples'

describe Spree::Calculator::FreeShipping, type: :model do
describe ".description" do
subject { described_class.description }
it { is_expected.to eq("Free Shipping") }
end
it_behaves_like 'a calculator with a description'
end
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
require 'spec_helper'
require 'shared_examples/calculator_shared_examples'

module Spree
class Calculator
Expand All @@ -13,10 +14,7 @@ class Calculator
end
end

describe ".description" do
subject { described_class.description }
it { is_expected.to eq("Percent Per Item") }
end
it_behaves_like 'a calculator with a description'
end
end
end
6 changes: 2 additions & 4 deletions core/spec/models/spree/calculator/percent_per_item_spec.rb
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
require 'spec_helper'
require 'shared_examples/calculator_shared_examples'

module Spree
class Calculator
describe PercentPerItem, type: :model do
describe ".description" do
subject { described_class.description }
it { is_expected.to eq("Percent Per Item") }
end
it_behaves_like 'a calculator with a description'
end
end
end
6 changes: 2 additions & 4 deletions core/spec/models/spree/calculator/price_sack_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
require 'spec_helper'
require 'shared_examples/calculator_shared_examples'

describe Spree::Calculator::PriceSack, type: :model do
let(:calculator) do
Expand All @@ -9,10 +10,7 @@
calculator
end

describe ".description" do
subject { described_class.description }
it { is_expected.to eq("Price Sack") }
end
it_behaves_like 'a calculator with a description'

let(:order) { stub_model(Spree::Order) }
let(:shipment) { stub_model(Spree::Shipment, amount: 10) }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
require 'spec_helper'
require 'shared_examples/calculator_shared_examples'

describe Spree::Calculator::Returns::DefaultRefundAmount, type: :model do
let(:line_item_quantity) { 2 }
Expand All @@ -9,10 +10,7 @@
let(:calculator) { Spree::Calculator::Returns::DefaultRefundAmount.new }
let(:order) { line_item.order }

describe ".description" do
subject { described_class.description }
it { is_expected.to eq("Default Refund Amount") }
end
it_behaves_like 'a calculator with a description'

subject { calculator.compute(return_item) }

Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
require 'spec_helper'
require 'shared_examples/calculator_shared_examples'

module Spree
module Calculator::Shipping
describe FlatPercentItemTotal, type: :model do
let(:variant1) { build(:variant, price: 10.11) }
let(:variant2) { build(:variant, price: 20.2222) }

describe ".description" do
subject { described_class.description }
it { is_expected.to eq("Flat Percent") }
end
it_behaves_like 'a calculator with a description'

let(:line_item1) { build(:line_item, variant: variant1) }
let(:line_item2) { build(:line_item, variant: variant2) }
Expand Down
6 changes: 2 additions & 4 deletions core/spec/models/spree/calculator/shipping/flat_rate_spec.rb
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
require 'spec_helper'
require 'shared_examples/calculator_shared_examples'

module Spree
module Calculator::Shipping
describe FlatRate, type: :model do
subject { Calculator::Shipping::FlatRate.new(preferred_amount: 4.00) }

describe ".description" do
subject { described_class.description }
it { is_expected.to eq("Flat rate") }
end
it_behaves_like 'a calculator with a description'

it 'always returns the same rate' do
expect(subject.compute(build(:stock_package_fulfilled))).to eql 4.00
Expand Down
6 changes: 2 additions & 4 deletions core/spec/models/spree/calculator/shipping/flexi_rate_spec.rb
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
require 'spec_helper'
require 'shared_examples/calculator_shared_examples'

module Spree
module Calculator::Shipping
describe FlexiRate, type: :model do
let(:variant1) { build(:variant, price: 10) }
let(:variant2) { build(:variant, price: 20) }

describe ".description" do
subject { described_class.description }
it { is_expected.to eq("Flexible Rate per package item") }
end
it_behaves_like 'a calculator with a description'

let(:package) do
build(:stock_package, variants_contents: { variant1 => 4, variant2 => 6 })
Expand Down
6 changes: 2 additions & 4 deletions core/spec/models/spree/calculator/shipping/per_item_spec.rb
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
require 'spec_helper'
require 'shared_examples/calculator_shared_examples'

module Spree
module Calculator::Shipping
describe PerItem, type: :model do
let(:variant1) { build(:variant) }
let(:variant2) { build(:variant) }

describe ".description" do
subject { described_class.description }
it { is_expected.to eq("Flat rate per package item") }
end
it_behaves_like 'a calculator with a description'

let(:package) do
build(:stock_package, variants_contents: { variant1 => 5, variant2 => 3 })
Expand Down
6 changes: 2 additions & 4 deletions core/spec/models/spree/calculator/shipping/price_sack_spec.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
require 'spec_helper'
require 'shared_examples/calculator_shared_examples'

describe Spree::Calculator::Shipping::PriceSack, type: :model do
let(:calculator) do
Expand All @@ -9,10 +10,7 @@
calculator
end

describe ".description" do
subject { described_class.description }
it { is_expected.to eq("Price sack") }
end
it_behaves_like 'a calculator with a description'

let(:order) { stub_model(Spree::Order) }
let(:shipment) { stub_model(Spree::Shipment, amount: 10) }
Expand Down
6 changes: 2 additions & 4 deletions core/spec/models/spree/calculator/tiered_flat_rate_spec.rb
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
require 'spec_helper'
require 'shared_examples/calculator_shared_examples'

describe Spree::Calculator::TieredFlatRate, type: :model do
let(:calculator) { Spree::Calculator::TieredFlatRate.new }

describe ".description" do
subject { described_class.description }
it { is_expected.to eq("Tiered Flat Rate") }
end
it_behaves_like 'a calculator with a description'

describe "#valid?" do
subject { calculator.valid? }
Expand Down
6 changes: 2 additions & 4 deletions core/spec/models/spree/calculator/tiered_percent_spec.rb
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
require 'spec_helper'
require 'shared_examples/calculator_shared_examples'

describe Spree::Calculator::TieredPercent, type: :model do
let(:calculator) { Spree::Calculator::TieredPercent.new }

describe ".description" do
subject { described_class.description }
it { is_expected.to eq("Tiered Percent") }
end
it_behaves_like 'a calculator with a description'

describe "#valid?" do
subject { calculator.valid? }
Expand Down
8 changes: 8 additions & 0 deletions core/spec/shared_examples/calculator_shared_examples.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
shared_examples_for 'a calculator with a description' do
describe ".description" do
subject { described_class.description }
it "has a description" do
expect(subject.size).to be > 0
end
end
end

0 comments on commit aa1bfdf

Please sign in to comment.