mws-orders 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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