mws-orders 0.4.0 → 0.5.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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +3 -3
  4. data/lib/mws/orders/address.rb +38 -0
  5. data/lib/mws/orders/buyer_customized_info.rb +14 -0
  6. data/lib/mws/orders/buyer_tax_info.rb +23 -0
  7. data/lib/mws/orders/collection.rb +1 -0
  8. data/lib/mws/orders/document.rb +6 -4
  9. data/lib/mws/orders/entity.rb +26 -15
  10. data/lib/mws/orders/invoice_data.rb +5 -4
  11. data/lib/mws/orders/message.rb +3 -2
  12. data/lib/mws/orders/order.rb +82 -33
  13. data/lib/mws/orders/order_item.rb +67 -30
  14. data/lib/mws/orders/order_items.rb +1 -0
  15. data/lib/mws/orders/orders.rb +1 -0
  16. data/lib/mws/orders/parser.rb +6 -14
  17. data/lib/mws/orders/payment_execution_detail_item.rb +3 -2
  18. data/lib/mws/orders/points_granted.rb +18 -0
  19. data/lib/mws/orders/product_info.rb +14 -0
  20. data/lib/mws/orders/service_status.rb +4 -3
  21. data/lib/mws/orders/tax_classification.rb +18 -0
  22. data/lib/mws/orders/tax_collection.rb +18 -0
  23. data/lib/mws/orders/tokenable.rb +2 -2
  24. data/lib/mws/orders/version.rb +1 -1
  25. metadata +11 -38
  26. data/lib/mws/orders/payment_execution_detail.rb +0 -16
  27. data/lib/mws/orders/shipping_address.rb +0 -37
  28. data/test/fixtures/order_items.xml +0 -83
  29. data/test/fixtures/orders.xml +0 -112
  30. data/test/fixtures/service_status.xml +0 -19
  31. data/test/mws/orders/test_entity.rb +0 -96
  32. data/test/mws/orders/test_message.rb +0 -18
  33. data/test/mws/orders/test_order.rb +0 -99
  34. data/test/mws/orders/test_order_item.rb +0 -74
  35. data/test/mws/orders/test_order_items.rb +0 -21
  36. data/test/mws/orders/test_orders.rb +0 -21
  37. data/test/mws/orders/test_parser.rb +0 -9
  38. data/test/mws/orders/test_payment_execution_detail.rb +0 -19
  39. data/test/mws/orders/test_payment_execution_detail_item.rb +0 -19
  40. data/test/mws/orders/test_service_status.rb +0 -28
  41. data/test/mws/orders/test_shipping_address.rb +0 -37
  42. data/test/mws/orders/test_tokenable.rb +0 -33
  43. data/test/test_helper.rb +0 -19
