shopify_api 4.3.6 → 4.3.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2255bd486a91f8b1900f6f793ed7ebaf9277c0a5
4
- data.tar.gz: 62a56df1d53f48e963e1df0ed19170af6e0c7f24
3
+ metadata.gz: 41efd1e1afb47d485a202a84c325a3d312ff4321
4
+ data.tar.gz: de1ef75a389706909b1dfa40b51bf8ac53dfedfe
5
5
  SHA512:
6
- metadata.gz: d60db8448a674113e459ea0409a531e0934f78f0ebd317dc24b33d36b07d82bae08f9de96b74a38b29d6b68ed51d7db25355cac0e0bbac3f4a0380414c57a42d
7
- data.tar.gz: 2c902b762830958c3c3554115ab6295c1c35da45f61dd47d40960d0f0668fef0930c57b211d4495e068a0eafab0b0192927d212d86af260f70f95a5dc7525cfd
6
+ metadata.gz: aa91228ac963eceafb36b5cdcae45d468acd9f44e4fa2ff34c7c536b2cafece42a0c4e03c46e6142ed99d403e387892d29016d88aaa575327ed46643e9fec39b
7
+ data.tar.gz: 83fe534e2642124dbfb5d2c1e6a6538831508ec87d0dc277c50be7353d588d289049c61e40cfab48e2d00fad814a525460b15949c7ff165aa9d3f623feef6683
data/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ == Version 4.3.7
2
+
3
+ * Added support for `complete` in `ShopifyAPI::DraftOrder`
4
+
1
5
  == Version 4.3.6
2
6
 
3
7
  * Fixed the `customer_saved_search_id` param in `ShopifyAPI::CustomerSavedSearch#customers`.
@@ -6,5 +6,9 @@ module ShopifyAPI
6
6
  resource = post(:send_invoice, {}, draft_order_invoice.encode)
7
7
  ShopifyAPI::DraftOrderInvoice.new(ShopifyAPI::DraftOrder.format.decode(resource.body))
8
8
  end
9
+
10
+ def complete(options = {})
11
+ load_attributes_from_response(put(:complete, options, nil))
12
+ end
9
13
  end
10
14
  end
@@ -1,3 +1,3 @@
1
1
  module ShopifyAPI
2
- VERSION = "4.3.6"
2
+ VERSION = "4.3.7"
3
3
  end
@@ -111,4 +111,29 @@ class DraftOrderTest < Test::Unit::TestCase
111
111
  assert_equal 2, metafields.length
112
112
  assert metafields.all? { |m| m.is_a?(ShopifyAPI::Metafield) }
113
113
  end
114
+
115
+ def test_complete_draft_order_with_no_params
116
+ completed_fixture = load_fixture('draft_order_completed')
117
+ completed_draft = ActiveSupport::JSON.decode(completed_fixture)['draft_order']
118
+ fake 'draft_orders/517119332/complete', method: :put, status: 200, body: completed_fixture
119
+
120
+ @draft_order.complete
121
+
122
+ assert_equal completed_draft['status'], @draft_order.status
123
+ assert_equal completed_draft['order_id'], @draft_order.order_id
124
+ refute_nil @draft_order.completed_at
125
+ end
126
+
127
+ def test_complete_draft_order_with_params
128
+ completed_fixture = load_fixture('draft_order_completed')
129
+ completed_draft = ActiveSupport::JSON.decode(completed_fixture)['draft_order']
130
+ complete_params = { payment_pending: true }
131
+ fake 'draft_orders/517119332/complete.json?payment_pending=true', extension: false, method: :put, status: 200, body: completed_fixture
132
+
133
+ @draft_order.complete(complete_params)
134
+
135
+ assert_equal completed_draft['status'], @draft_order.status
136
+ assert_equal completed_draft['order_id'], @draft_order.order_id
137
+ refute_nil @draft_order.completed_at
138
+ end
114
139
  end
