taxjar-ruby 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/lib/taxjar.rb +1 -0
- data/lib/taxjar/jurisdictions.rb +12 -0
- data/lib/taxjar/tax.rb +1 -0
- data/lib/taxjar/version.rb +1 -1
- data/spec/fixtures/taxes.json +6 -0
- data/spec/fixtures/taxes_canada.json +4 -0
- data/spec/fixtures/taxes_international.json +3 -0
- data/spec/taxjar/api/api_spec.rb +30 -11
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57abdd838dccafdd3d06963feeb4300dcc50cf12
|
4
|
+
data.tar.gz: f9bd34f1b42043934a40f340616233165bb45c64
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d40feec61b61684a9041eb88480674a096c75d4b8fce5dd4ab0b33283835cd956d3f9883dcde20e7ca92914bc69702149d18ceb224fef992c3bafe997318570
|
7
|
+
data.tar.gz: c985406fd1c1970628252a3a0a769df953db871fd318f03aea8232fb8f7bdfd0e1d3d9511078eb436cc9aecd505b995180534a1be4102960e33978ff3bd14667
|
data/CHANGELOG.md
CHANGED
data/lib/taxjar.rb
CHANGED
data/lib/taxjar/tax.rb
CHANGED
data/lib/taxjar/version.rb
CHANGED
data/spec/fixtures/taxes.json
CHANGED
@@ -8,6 +8,12 @@
|
|
8
8
|
"has_nexus": true,
|
9
9
|
"freight_taxable": true,
|
10
10
|
"tax_source": "destination",
|
11
|
+
"jurisdictions": {
|
12
|
+
"country": "US",
|
13
|
+
"state": "NJ",
|
14
|
+
"county": "BERGEN",
|
15
|
+
"city": "RAMSEY"
|
16
|
+
},
|
11
17
|
"breakdown": {
|
12
18
|
"taxable_amount": 16.5,
|
13
19
|
"tax_collectable": 1.16,
|
data/spec/taxjar/api/api_spec.rb
CHANGED
@@ -125,7 +125,7 @@ describe Taxjar::API do
|
|
125
125
|
expect(rates.freight_taxable).to eq(true)
|
126
126
|
end
|
127
127
|
end
|
128
|
-
|
128
|
+
|
129
129
|
describe '#rate_for_location (eu)' do
|
130
130
|
before do
|
131
131
|
@postal_code = "00150"
|
@@ -192,7 +192,15 @@ describe Taxjar::API do
|
|
192
192
|
expect(tax.freight_taxable).to eq(true)
|
193
193
|
expect(tax.tax_source).to eq('destination')
|
194
194
|
end
|
195
|
-
|
195
|
+
|
196
|
+
it 'allows access to jurisdictions' do
|
197
|
+
tax = @client.tax_for_order(@order)
|
198
|
+
expect(tax.jurisdictions.country).to eq('US')
|
199
|
+
expect(tax.jurisdictions.state).to eq('NJ')
|
200
|
+
expect(tax.jurisdictions.county).to eq('BERGEN')
|
201
|
+
expect(tax.jurisdictions.city).to eq('RAMSEY')
|
202
|
+
end
|
203
|
+
|
196
204
|
it 'allows access to breakdown' do
|
197
205
|
tax = @client.tax_for_order(@order)
|
198
206
|
expect(tax.breakdown.state_taxable_amount).to eq(16.5)
|
@@ -211,7 +219,7 @@ describe Taxjar::API do
|
|
211
219
|
expect(tax.breakdown.special_tax_rate).to eq(0)
|
212
220
|
expect(tax.breakdown.special_district_tax_collectable).to eq(0)
|
213
221
|
end
|
214
|
-
|
222
|
+
|
215
223
|
it 'allows access to breakdown.shipping' do
|
216
224
|
tax = @client.tax_for_order(@order)
|
217
225
|
expect(tax.breakdown.shipping.taxable_amount).to eq(1.5)
|
@@ -268,7 +276,12 @@ describe Taxjar::API do
|
|
268
276
|
expect(tax.freight_taxable).to eq(true)
|
269
277
|
expect(tax.tax_source).to eq('destination')
|
270
278
|
end
|
271
|
-
|
279
|
+
|
280
|
+
it 'allows access to jurisdictions' do
|
281
|
+
tax = @client.tax_for_order(@order)
|
282
|
+
expect(tax.jurisdictions.country).to eq('FI')
|
283
|
+
end
|
284
|
+
|
272
285
|
it 'allows access to breakdown' do
|
273
286
|
tax = @client.tax_for_order(@order)
|
274
287
|
expect(tax.breakdown.taxable_amount).to eq(26.95)
|
@@ -278,7 +291,7 @@ describe Taxjar::API do
|
|
278
291
|
expect(tax.breakdown.country_tax_rate).to eq(0.24)
|
279
292
|
expect(tax.breakdown.country_tax_collectable).to eq(6.47)
|
280
293
|
end
|
281
|
-
|
294
|
+
|
282
295
|
it 'allows access to breakdown.shipping' do
|
283
296
|
tax = @client.tax_for_order(@order)
|
284
297
|
expect(tax.breakdown.shipping.taxable_amount).to eq(10)
|
@@ -318,7 +331,13 @@ describe Taxjar::API do
|
|
318
331
|
expect(tax.freight_taxable).to eq(true)
|
319
332
|
expect(tax.tax_source).to eq('destination')
|
320
333
|
end
|
321
|
-
|
334
|
+
|
335
|
+
it 'allows access to jurisdictions' do
|
336
|
+
tax = @client.tax_for_order(@order)
|
337
|
+
expect(tax.jurisdictions.country).to eq('CA')
|
338
|
+
expect(tax.jurisdictions.state).to eq('ON')
|
339
|
+
end
|
340
|
+
|
322
341
|
it 'allows access to breakdown' do
|
323
342
|
tax = @client.tax_for_order(@order)
|
324
343
|
expect(tax.breakdown.taxable_amount).to eq(26.95)
|
@@ -334,7 +353,7 @@ describe Taxjar::API do
|
|
334
353
|
expect(tax.breakdown.qst_tax_rate).to eq(0)
|
335
354
|
expect(tax.breakdown.qst).to eq(0)
|
336
355
|
end
|
337
|
-
|
356
|
+
|
338
357
|
it 'allows access to breakdown.shipping' do
|
339
358
|
tax = @client.tax_for_order(@order)
|
340
359
|
expect(tax.breakdown.shipping.taxable_amount).to eq(10)
|
@@ -369,12 +388,12 @@ describe Taxjar::API do
|
|
369
388
|
end
|
370
389
|
end
|
371
390
|
end
|
372
|
-
|
391
|
+
|
373
392
|
describe '#nexus_regions' do
|
374
393
|
before do
|
375
394
|
stub_get('/v2/nexus/regions').to_return(body: fixture('nexus_regions.json'), headers: { content_type: 'application/json; charset=utf-8' })
|
376
395
|
end
|
377
|
-
|
396
|
+
|
378
397
|
it 'requests the right resource' do
|
379
398
|
@client.nexus_regions
|
380
399
|
expect(a_get('/v2/nexus/regions')).to have_been_made
|
@@ -390,7 +409,7 @@ describe Taxjar::API do
|
|
390
409
|
expect(regions.first.region).to eq('California')
|
391
410
|
end
|
392
411
|
end
|
393
|
-
|
412
|
+
|
394
413
|
describe '#validate' do
|
395
414
|
before do
|
396
415
|
@params = 'vat=FR40303265045'
|
@@ -418,7 +437,7 @@ describe Taxjar::API do
|
|
418
437
|
expect(validation.vies_response.address).to eq("11 RUE AMPERE\n26600 PONT DE L ISERE")
|
419
438
|
end
|
420
439
|
end
|
421
|
-
|
440
|
+
|
422
441
|
describe '#summary_rates' do
|
423
442
|
before do
|
424
443
|
stub_get('/v2/summary_rates').to_return(body: fixture('summary_rates.json'), headers: { content_type: 'application/json; charset=utf-8' })
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: taxjar-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- TaxJar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-09-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -126,6 +126,7 @@ files:
|
|
126
126
|
- lib/taxjar/customer.rb
|
127
127
|
- lib/taxjar/error.rb
|
128
128
|
- lib/taxjar/exempt_region.rb
|
129
|
+
- lib/taxjar/jurisdictions.rb
|
129
130
|
- lib/taxjar/line_item.rb
|
130
131
|
- lib/taxjar/nexus_region.rb
|
131
132
|
- lib/taxjar/order.rb
|