From 495f343ce7c93421bbde12745a127aff59ef30d0 Mon Sep 17 00:00:00 2001 From: Jared Norman Date: Tue, 5 Feb 2019 13:19:48 -0800 Subject: Make labels customizable. --- .../solidus_taxjar/tax_calculator_spec.rb | 33 ++++++++++++++++++++++ spec/super_good/solidus_taxjar_spec.rb | 6 ++++ 2 files changed, 39 insertions(+) (limited to 'spec') diff --git a/spec/super_good/solidus_taxjar/tax_calculator_spec.rb b/spec/super_good/solidus_taxjar/tax_calculator_spec.rb index f7a7929..1899443 100644 --- a/spec/super_good/solidus_taxjar/tax_calculator_spec.rb +++ b/spec/super_good/solidus_taxjar/tax_calculator_spec.rb @@ -164,6 +164,7 @@ RSpec.describe ::SuperGood::SolidusTaxJar::TaxCalculator do expect(subject.line_item_taxes.length).to eq 1 item_tax = subject.line_item_taxes.first + aggregate_failures do expect(item_tax.item_id).to eq 33 expect(item_tax.label).to eq "Sales Tax" @@ -173,6 +174,20 @@ RSpec.describe ::SuperGood::SolidusTaxJar::TaxCalculator do end end + context "with custom line item tax labels" do + before do + allow(SuperGood::SolidusTaxJar.line_item_tax_label_maker) + .to receive(:call) + .with(taxjar_line_item) + .and_return("Space Tax") + end + + it "applies those labels" do + expect(subject.line_item_taxes.length).to eq 1 + expect(subject.line_item_taxes.first.label).to eq "Space Tax" + end + end + context "but the taxable address check returns false" do before do allow(SuperGood::SolidusTaxJar.taxable_address_check) @@ -216,6 +231,24 @@ RSpec.describe ::SuperGood::SolidusTaxJar::TaxCalculator do expect(shipment_taxes[2].included_in_price).to eq false end end + + context "with custom shipping tax labels" do + before do + allow(SuperGood::SolidusTaxJar.shipping_tax_label_maker).to receive(:call) + .and_return("Magic Tax", "Spicy Tax", "Vegetable Tax") + end + + it "applies those labels" do + shipment_taxes = subject.shipment_taxes + expect(shipment_taxes.length).to eq 3 + + aggregate_failures do + expect(shipment_taxes[0].label).to eq "Magic Tax" + expect(shipment_taxes[1].label).to eq "Spicy Tax" + expect(shipment_taxes[2].label).to eq "Vegetable Tax" + end + end + end end context "when test_mode is set" do diff --git a/spec/super_good/solidus_taxjar_spec.rb b/spec/super_good/solidus_taxjar_spec.rb index 36ab3b3..957e2e3 100644 --- a/spec/super_good/solidus_taxjar_spec.rb +++ b/spec/super_good/solidus_taxjar_spec.rb @@ -43,5 +43,11 @@ RSpec.describe SuperGood::SolidusTaxJar do let(:shipping_tax) { BigDecimal("3.25") } it { is_expected.to eq "Sales Tax" } end + + describe ".line_item_tax_label_maker" do + subject { described_class.line_item_tax_label_maker.(taxjar_line_item) } + let(:taxjar_line_item) { instance_double Taxjar::BreakdownLineItem } + it { is_expected.to eq "Sales Tax" } + end end end -- cgit v1.2.3