@@ -0,0 +1,159 @@
1
+ {
2
+ "draft_order": {
3
+ "id": 517119332,
4
+ "note": "This is a note",
5
+ "email": "montana_hilpert@example.com",
6
+ "taxes_included": false,
7
+ "currency": "CAD",
8
+ "subtotal_price": "1007.41",
9
+ "total_tax": "0.00",
10
+ "total_price": "1027.41",
11
+ "invoice_sent_at": null,
12
+ "created_at": "2017-02-02T13:14:38-05:00",
13
+ "updated_at": "2017-02-02T13:14:38-05:00",
14
+ "tax_exempt": false,
15
+ "completed_at": "2017-02-02T14:15:16-17:00",
16
+ "name": "#D1",
17
+ "status": "completed",
18
+ "line_items": [
19
+ {
20
+ "variant_id": 39072856,
21
+ "product_id": 632910392,
22
+ "title": "IPod Nano - 8gb",
23
+ "variant_title": "green",
24
+ "sku": "IPOD2008GREEN",
25
+ "vendor": null,
26
+ "price": "199.00",
27
+ "grams": 200,
28
+ "quantity": 1,
29
+ "requires_shipping": true,
30
+ "taxable": true,
31
+ "gift_card": false,
32
+ "fulfillment_service": "manual",
33
+ "tax_lines": [],
34
+ "applied_discount": null,
35
+ "name": "IPod Nano - 8gb - green",
36
+ "properties": [
37
+ {
38
+ "name": "Custom Engraving",
39
+ "value": "Happy Birthday"
40
+ }
41
+ ],
42
+ "custom": false
43
+ },
44
+ {
45
+ "variant_id": null,
46
+ "product_id": null,
47
+ "title": "Custom Item",
48
+ "variant_title": null,
49
+ "sku": null,
50
+ "vendor": null,
51
+ "price": "494.14",
52
+ "grams": 0,
53
+ "quantity": 2,
54
+ "requires_shipping": false,
55
+ "taxable": false,
56
+ "gift_card": false,
57
+ "fulfillment_service": "manual",
58
+ "tax_lines": [],
59
+ "applied_discount": {
60
+ "description": "A percentage discount for a custom line item",
61
+ "value": "3.58",
62
+ "title": "Custom",
63
+ "amount": "35.38",
64
+ "value_type": "percentage"
65
+ },
66
+ "name": "Custom item",
67
+ "properties": [],
68
+ "custom": true
69
+ }
70
+ ],
71
+ "shipping_address": {
72
+ "first_name": "Jan",
73
+ "address1": "512 Ernestina Forks",
74
+ "phone": "(639) 372 1289",
75
+ "city": "Lakefurt",
76
+ "zip": "24093",
77
+ "province": "Virginia",
78
+ "country": "United States",
79
+ "last_name": "Fisher",
80
+ "address2": "Apt. 702",
81
+ "company": "Steuber and Sons",
82
+ "latitude": 45.416311,
83
+ "longitude": -75.68683,
84
+ "name": "Jan Fisher",
85
+ "country_code": "US",
86
+ "province_code": "VA"
87
+ },
88
+ "billing_address": {
89
+ "first_name": "Jan",
90
+ "address1": "512 Ernestina Forks",
91
+ "phone": "(639) 372 1289",
92
+ "city": "Lakefurt",
93
+ "zip": "24093",
94
+ "province": "Virginia",
95
+ "country": "United States",
96
+ "last_name": "Fisher",
97
+ "address2": "Apt. 702",
98
+ "company": "Steuber and Sons",
99
+ "latitude": 45.416311,
100
+ "longitude": -75.68683,
101
+ "name": "Jan Fisher",
102
+ "country_code": "US",
103
+ "province_code": "VA"
104
+ },
105
+ "invoice_url": "https://checkout.myshopify.io/1/invoices/8e72bdccd0ac51067b947ac68c6f3804",
106
+ "applied_discount": {
107
+ "description": "A discount on the entire order",
108
+ "value": "1.48",
109
+ "title": "Custom",
110
+ "amount": "1.48",
111
+ "value_type": "fixed_amount"
112
+ },
113
+ "order_id": 450789469,
114
+ "shipping_line": {
115
+ "title": "Custom shipping",
116
+ "price": "20.00",
117
+ "custom": true,
118
+ "handle": null
119
+ },
120
+ "tax_lines": [],
121
+ "tags": "",
122
+ "customer": {
123
+ "accepts_marketing": false,
124
+ "created_at": "2014-03-07T16:14:08-05:00",
125
+ "email": "bob.norman@hostmail.com",
126
+ "first_name": "Bob",
127
+ "id": 207119551,
128
+ "last_name": "Norman",
129
+ "last_order_id": null,
130
+ "multipass_identifier": null,
131
+ "note": null,
132
+ "orders_count": 0,
133
+ "state": "disabled",
134
+ "total_spent": "0.00",
135
+ "updated_at": "2014-03-07T16:14:08-05:00",
136
+ "verified_email": true,
137
+ "tags": "",
138
+ "last_order_name": null,
139
+ "default_address": {
140
+ "address1": "Chestnut Street 92",
141
+ "address2": "",
142
+ "city": "Louisville",
143
+ "company": null,
144
+ "country": "United States",
145
+ "first_name": null,
146
+ "id": 207119551,
147
+ "last_name": null,
148
+ "phone": "555-625-1199",
149
+ "province": "Kentucky",
150
+ "zip": "40202",
151
+ "name": null,
152
+ "province_code": "KY",
153
+ "country_code": "US",
154
+ "country_name": "United States",
155
+ "default": true
156
+ }
157
+ }
158
+ }
159
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shopify_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.3.6
4
+ version: 4.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-23 00:00:00.000000000 Z
11
+ date: 2017-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeresource
@@ -269,6 +269,7 @@ files:
269
269
  - test/fixtures/discount_disabled.json
270
270
  - test/fixtures/discounts.json
271
271
  - test/fixtures/draft_order.json
272
+ - test/fixtures/draft_order_completed.json
272
273
  - test/fixtures/draft_order_invoice.json
273
274
  - test/fixtures/draft_orders.json
274
275
  - test/fixtures/events.json