diff options
author | Jared Norman <jared@super.gd> | 2020-07-08 17:57:11 -0700 |
---|---|---|
committer | Jared Norman <jared@super.gd> | 2020-07-14 13:07:55 -0700 |
commit | d7cf2cb8d7f0bb45f69cb1cef58faf246aa5ff84 (patch) | |
tree | fe19cccf000a3c8ffdbf47b05f2f037902a631fb | |
parent | c170aa6c7e82560747e252682852984d2e8fdba0 (diff) |
Add param generation for validate_address endpoint
I'm going to add support for address validation. This is the first step,
ensuring that we can take a Spree::Address and transform it into the
params that TaxJar expects for the address validation endpoint.
-rw-r--r-- | lib/super_good/solidus_taxjar/api_params.rb | 10 | ||||
-rw-r--r-- | spec/super_good/solidus_taxjar/api_params_spec.rb | 14 |
2 files changed, 24 insertions, 0 deletions
diff --git a/lib/super_good/solidus_taxjar/api_params.rb b/lib/super_good/solidus_taxjar/api_params.rb index ebce8fe..a7d1a5b 100644 --- a/lib/super_good/solidus_taxjar/api_params.rb +++ b/lib/super_good/solidus_taxjar/api_params.rb @@ -66,6 +66,16 @@ module SuperGood ) end + def validate_address_params(spree_address) + { + country: spree_address.country&.iso, + state: spree_address.state&.abbr || adddress.state_name, + zip: spree_address.zipcode, + city: spree_address.city, + street: spree_address.address1 + } + end + private def customer_params(order) diff --git a/spec/super_good/solidus_taxjar/api_params_spec.rb b/spec/super_good/solidus_taxjar/api_params_spec.rb index 3f9d85c..c4e3681 100644 --- a/spec/super_good/solidus_taxjar/api_params_spec.rb +++ b/spec/super_good/solidus_taxjar/api_params_spec.rb @@ -349,4 +349,18 @@ RSpec.describe SuperGood::SolidusTaxJar::APIParams do }) end end + + describe "#validate_address_params" do + subject { described_class.validate_address_params(ship_address) } + + it "returns params for validating an address" do + expect(subject).to eq({ + country: "US", + state: "CA", + zip: "90210", + city: "Los Angeles", + street: "475 N Beverly Dr" + }) + end + end end |