summaryrefslogtreecommitdiff
path: root/spec/super_good/solidus_taxjar/api_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/super_good/solidus_taxjar/api_spec.rb')
-rw-r--r--spec/super_good/solidus_taxjar/api_spec.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/super_good/solidus_taxjar/api_spec.rb b/spec/super_good/solidus_taxjar/api_spec.rb
index 0f890ca..8b0a5db 100644
--- a/spec/super_good/solidus_taxjar/api_spec.rb
+++ b/spec/super_good/solidus_taxjar/api_spec.rb
@@ -23,6 +23,30 @@ RSpec.describe SuperGood::SolidusTaxJar::API do
it { is_expected.to eq({ some_kind_of: "response" }) }
end
+ describe "tax_rate_for" do
+ subject { api.tax_rate_for address }
+
+ let(:api) { described_class.new(taxjar_client: dummy_client) }
+ let(:dummy_client) { instance_double ::Taxjar::Client }
+ let(:address) { Spree::Address.new }
+ let(:tax_rate) { 0.04 }
+ let(:response) { double(rate: tax_rate) }
+
+ before do
+ allow(SuperGood::SolidusTaxJar::APIParams)
+ .to receive(:tax_rate_address_params)
+ .with(address)
+ .and_return({ address: "params" })
+
+ allow(dummy_client)
+ .to receive(:tax_for_order)
+ .with({ address: "params" })
+ .and_return(response)
+ end
+
+ it { is_expected.to eq(tax_rate) }
+ end
+
describe "#tax_rates_for" do
subject { api.tax_rates_for address }