diff options
Diffstat (limited to 'spec/super_good/solidus_taxjar/tax_rate_calculator_spec.rb')
-rw-r--r-- | spec/super_good/solidus_taxjar/tax_rate_calculator_spec.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/spec/super_good/solidus_taxjar/tax_rate_calculator_spec.rb b/spec/super_good/solidus_taxjar/tax_rate_calculator_spec.rb index 9a4e2b8..3af89e5 100644 --- a/spec/super_good/solidus_taxjar/tax_rate_calculator_spec.rb +++ b/spec/super_good/solidus_taxjar/tax_rate_calculator_spec.rb @@ -12,6 +12,10 @@ RSpec.describe ::SuperGood::SolidusTaxJar::TaxRateCalculator do let(:dummy_tax_rate) { BigDecimal(0) } + let(:empty_address) do + ::Spree::Address.new + end + let(:incomplete_address) do ::Spree::Address.new( first_name: "Ronnie James", @@ -34,6 +38,21 @@ RSpec.describe ::SuperGood::SolidusTaxJar::TaxRateCalculator do it { expect(subject).to eq dummy_tax_rate } end + context "when the address is an empty address" do + let(:address) { empty_address } + + context "when we're not rescuing from errors" do + around do |example| + handler = SuperGood::SolidusTaxJar.exception_handler + SuperGood::SolidusTaxJar.exception_handler = -> (error) { raise error } + example.run + SuperGood::SolidusTaxJar.exception_handler = handler + end + + it_behaves_like "returns the dummy tax rate" + end + end + context "when the address is not complete" do let(:address) { incomplete_address } |