@@ -1,74 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- class TestOrderItemTest < MiniTest::Test
6
- def setup
7
- node = load_fixture('order_items').at_xpath('//xmlns:OrderItem')
8
- @order_item = OrderItem.new(node)
9
- end
10
-
11
- def test_asin
12
- assert_kind_of String, @order_item.asin
13
- end
14
-
15
- def test_order_item_id
16
- assert_kind_of String, @order_item.order_item_id
17
- end
18
-
19
- def test_seller_sku
20
- assert_kind_of String, @order_item.seller_sku
21
- end
22
-
23
- def test_title
24
- assert_kind_of String, @order_item.title
25
- end
26
-
27
- def test_quantity_ordered
28
- assert_kind_of Integer, @order_item.quantity_ordered
29
- end
30
-
31
- def test_quantity_shipped
32
- assert_kind_of Integer, @order_item.quantity_shipped
33
- end
34
-
35
- def test_item_price
36
- assert_kind_of Money, @order_item.item_price
37
- end
38
-
39
- def test_shipping_price
40
- assert_kind_of Money, @order_item.shipping_price
41
- end
42
-
43
- def test_scheduled_delivery_ends_at
44
- assert_kind_of Time, @order_item.scheduled_delivery_ends_at
45
- end
46
-
47
- def test_scheduled_delivery_starts_at
48
- assert_kind_of Time, @order_item.scheduled_delivery_starts_at
49
- end
50
-
51
- def test_cod_fee
52
- assert_kind_of Money, @order_item.cod_fee
53
- end
54
-
55
- def test_cod_fee_discount
56
- assert_kind_of Money, @order_item.cod_fee_discount
57
- end
58
-
59
- def test_gift_message_text
60
- assert_kind_of String, @order_item.gift_message_text
61
- end
62
-
63
- def test_gift_wrap_price
64
- assert_kind_of Money, @order_item.gift_wrap_price
65
- end
66
-
67
- def test_gift_wrap_level
68
- assert_kind_of String, @order_item.gift_wrap_level
69
- end
70
-
71
- def test_to_s
72
- assert_equal @order_item.order_item_id, @order_item.to_s
73
- end
74
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- class TestOrderItems < MiniTest::Test
6
- def setup
7
- node = load_fixture('order_items').xpath('//xmlns:ListOrderItemsResult')
8
- @order_items = OrderItems.new(node)
9
- end
10
-
11
- def test_has_order_items
12
- refute_empty @order_items.to_a
13
- @order_items.each do |order_item|
14
- assert_kind_of OrderItem, order_item
15
- end
16
- end
17
-
18
- def test_has_next_token
19
- refute_empty @order_items.next_token
20
- end
21
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- class TestOrders < MiniTest::Test
6
- def setup
7
- node = load_fixture('orders').xpath('//xmlns:ListOrdersResult')
8
- @orders = Orders.new(node)
9
- end
10
-
11
- def test_has_orders
12
- refute_empty @orders.to_a
13
- @orders.each do |order|
14
- assert_kind_of Order, order
15
- end
16
- end
17
-
18
- def test_has_next_token
19
- refute_empty @orders.next_token
20
- end
21
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- class TestParser < MiniTest::Test
6
- def test_overrides_peddlers_parser
7
- assert_equal Parser, Client.parser
8
- end
9
- end
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- class TestPaymentExecutionDetail < MiniTest::Test
6
- def setup
7
- node =
8
- load_fixture('orders').xpath('//xmlns:PaymentExecutionDetail')
9
- .first
10
- @ped = PaymentExecutionDetail.new(node)
11
- end
12
-
13
- def test_has_payment_execution_detail_items
14
- refute_empty @ped.to_a
15
- @ped.each do |pedi|
16
- assert_kind_of PaymentExecutionDetailItem, pedi
17
- end
18
- end
19
- end
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- class TestPaymentExecutionDetailItem < MiniTest::Test
6
- def setup
7
- node =
8
- load_fixture('orders').xpath('//xmlns:PaymentExecutionDetailItem').first
9
- @pedi = PaymentExecutionDetailItem.new(node)
10
- end
11
-
12
- def test_payment
13
- assert_kind_of Money, @pedi.payment
14
- end
15
-
16
- def test_payment_method
17
- assert_kind_of String, @pedi.payment_method
18
- end
19
- end
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- class TestServiceStatus < MiniTest::Test
6
- def setup
7
- node =
8
- load_fixture('service_status').xpath('//xmlns:GetServiceStatusResult')
9
- .first
10
- @status = ServiceStatus.new(node)
11
- end
12
-
13
- def test_status
14
- assert_kind_of String, @status.status
15
- end
16
-
17
- def test_timestamp
18
- assert_kind_of Time, @status.timestamp
19
- end
20
-
21
- def test_message_id
22
- assert_kind_of String, @status.message_id
23
- end
24
-
25
- def test_messages
26
- assert_kind_of Array, @status.messages
27
- end
28
- end
@@ -1,37 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- class TestShippingAddress < MiniTest::Test
6
- def setup
7
- node = load_fixture('orders').xpath('//xmlns:ShippingAddress').first
8
- @address = ShippingAddress.new(node)
9
- end
10
-
11
- def test_name
12
- assert_kind_of String, @address.name
13
- end
14
-
15
- def test_address_lines
16
- assert_kind_of Array, @address.address_lines
17
- @address.address_lines.each do |line|
18
- assert_kind_of String, line
19
- end
20
- end
21
-
22
- def test_city
23
- assert_kind_of String, @address.city
24
- end
25
-
26
- def test_state_or_region
27
- assert_kind_of String, @address.state_or_region
28
- end
29
-
30
- def test_postal_code
31
- assert_kind_of String, @address.postal_code
32
- end
33
-
34
- def test_country_code
35
- assert_kind_of String, @address.country_code
36
- end
37
- end
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'test_helper'
4
-
5
- class TestTokenable < MiniTest::Test
6
- def test_parses_next_token
7
- xml = <<-XML
8
- <NextToken xmlns="example">123</NextToken>
9
- XML
10
- tokenable = build_tokenable(xml)
11
-
12
- assert_equal '123', tokenable.next_token
13
- end
14
-
15
- def test_returns_nil_if_next_token_is_not_present
16
- xml = <<-XML
17
- <Foo xmlns="example"/>
18
- XML
19
- tokenable = build_tokenable(xml)
20
-
21
- refute tokenable.next_token
22
- end
23
-
24
- private
25
-
26
- def build_tokenable(xml)
27
- klass = Class.new(Collection) do
28
- include Tokenable
29
- end
30
-
31
- klass.new(Nokogiri(xml))
32
- end
33
- end
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'minitest/autorun'
4
- require 'mws/orders/parser'
5
-
6
- I18n.enforce_available_locales = false
7
-
8
- module MiniTest
9
- class Test
10
- include MWS::Orders
11
-
12
- def load_fixture(type)
13
- file = File.expand_path("../fixtures/#{type}.xml", __FILE__)
14
- body = File.read(file)
15
-
16
- Nokogiri(body)
17
- end
18
- end
19
- end