solidus_avatax_certified 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +28 -0
- data/Gemfile +3 -0
- data/README.md +4 -0
- data/app/assets/javascripts/spree/backend/address_validator.js +1 -1
- data/app/assets/javascripts/spree/frontend/address_validator.js +1 -1
- data/app/controllers/spree/admin/avatax_settings_controller.rb +5 -13
- data/app/models/solidus_avatax_certified/address.rb +2 -8
- data/app/models/solidus_avatax_certified/avatax_log.rb +10 -20
- data/app/models/solidus_avatax_certified/line.rb +0 -6
- data/app/models/solidus_avatax_certified/preference_updater.rb +11 -28
- data/app/models/solidus_avatax_certified/request/base.rb +64 -0
- data/app/models/solidus_avatax_certified/request/cancel_tax.rb +14 -0
- data/app/models/solidus_avatax_certified/request/get_tax.rb +27 -0
- data/app/models/solidus_avatax_certified/request/return_tax.rb +50 -0
- data/app/models/solidus_avatax_certified/response/address_validation.rb +11 -0
- data/app/models/solidus_avatax_certified/response/base.rb +25 -0
- data/app/models/solidus_avatax_certified/response/cancel_tax.rb +15 -0
- data/app/models/solidus_avatax_certified/response/get_tax.rb +11 -0
- data/app/models/spree/address_decorator.rb +2 -2
- data/app/models/spree/adjustment_decorator.rb +0 -2
- data/app/models/spree/avalara_transaction.rb +20 -108
- data/app/models/spree/avatax_configuration.rb +25 -0
- data/app/models/spree/calculator/avalara_transaction.rb +18 -10
- data/app/models/spree/order_decorator.rb +7 -15
- data/app/models/spree/payment_decorator.rb +2 -7
- data/app/models/spree/refund_decorator.rb +6 -10
- data/app/models/spree/shipping_rate_decorator.rb +1 -1
- data/app/models/tax_svc.rb +71 -61
- data/app/views/spree/admin/avatax_settings/edit.html.erb +34 -54
- data/app/views/spree/admin/avatax_settings/show.html.erb +28 -35
- data/app/views/spree/checkout/_address_validator_button.html.erb +1 -1
- data/config/initializers/avatax.rb +11 -2
- data/config/locales/en.yml +9 -3
- data/config/routes.rb +1 -1
- data/db/migrate/20170509201056_drop_spree_avalara_preferences.rb +6 -0
- data/lib/solidus_avatax_certified/exceptions.rb +4 -0
- data/lib/solidus_avatax_certified/preference_seeder.rb +9 -27
- data/lib/solidus_avatax_certified/version.rb +3 -0
- data/lib/solidus_avatax_certified.rb +2 -0
- data/solidus_avatax_certified.gemspec +6 -3
- data/spec/controllers/spree/admin/avatax_settings_controller_spec.rb +8 -8
- data/spec/factories/response_hash_factories.rb +88 -0
- data/spec/features/checkout_spec.rb +1 -1
- data/spec/features/vat_spec.rb +1 -1
- data/spec/models/solidus_avatax_certified/address_spec.rb +22 -7
- data/spec/models/solidus_avatax_certified/avatax_log_spec.rb +17 -24
- data/spec/models/solidus_avatax_certified/line_spec.rb +8 -4
- data/spec/models/solidus_avatax_certified/request/base_spec.rb +13 -0
- data/spec/models/solidus_avatax_certified/request/cancel_tax_spec.rb +13 -0
- data/spec/models/solidus_avatax_certified/request/get_tax_spec.rb +31 -0
- data/spec/models/solidus_avatax_certified/request/return_tax_spec.rb +31 -0
- data/spec/models/solidus_avatax_certified/response/base_spec.rb +21 -0
- data/spec/models/spree/address_decorator_spec.rb +5 -5
- data/spec/models/spree/adjustment_decorator_spec.rb +0 -10
- data/spec/models/spree/avalara_transaction_spec.rb +12 -12
- data/spec/models/spree/calculator/avalara_transaction_spec.rb +4 -3
- data/spec/models/spree/order_decorator_spec.rb +38 -12
- data/spec/models/spree/payment_decorator_spec.rb +7 -9
- data/spec/models/spree/refund_decorator_spec.rb +1 -1
- data/spec/models/tax_svc_spec.rb +65 -0
- data/spec/spec_helper.rb +3 -2
- data/spec/support/avatax_config_preferences.rb +1 -3
- data/spec/support/vcr.rb +1 -1
- data/spec/vcr/Spree_Order/_cancel_avalara/error/should_raise_exception_if_preference_is_enabled.yml +191 -0
- data/spec/vcr/Spree_Order/_cancel_avalara/error/should_receive_ResultCode_of_Error.yml +191 -0
- data/spec/vcr/{SolidusAvataxCertified_Address/_validate/fails_when_information_is_incorrect.yml → Spree_Order/_validate_ship_address/validation_failed/raise_exceptions_if_raise_exceptions_preference_is_enabled.yml} +8 -8
- data/spec/vcr/Spree_Order/_validate_ship_address/validation_failed/should_return_false.yml +54 -0
- data/spec/vcr/Spree_Payment/_avalara_finalize/should_receive_avalara_finalize.yml +205 -0
- data/spec/vcr/TaxSvc/_cancel_tax/respond_with_success.yml +121 -0
- data/spec/vcr/TaxSvc/_cancel_tax/should_raise_error.yml +58 -0
- data/spec/vcr/TaxSvc/_get_tax/fails/fails_when_no_lines_are_given.yml +60 -0
- data/spec/vcr/TaxSvc/_get_tax/fails/fails_when_no_params_are_given.yml +68 -0
- data/spec/vcr/TaxSvc/_get_tax/fails/responds_with_error_when_result_code_is_not_a_success.yml +61 -0
- data/spec/vcr/TaxSvc/_get_tax/gets_tax_when_all_credentials_are_there.yml +68 -0
- data/spec/vcr/TaxSvc/_ping/should_return_estimate.yml +81 -0
- data/spec/vcr/address_validation_failure.yml +54 -0
- data/spec/vcr/address_validation_success.yml +16 -16
- data/spec/vcr/order_capture.yml +21 -21
- data/spec/vcr/order_capture_finalize.yml +22 -91
- metadata +56 -13
- data/GEM_VERSION +0 -1
- data/app/models/spree/avalara_preference.rb +0 -72
- data/spec/factories/avalara_preference_factory.rb +0 -7
- data/spec/models/spree/avalara_preference_spec.rb +0 -173
- data/spec/vcr/Spree_Payment/_avalara_finalize/should_update_the_amount_to_be_the_order_total.yml +0 -136
@@ -0,0 +1,65 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe TaxSvc, :vcr do
|
4
|
+
let(:taxsvc) { TaxSvc.new }
|
5
|
+
let(:request_hash) { attributes_for(:request_hash) }
|
6
|
+
|
7
|
+
describe '#get_tax' do
|
8
|
+
subject { taxsvc.get_tax(request_hash) }
|
9
|
+
|
10
|
+
it 'gets tax when all credentials are there' do
|
11
|
+
expect(subject.tax_result['ResultCode']).to eq('Success')
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'fails' do
|
15
|
+
it 'fails when no params are given' do
|
16
|
+
expect(taxsvc.get_tax({}).tax_result['ResultCode']).to eq('Error')
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'responds with error when result code is not a success' do
|
20
|
+
req = attributes_for(:request_hash)
|
21
|
+
req[:Lines][0][:TaxCode] = 'sdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdf'
|
22
|
+
result = taxsvc.get_tax(req).tax_result
|
23
|
+
|
24
|
+
expect(result['ResultCode']).to eq('Error')
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'fails when no lines are given' do
|
28
|
+
result = taxsvc.get_tax(attributes_for(:request_hash, Lines: [])).tax_result
|
29
|
+
|
30
|
+
expect(result['ResultCode']).to eq('Error')
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
describe '#cancel_tax' do
|
36
|
+
it 'should raise error' do
|
37
|
+
result = taxsvc.cancel_tax({
|
38
|
+
:CompanyCode=> '54321',
|
39
|
+
:DocType => 'SalesInvoice',
|
40
|
+
:CancelCode => 'DocVoided'
|
41
|
+
})
|
42
|
+
expect(result.tax_result['ResultCode']).to eq('Error')
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'respond with success' do
|
46
|
+
success_res = taxsvc.get_tax(request_hash)
|
47
|
+
result = taxsvc.cancel_tax({
|
48
|
+
:CompanyCode=> '54321',
|
49
|
+
:DocType => 'SalesInvoice',
|
50
|
+
:DocCode => request_hash[:DocCode],
|
51
|
+
:CancelCode => 'DocVoided'
|
52
|
+
})
|
53
|
+
|
54
|
+
expect(result.tax_result['ResultCode']).to eq('Success')
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe '#ping' do
|
59
|
+
it 'should return estimate' do
|
60
|
+
result = taxsvc.ping
|
61
|
+
expect(result['ResultCode']).to eq('Success')
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
data/spec/spec_helper.rb
CHANGED
@@ -23,6 +23,7 @@ require 'database_cleaner'
|
|
23
23
|
require 'ffaker'
|
24
24
|
require 'shoulda/matchers'
|
25
25
|
require 'capybara-screenshot/rspec'
|
26
|
+
require 'webmock/rspec'
|
26
27
|
|
27
28
|
require 'spree/testing_support/preferences'
|
28
29
|
require 'spree/testing_support/authorization_helpers'
|
@@ -65,12 +66,12 @@ RSpec.configure do |config|
|
|
65
66
|
end
|
66
67
|
|
67
68
|
config.before :suite do
|
68
|
-
DatabaseCleaner.strategy = :
|
69
|
+
DatabaseCleaner.strategy = :truncation
|
69
70
|
DatabaseCleaner.clean_with :truncation
|
70
71
|
end
|
71
72
|
|
72
73
|
config.before :each do
|
73
|
-
DatabaseCleaner.strategy =
|
74
|
+
DatabaseCleaner.strategy = :truncation
|
74
75
|
DatabaseCleaner.start
|
75
76
|
MyConfigPreferences.set_preferences
|
76
77
|
end
|
@@ -1,8 +1,6 @@
|
|
1
1
|
class MyConfigPreferences
|
2
2
|
def self.set_preferences
|
3
3
|
SolidusAvataxCertified::PreferenceSeeder.seed!(false)
|
4
|
-
Spree::
|
5
|
-
Spree::AvalaraPreference.log_to_stdout.update_attributes(value: 'false')
|
6
|
-
Spree::AvalaraPreference.refuse_checkout_address_validation_error.update_attributes(value: 'false')
|
4
|
+
Spree::Avatax::Config.origin = "{\"Line1\":\"915 S Jackson St\",\"Line2\":\"\",\"City\":\"Montgomery\",\"Region\":\"AL\",\"PostalCode\":\"36104\",\"Zip4\":\"\",\"Country\":\"US\"}"
|
7
5
|
end
|
8
6
|
end
|
data/spec/support/vcr.rb
CHANGED
@@ -5,5 +5,5 @@ VCR.configure do |config|
|
|
5
5
|
config.hook_into :webmock
|
6
6
|
config.ignore_localhost = true
|
7
7
|
config.configure_rspec_metadata!
|
8
|
-
|
8
|
+
config.default_cassette_options = { match_requests_on: [:method, :uri], record: :once, allow_playback_repeats: true }
|
9
9
|
end
|
data/spec/vcr/Spree_Order/_cancel_avalara/error/should_raise_exception_if_preference_is_enabled.yml
ADDED
@@ -0,0 +1,191 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://development.avalara.net/1.0/tax/get
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"DocCode":"R903852449","DocDate":"2017-04-14","Discount":"0.0","Commit":false,"DocType":"SalesOrder","Addresses":[{"AddressCode":"Orig","Line1":"915
|
9
|
+
S Jackson St","Line2":"","City":"Montgomery","Region":"AL","PostalCode":"36104","Country":"US"},{"AddressCode":"Dest","Line1":"915
|
10
|
+
S Jackson St","Line2":"","City":"Montgomery","Region":"Alabama","Country":"US","PostalCode":"36104"}],"Lines":[{"LineNo":"1-LI","Description":"Product
|
11
|
+
#2 - 3722","TaxCode":"PC030000","ItemCode":"SKU-2","Qty":1,"Amount":10.0,"OriginCode":"Orig","DestinationCode":"Dest","CustomerUsageType":null,"Discounted":false,"TaxIncluded":false}],"CustomerCode":1,"CompanyCode":"54321","CustomerUsageType":null,"ExemptionNo":null,"Client":"a0o33000004FH8l","ReferenceCode":"R903852449","DetailLevel":"Tax","CurrencyCode":"USD"}'
|
12
|
+
headers:
|
13
|
+
Accept:
|
14
|
+
- "*/*; q=0.5, application/xml"
|
15
|
+
Accept-Encoding:
|
16
|
+
- gzip, deflate
|
17
|
+
Authorization:
|
18
|
+
- Basic MTEwMDExMzA5NjoxRDEzRURBMkRDQ0M3RTRB
|
19
|
+
Content-Type:
|
20
|
+
- application/json
|
21
|
+
Content-Length:
|
22
|
+
- '796'
|
23
|
+
User-Agent:
|
24
|
+
- Ruby
|
25
|
+
response:
|
26
|
+
status:
|
27
|
+
code: 200
|
28
|
+
message: OK
|
29
|
+
headers:
|
30
|
+
Cache-Control:
|
31
|
+
- private
|
32
|
+
Content-Type:
|
33
|
+
- text/json; charset=utf-8
|
34
|
+
Content-Encoding:
|
35
|
+
- gzip
|
36
|
+
Vary:
|
37
|
+
- Accept-Encoding
|
38
|
+
X-Aspnet-Version:
|
39
|
+
- 4.0.30319
|
40
|
+
X-Powered-By:
|
41
|
+
- ASP.NET
|
42
|
+
Date:
|
43
|
+
- Fri, 14 Apr 2017 20:49:27 GMT
|
44
|
+
Content-Length:
|
45
|
+
- '552'
|
46
|
+
Set-Cookie:
|
47
|
+
- TS017f1821=01a8ddc44ecd11c63512c5253f6b79bbb99765d2ec7f8406fde6ffde475173465fe605e3ea70287341cc3cc613b116428028642059;
|
48
|
+
Path=/
|
49
|
+
body:
|
50
|
+
encoding: ASCII-8BIT
|
51
|
+
string: !binary |-
|
52
|
+
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3m
|
53
|
+
kuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZk
|
54
|
+
AWz2zkrayZ4hgKrIHz9+fB8/In5x8tGrvFmX7Uk1yz96lH70ej2d5k3z0Sj5
|
55
|
+
6Gk1NZ++erhz7+D+3v7+Q/3iadbyF3s7uw+2d/a3d/fxxZtikTdttliFX73Z
|
56
|
+
23m0//DR3sF4d/fe/sH9Bz/Fjas2K48X1XrZovnujv3wadFMzcfu09N3+WLV
|
57
|
+
FtUy/PhN9i6blIyMB4I+xSc7Y8FLPzrJyum6JNRn/pfZu+fFMm/oo+8lRA/8
|
58
|
+
8aKivz7a3X5+pi0MIV6e7NzboUc/ziZFWbTX+Kat1zk+fUKYz7L6+nl+mZf4
|
59
|
+
4ng2q5Wi/SH0hwqg/nBeEbr4a2e8s08d82fUSD4yAxga2NO8zYrSDu0EXdWM
|
60
|
+
7lev0eRVfqHYHD/H399Z10Xz5nrFPb5uCaD91FBgZxcfEez3RZOhvMgW3Oz4
|
61
|
+
+fGT4y+O8Tm1cp+mr98cvzlN3xz/3h/9kuT7Cf4vTZSKbpr0A4PWU2I8QLtx
|
62
|
+
iARLPjpjWu3t3N978JDZmhE08HZ2d3d27+/qSF5WxNal+e7ep7s7PCTFAZ89
|
63
|
+
3L2fvk6/k03fNtUyfS24KGt8US3bi2qRE1q/JBn1cf+yLi64/f/bcTeTEZH+
|
64
|
+
X5L8PxrqS65LBAAA
|
65
|
+
http_version:
|
66
|
+
recorded_at: Fri, 14 Apr 2017 20:49:28 GMT
|
67
|
+
- request:
|
68
|
+
method: post
|
69
|
+
uri: https://development.avalara.net/1.0/tax/get
|
70
|
+
body:
|
71
|
+
encoding: UTF-8
|
72
|
+
string: '{"DocCode":"R903852449","DocDate":"2017-04-14","Discount":"0.0","Commit":false,"DocType":"SalesOrder","Addresses":[{"AddressCode":"Orig","Line1":"915
|
73
|
+
S Jackson St","Line2":"","City":"Montgomery","Region":"AL","PostalCode":"36104","Country":"US"},{"AddressCode":"Dest","Line1":"915
|
74
|
+
S Jackson St","Line2":"","City":"Montgomery","Region":"Alabama","Country":"US","PostalCode":"36104"},{"AddressCode":"2","Line1":"1600
|
75
|
+
Pennsylvania Ave NW","Line2":null,"City":"Washington","PostalCode":"20500","Country":"US"}],"Lines":[{"LineNo":"1-LI","Description":"Product
|
76
|
+
#2 - 3722","TaxCode":"PC030000","ItemCode":"SKU-2","Qty":1,"Amount":10.0,"OriginCode":"2","DestinationCode":"Dest","CustomerUsageType":null,"Discounted":false,"TaxIncluded":false},{"LineNo":"1-FR","ItemCode":"Avalara
|
77
|
+
Ground","Qty":1,"Amount":5.0,"OriginCode":"2","DestinationCode":"Dest","CustomerUsageType":null,"Description":"Shipping
|
78
|
+
Charge","TaxCode":"FR000000","Discounted":false,"TaxIncluded":false}],"CustomerCode":1,"CompanyCode":"54321","CustomerUsageType":null,"ExemptionNo":null,"Client":"a0o33000004FH8l","ReferenceCode":"R903852449","DetailLevel":"Tax","CurrencyCode":"USD"}'
|
79
|
+
headers:
|
80
|
+
Accept:
|
81
|
+
- "*/*; q=0.5, application/xml"
|
82
|
+
Accept-Encoding:
|
83
|
+
- gzip, deflate
|
84
|
+
Authorization:
|
85
|
+
- Basic MTEwMDExMzA5NjoxRDEzRURBMkRDQ0M3RTRB
|
86
|
+
Content-Type:
|
87
|
+
- application/json
|
88
|
+
Content-Length:
|
89
|
+
- '1143'
|
90
|
+
User-Agent:
|
91
|
+
- Ruby
|
92
|
+
response:
|
93
|
+
status:
|
94
|
+
code: 200
|
95
|
+
message: OK
|
96
|
+
headers:
|
97
|
+
Cache-Control:
|
98
|
+
- private
|
99
|
+
Content-Type:
|
100
|
+
- text/json; charset=utf-8
|
101
|
+
Content-Encoding:
|
102
|
+
- gzip
|
103
|
+
Vary:
|
104
|
+
- Accept-Encoding
|
105
|
+
X-Aspnet-Version:
|
106
|
+
- 4.0.30319
|
107
|
+
X-Powered-By:
|
108
|
+
- ASP.NET
|
109
|
+
Date:
|
110
|
+
- Fri, 14 Apr 2017 20:49:28 GMT
|
111
|
+
Content-Length:
|
112
|
+
- '660'
|
113
|
+
Set-Cookie:
|
114
|
+
- TS017f1821=01a8ddc44e4f77e35e21b867bff45bf25181982d6e35f349f233087f00a0c8f6c38f930d062b6fd6454a31e58404ed25fb32b9b8f0;
|
115
|
+
Path=/
|
116
|
+
body:
|
117
|
+
encoding: ASCII-8BIT
|
118
|
+
string: !binary |-
|
119
|
+
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3m
|
120
|
+
kuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZk
|
121
|
+
AWz2zkrayZ4hgKrIHz9+fB8/In5x8tGrvFmX7Uk1yz96lH70ej2d5k3z0Sj5
|
122
|
+
6Gk1NZ++erhz7+D+3v7+Q/3iadbyF3s7uw+2d/a3d/fxxZtikTdttliFX73Z
|
123
|
+
23m0//DR3sH404OdnU8/vf9T3Lhqs/J4Ua2XLZrv3rcfPi2aqfl4x356+i5f
|
124
|
+
rNqiWoYfv8neZZOSkfFA0Kf4ZGf8qf/RSVZO1yWhPvO/zN49L5Z5Qx99LyF6
|
125
|
+
4I8XFf310e728zNtYQjx8mTn3g49+nE2KcqivcY3bb3O8ekTwnyW1dfP88u8
|
126
|
+
xBfHs1mtFO0PoT9UANXh8AevCF38tTPe2aeO+TNqJB8J1Qm9zsDM50/zNitK
|
127
|
+
O7QTdFUzul+9RpNX+YVic/wcf39nXRfNm+sV9/i6JYD2U0OBnV18RLDfF02G
|
128
|
+
8iJbcLPj58dPjr84xufUyn2avn5z/OY0fXP8e3/0S5LvJ78kGRHa/ow8e6Xv
|
129
|
+
GHyevaLe6NGPf1ZnhPlr40j39K/uhJjPfxgTckssGYij/C3n4/uJNFEaOrHR
|
130
|
+
DwxWT0kRANqNIyRY8tEZk2pv5/7eg4esZhhBA29nd3dn9/6ujuRlRWqmNN/d
|
131
|
+
+3R3h1lMccBnD3fvp6/T72TTt021TF8LLsoYX1TL9qJa5ISWMJi+Z+AxeTYg
|
132
|
+
/vQEf3cQZ7wClAljffBViDINUz7WrvHZ7qc7O+nLfLlsrsvLbFlk6fFlnr74
|
133
|
+
LpoZ1L+bNfNiedESIm4uIsr4lyT/DyxPEyLaBQAA
|
134
|
+
http_version:
|
135
|
+
recorded_at: Fri, 14 Apr 2017 20:49:28 GMT
|
136
|
+
- request:
|
137
|
+
method: post
|
138
|
+
uri: https://development.avalara.net/1.0/tax/cancel
|
139
|
+
body:
|
140
|
+
encoding: UTF-8
|
141
|
+
string: '{"CompanyCode":"54321","DocType":"SalesInvoice","DocCode":"R903852449","CancelCode":"DocVoided"}'
|
142
|
+
headers:
|
143
|
+
Accept:
|
144
|
+
- "*/*; q=0.5, application/xml"
|
145
|
+
Accept-Encoding:
|
146
|
+
- gzip, deflate
|
147
|
+
Authorization:
|
148
|
+
- Basic MTEwMDExMzA5NjoxRDEzRURBMkRDQ0M3RTRB
|
149
|
+
Content-Type:
|
150
|
+
- application/json
|
151
|
+
Content-Length:
|
152
|
+
- '96'
|
153
|
+
User-Agent:
|
154
|
+
- Ruby
|
155
|
+
response:
|
156
|
+
status:
|
157
|
+
code: 200
|
158
|
+
message: OK
|
159
|
+
headers:
|
160
|
+
Cache-Control:
|
161
|
+
- private
|
162
|
+
Content-Type:
|
163
|
+
- text/json; charset=utf-8
|
164
|
+
Content-Encoding:
|
165
|
+
- gzip
|
166
|
+
Vary:
|
167
|
+
- Accept-Encoding
|
168
|
+
X-Aspnet-Version:
|
169
|
+
- 4.0.30319
|
170
|
+
X-Powered-By:
|
171
|
+
- ASP.NET
|
172
|
+
Date:
|
173
|
+
- Fri, 14 Apr 2017 20:49:28 GMT
|
174
|
+
Content-Length:
|
175
|
+
- '308'
|
176
|
+
Set-Cookie:
|
177
|
+
- TS017f1821=01a8ddc44ec1567e66df96a47c5410ab44732cc5d7c18c0ead70bf82f058d42ae3cbb82bdadb65550b99a28b620b2a378e15dbcb86;
|
178
|
+
Path=/
|
179
|
+
body:
|
180
|
+
encoding: ASCII-8BIT
|
181
|
+
string: !binary |-
|
182
|
+
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3m
|
183
|
+
kuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZk
|
184
|
+
AWz2zkrayZ4hgKrIHz9+fB8/In5x8tFJtpzm5Zvs3au8WZftR49S+vBNnS2b
|
185
|
+
bNoW1fJsRh/d37138GDn/qcP9x482D94+HCUfCTNT6pZTt9/dFrXVf0RffxF
|
186
|
+
3jTZRd7Qh99LCNLr9WKR1df050dv5nnaZu/SWTVdL/Jlm06rdTlLl1WbTvL0
|
187
|
+
vFovZ2OAeJq3WVECwkevHu7cO7i/t7//EF+8zi/zumgZmO3wdbWup4zD8WVW
|
188
|
+
ZnU2pp80nPHrvL4spnkzpj8++iXJ95NfkvyS5P8BUDEmTvEAAAA=
|
189
|
+
http_version:
|
190
|
+
recorded_at: Fri, 14 Apr 2017 20:49:29 GMT
|
191
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,191 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://development.avalara.net/1.0/tax/get
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"DocCode":"R335537888","DocDate":"2017-04-14","Discount":"0.0","Commit":false,"DocType":"SalesOrder","Addresses":[{"AddressCode":"Orig","Line1":"915
|
9
|
+
S Jackson St","Line2":"","City":"Montgomery","Region":"AL","PostalCode":"36104","Country":"US"},{"AddressCode":"Dest","Line1":"915
|
10
|
+
S Jackson St","Line2":"","City":"Montgomery","Region":"Alabama","Country":"US","PostalCode":"36104"}],"Lines":[{"LineNo":"1-LI","Description":"Product
|
11
|
+
#1 - 3144","TaxCode":"PC030000","ItemCode":"SKU-1","Qty":1,"Amount":10.0,"OriginCode":"Orig","DestinationCode":"Dest","CustomerUsageType":null,"Discounted":false,"TaxIncluded":false}],"CustomerCode":1,"CompanyCode":"54321","CustomerUsageType":null,"ExemptionNo":null,"Client":"a0o33000004FH8l","ReferenceCode":"R335537888","DetailLevel":"Tax","CurrencyCode":"USD"}'
|
12
|
+
headers:
|
13
|
+
Accept:
|
14
|
+
- "*/*; q=0.5, application/xml"
|
15
|
+
Accept-Encoding:
|
16
|
+
- gzip, deflate
|
17
|
+
Authorization:
|
18
|
+
- Basic MTEwMDExMzA5NjoxRDEzRURBMkRDQ0M3RTRB
|
19
|
+
Content-Type:
|
20
|
+
- application/json
|
21
|
+
Content-Length:
|
22
|
+
- '796'
|
23
|
+
User-Agent:
|
24
|
+
- Ruby
|
25
|
+
response:
|
26
|
+
status:
|
27
|
+
code: 200
|
28
|
+
message: OK
|
29
|
+
headers:
|
30
|
+
Cache-Control:
|
31
|
+
- private
|
32
|
+
Content-Type:
|
33
|
+
- text/json; charset=utf-8
|
34
|
+
Content-Encoding:
|
35
|
+
- gzip
|
36
|
+
Vary:
|
37
|
+
- Accept-Encoding
|
38
|
+
X-Aspnet-Version:
|
39
|
+
- 4.0.30319
|
40
|
+
X-Powered-By:
|
41
|
+
- ASP.NET
|
42
|
+
Date:
|
43
|
+
- Fri, 14 Apr 2017 20:49:25 GMT
|
44
|
+
Content-Length:
|
45
|
+
- '561'
|
46
|
+
Set-Cookie:
|
47
|
+
- TS017f1821=01a8ddc44e6ab91c6d100b0597751481364b1e7aeb9cd37ddee7813d42e93a8a5d0ab068f38223e7dd9dd4b23280dea871a13cd026;
|
48
|
+
Path=/
|
49
|
+
body:
|
50
|
+
encoding: ASCII-8BIT
|
51
|
+
string: !binary |-
|
52
|
+
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3m
|
53
|
+
kuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZk
|
54
|
+
AWz2zkrayZ4hgKrIHz9+fB8/In5x8tGrvFmX7Uk1yz96lH70ej2d5k3z0Sj5
|
55
|
+
6Gk1NZ++unfv/v17Dw4ODvSLp1nLX+zt7D7Y3tnf3t3HF2+KRd602WIVfvVm
|
56
|
+
b+fR/sNHe5+Od/buPzx4+PCnuHHVZuXxolovWzTf3bEfPi2aqfnYfXr6Ll+s
|
57
|
+
2qJahh+/yd5lk5KR8UDQp/hkZyx46UcnWTldl4T6zP8ye/e8WOYNffS9hOiB
|
58
|
+
P15U9NdHu9vPz7SFIcTLk517O/Tox9mkKIv2Gt+09TrHp08I81lWXz/PL/MS
|
59
|
+
XxzPZrVStD+E/lAB1B/OK0IXf+2Md/apY/6MGslHZgBDA3uat1lR2qGdoKua
|
60
|
+
0f3qNZq8yi8Um+Pn+Ps767po3lyvuMfXLQG0nxoK7OziI4L9vmgylBfZgpsd
|
61
|
+
Pz9+cvzFMT6nVu7T9PWb4zen6Zvj3/ujX5J8P8H/pYlS0U2TfkB/fvRw9376
|
62
|
+
Ov1ONn3bVMv0dQuo+rXB+inxJT4+0dn6olq2F9UiJ2Lg0y5dXlbExqV5+d6n
|
63
|
+
uzs8hC65CC/56Izpvrdzf+/Bw4f4hgdr3t/Z3d3Zvb8LqvySZPTeuH9ZFxf4
|
64
|
+
+OcedzMZEen/Jcn/A+mRXN1LBAAA
|
65
|
+
http_version:
|
66
|
+
recorded_at: Fri, 14 Apr 2017 20:49:26 GMT
|
67
|
+
- request:
|
68
|
+
method: post
|
69
|
+
uri: https://development.avalara.net/1.0/tax/get
|
70
|
+
body:
|
71
|
+
encoding: UTF-8
|
72
|
+
string: '{"DocCode":"R335537888","DocDate":"2017-04-14","Discount":"0.0","Commit":false,"DocType":"SalesOrder","Addresses":[{"AddressCode":"Orig","Line1":"915
|
73
|
+
S Jackson St","Line2":"","City":"Montgomery","Region":"AL","PostalCode":"36104","Country":"US"},{"AddressCode":"Dest","Line1":"915
|
74
|
+
S Jackson St","Line2":"","City":"Montgomery","Region":"Alabama","Country":"US","PostalCode":"36104"},{"AddressCode":"2","Line1":"1600
|
75
|
+
Pennsylvania Ave NW","Line2":null,"City":"Washington","PostalCode":"20500","Country":"US"}],"Lines":[{"LineNo":"1-LI","Description":"Product
|
76
|
+
#1 - 3144","TaxCode":"PC030000","ItemCode":"SKU-1","Qty":1,"Amount":10.0,"OriginCode":"2","DestinationCode":"Dest","CustomerUsageType":null,"Discounted":false,"TaxIncluded":false},{"LineNo":"1-FR","ItemCode":"Avalara
|
77
|
+
Ground","Qty":1,"Amount":5.0,"OriginCode":"2","DestinationCode":"Dest","CustomerUsageType":null,"Description":"Shipping
|
78
|
+
Charge","TaxCode":"FR000000","Discounted":false,"TaxIncluded":false}],"CustomerCode":1,"CompanyCode":"54321","CustomerUsageType":null,"ExemptionNo":null,"Client":"a0o33000004FH8l","ReferenceCode":"R335537888","DetailLevel":"Tax","CurrencyCode":"USD"}'
|
79
|
+
headers:
|
80
|
+
Accept:
|
81
|
+
- "*/*; q=0.5, application/xml"
|
82
|
+
Accept-Encoding:
|
83
|
+
- gzip, deflate
|
84
|
+
Authorization:
|
85
|
+
- Basic MTEwMDExMzA5NjoxRDEzRURBMkRDQ0M3RTRB
|
86
|
+
Content-Type:
|
87
|
+
- application/json
|
88
|
+
Content-Length:
|
89
|
+
- '1143'
|
90
|
+
User-Agent:
|
91
|
+
- Ruby
|
92
|
+
response:
|
93
|
+
status:
|
94
|
+
code: 200
|
95
|
+
message: OK
|
96
|
+
headers:
|
97
|
+
Cache-Control:
|
98
|
+
- private
|
99
|
+
Content-Type:
|
100
|
+
- text/json; charset=utf-8
|
101
|
+
Content-Encoding:
|
102
|
+
- gzip
|
103
|
+
Vary:
|
104
|
+
- Accept-Encoding
|
105
|
+
X-Aspnet-Version:
|
106
|
+
- 4.0.30319
|
107
|
+
X-Powered-By:
|
108
|
+
- ASP.NET
|
109
|
+
Date:
|
110
|
+
- Fri, 14 Apr 2017 20:49:26 GMT
|
111
|
+
Content-Length:
|
112
|
+
- '661'
|
113
|
+
Set-Cookie:
|
114
|
+
- TS017f1821=01a8ddc44e87590c0a6fcf73dc30672773ce61a2f7798ba92d21e397c093aa73153619dc6cc9574c8034ca0095bf1b5019251422db;
|
115
|
+
Path=/
|
116
|
+
body:
|
117
|
+
encoding: ASCII-8BIT
|
118
|
+
string: !binary |-
|
119
|
+
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3m
|
120
|
+
kuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZk
|
121
|
+
AWz2zkrayZ4hgKrIHz9+fB8/In5x8tGrvFmX7Uk1yz96lH70ej2d5k3z0Sj5
|
122
|
+
6Gk1NZ++unfv/v17Dw4ODvSLp1nLX+zt7D7Y3tnf3t3HF2+KRd602WIVfvVm
|
123
|
+
b+fR/sNHe5+OD+7vP7x38OlPceOqzcrjRbVetmi+e99++LRopubjHfvp6bt8
|
124
|
+
sWqLahl+/CZ7l01KRsYDQZ/ik53xp/5HJ1k5XZeE+sz/Mnv3vFjmDX30vYTo
|
125
|
+
gT9eVPTXR7vbz8+0hSHEy5Odezv06MfZpCiL9hrftPU6x6dPCPNZVl8/zy/z
|
126
|
+
El8cz2a1UrQ/hP5QAVSHwx+8InTx1854Z5865s+okXwkVCf0OgMznz/N26wo
|
127
|
+
7dBO0FXN6H71Gk1e5ReKzfFz/P2ddV00b65X3OPrlgDaTw0FdnbxEcF+XzQZ
|
128
|
+
yotswc2Onx8/Of7iGJ9TK/dp+vrN8ZvT9M3x7/3RL0m+n/ySZERo+zPy7JW+
|
129
|
+
Y/B59op6o0c//lmdEeavjSPd07+6E2I+/2FMyC2xZCCO8recj+8n0kRp6MRG
|
130
|
+
PzBYPSVFAGg3jpBgyUdnTKq9nft7Dx4+xDeMoIG3s7u7s3t/V0fysiI1U5rv
|
131
|
+
7n26u8Mspjjgs4e799PX6Xey6dumWqavBRdljC+qZXtRLXJCSxhM3zPwmDwb
|
132
|
+
EH96gr87iDNeAcqEsT74KkSZhikfa9f4bPfTnZ30Zb5cNtflZbYssvT4Mk9f
|
133
|
+
fBfNDOrfzZp5sbxoCRE3FxFl/EuS/weGvbwR2gUAAA==
|
134
|
+
http_version:
|
135
|
+
recorded_at: Fri, 14 Apr 2017 20:49:26 GMT
|
136
|
+
- request:
|
137
|
+
method: post
|
138
|
+
uri: https://development.avalara.net/1.0/tax/cancel
|
139
|
+
body:
|
140
|
+
encoding: UTF-8
|
141
|
+
string: '{"CompanyCode":"54321","DocType":"SalesInvoice","DocCode":"R335537888","CancelCode":"DocVoided"}'
|
142
|
+
headers:
|
143
|
+
Accept:
|
144
|
+
- "*/*; q=0.5, application/xml"
|
145
|
+
Accept-Encoding:
|
146
|
+
- gzip, deflate
|
147
|
+
Authorization:
|
148
|
+
- Basic MTEwMDExMzA5NjoxRDEzRURBMkRDQ0M3RTRB
|
149
|
+
Content-Type:
|
150
|
+
- application/json
|
151
|
+
Content-Length:
|
152
|
+
- '96'
|
153
|
+
User-Agent:
|
154
|
+
- Ruby
|
155
|
+
response:
|
156
|
+
status:
|
157
|
+
code: 200
|
158
|
+
message: OK
|
159
|
+
headers:
|
160
|
+
Cache-Control:
|
161
|
+
- private
|
162
|
+
Content-Type:
|
163
|
+
- text/json; charset=utf-8
|
164
|
+
Content-Encoding:
|
165
|
+
- gzip
|
166
|
+
Vary:
|
167
|
+
- Accept-Encoding
|
168
|
+
X-Aspnet-Version:
|
169
|
+
- 4.0.30319
|
170
|
+
X-Powered-By:
|
171
|
+
- ASP.NET
|
172
|
+
Date:
|
173
|
+
- Fri, 14 Apr 2017 20:49:27 GMT
|
174
|
+
Content-Length:
|
175
|
+
- '308'
|
176
|
+
Set-Cookie:
|
177
|
+
- TS017f1821=01a8ddc44e82514f122baac32eb61484ea7a06035079c83a58298de7ed71df0b307649e542537b90929ac633cd8feb646c834640ad;
|
178
|
+
Path=/
|
179
|
+
body:
|
180
|
+
encoding: ASCII-8BIT
|
181
|
+
string: !binary |-
|
182
|
+
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3m
|
183
|
+
kuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZk
|
184
|
+
AWz2zkrayZ4hgKrIHz9+fB8/In5x8tFJtpzm5Zvs3au8WZftR49S+vBNnS2b
|
185
|
+
bNoW1fJsRh/d37138GDn/qcP9j/dv/fpvXuj5CNpflLNcvr+o9O6ruqP6OMv
|
186
|
+
8qbJLvKGPvxeQpBerxeLrL6mPz96M8/TNnuXzqrpepEv23RarctZuqzadJKn
|
187
|
+
59V6ORsDxNO8zYoSED56de/e/fv3HhwcHOCL1/llXhctA7Mdvq7W9ZRxOL7M
|
188
|
+
yqzOxvSThjN+ndeXxTRvxvTHR78k+X7yS5Jfkvw/lc+l6/EAAAA=
|
189
|
+
http_version:
|
190
|
+
recorded_at: Fri, 14 Apr 2017 20:49:27 GMT
|
191
|
+
recorded_with: VCR 3.0.3
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://development.avalara.net/1.0/address/validate?City=&Country=US&Line1
|
5
|
+
uri: https://development.avalara.net/1.0/address/validate?City=&Country=US&Line1=&Line2=&PostalCode=&Region=AL
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -29,11 +29,11 @@ http_interactions:
|
|
29
29
|
X-Powered-By:
|
30
30
|
- ASP.NET
|
31
31
|
Date:
|
32
|
-
-
|
32
|
+
- Fri, 14 Apr 2017 20:40:26 GMT
|
33
33
|
Content-Length:
|
34
|
-
- '
|
34
|
+
- '251'
|
35
35
|
Set-Cookie:
|
36
|
-
- TS017f1821=
|
36
|
+
- TS017f1821=01a8ddc44e9331d6d0163abc04a753de405afb0a37dcad1bb111284bfacc4f05d54e8d577b9eaa0c916be805967f0690193935b264;
|
37
37
|
Path=/
|
38
38
|
body:
|
39
39
|
encoding: UTF-8
|
@@ -42,13 +42,13 @@ http_interactions:
|
|
42
42
|
"ResultCode": "Error",
|
43
43
|
"Messages": [
|
44
44
|
{
|
45
|
-
"Summary": "
|
46
|
-
"Details": "
|
47
|
-
"RefersTo": "
|
45
|
+
"Summary": "Insufficient address information",
|
46
|
+
"Details": "You must specify at least Line\/ZIP, or Line\/City\/State",
|
47
|
+
"RefersTo": "Line1",
|
48
48
|
"Severity": "Error",
|
49
49
|
"Source": "Avalara.AvaTax.Services.Address"}
|
50
50
|
]
|
51
51
|
}
|
52
52
|
http_version:
|
53
|
-
recorded_at:
|
53
|
+
recorded_at: Fri, 14 Apr 2017 20:40:27 GMT
|
54
54
|
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,54 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://development.avalara.net/1.0/address/validate?City=&Country=US&Line1=&Line2=&PostalCode=&Region=AL
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Authorization:
|
11
|
+
- Basic MTEwMDExMzA5NjoxRDEzRURBMkRDQ0M3RTRB
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- "*/*"
|
16
|
+
User-Agent:
|
17
|
+
- Ruby
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 500
|
21
|
+
message: Internal Server Error
|
22
|
+
headers:
|
23
|
+
Cache-Control:
|
24
|
+
- private
|
25
|
+
Content-Type:
|
26
|
+
- text/json; charset=utf-8
|
27
|
+
X-Aspnet-Version:
|
28
|
+
- 4.0.30319
|
29
|
+
X-Powered-By:
|
30
|
+
- ASP.NET
|
31
|
+
Date:
|
32
|
+
- Fri, 14 Apr 2017 20:40:25 GMT
|
33
|
+
Content-Length:
|
34
|
+
- '251'
|
35
|
+
Set-Cookie:
|
36
|
+
- TS017f1821=01a8ddc44e370591d8a4edb7a808af933256f2f63b419e17a951143509a62c2deb1bd82ed27ab503b104c3642ee0c4794ff5ecc47c;
|
37
|
+
Path=/
|
38
|
+
body:
|
39
|
+
encoding: UTF-8
|
40
|
+
string: |
|
41
|
+
{
|
42
|
+
"ResultCode": "Error",
|
43
|
+
"Messages": [
|
44
|
+
{
|
45
|
+
"Summary": "Insufficient address information",
|
46
|
+
"Details": "You must specify at least Line\/ZIP, or Line\/City\/State",
|
47
|
+
"RefersTo": "Line1",
|
48
|
+
"Severity": "Error",
|
49
|
+
"Source": "Avalara.AvaTax.Services.Address"}
|
50
|
+
]
|
51
|
+
}
|
52
|
+
http_version:
|
53
|
+
recorded_at: Fri, 14 Apr 2017 20:40:26 GMT
|
54
|
+
recorded_with: VCR 3.0.3
|