solidus_easypost 2.0.0 → 3.0.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 (115) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +6 -0
  3. data/.github/stale.yml +4 -4
  4. data/.github_changelog_generator +2 -0
  5. data/.gitignore +1 -0
  6. data/.rubocop.yml +3 -0
  7. data/.rubocop_todo.yml +12 -47
  8. data/CHANGELOG.md +113 -0
  9. data/LICENSE +1 -1
  10. data/README.md +111 -21
  11. data/app/controllers/spree/admin/postage_labels_controller.rb +20 -0
  12. data/app/decorators/models/solidus_easypost/spree/carton_decorator.rb +38 -0
  13. data/app/decorators/models/solidus_easypost/spree/shipment_decorator.rb +18 -23
  14. data/app/models/solidus_easypost/parcel_dimension.rb +34 -0
  15. data/app/models/solidus_easypost/return_authorization.rb +2 -13
  16. data/app/overrides/spree/admin/orders/_shipment/add_postage_label.html.erb.deface +10 -0
  17. data/bin/rails +0 -1
  18. data/bin/rails-engine +0 -2
  19. data/bin/rails-sandbox +1 -2
  20. data/bin/sandbox +2 -0
  21. data/config/initializers/webhooks.rb +7 -0
  22. data/config/locales/en.yml +7 -4
  23. data/config/routes.rb +5 -1
  24. data/db/migrate/20201025110912_add_tracker_id_to_cartons.rb +6 -0
  25. data/lib/generators/solidus_easypost/install/install_generator.rb +7 -1
  26. data/lib/generators/solidus_easypost/install/templates/initializer.rb +26 -0
  27. data/lib/solidus_easypost/address_builder.rb +45 -0
  28. data/lib/solidus_easypost/calculator/base_dimension_calculator.rb +28 -0
  29. data/lib/solidus_easypost/calculator/weight_dimension_calculator.rb +22 -0
  30. data/lib/solidus_easypost/configuration.rb +25 -2
  31. data/lib/solidus_easypost/errors/unknown_partial_resource_error.rb +11 -0
  32. data/lib/solidus_easypost/estimator.rb +37 -0
  33. data/lib/solidus_easypost/parcel_builder.rb +27 -0
  34. data/lib/solidus_easypost/shipment_builder.rb +32 -0
  35. data/lib/solidus_easypost/shipping_method_selector.rb +17 -0
  36. data/lib/solidus_easypost/shipping_rate_calculator.rb +9 -0
  37. data/lib/solidus_easypost/testing_support/factories/address_factory.rb +10 -0
  38. data/lib/solidus_easypost/testing_support/factories/product_factory.rb +7 -0
  39. data/lib/solidus_easypost/testing_support/factories/shipment_factory.rb +30 -0
  40. data/lib/solidus_easypost/testing_support/factories/shipping_method_factory.rb +8 -0
  41. data/lib/solidus_easypost/testing_support/factories/stock_location_factory.rb +10 -0
  42. data/lib/solidus_easypost/testing_support/factories/variant_factory.rb +7 -0
  43. data/lib/solidus_easypost/testing_support/factories.rb +3 -0
  44. data/lib/solidus_easypost/tracker_webhook_handler.rb +14 -0
  45. data/lib/solidus_easypost/version.rb +1 -1
  46. data/lib/solidus_easypost.rb +11 -0
  47. data/solidus_easypost.gemspec +8 -5
  48. data/spec/cassettes/{Spree_Address/_easypost_address/is_an_EasyPost_Address_object.yml → address_builder/from_address.yml} +19 -23
  49. data/spec/cassettes/{Spree_StockLocation/_easypost_address/is_an_EasyPost_Address_object.yml → address_builder/from_stock_location.yml} +19 -23
  50. data/spec/cassettes/{Spree_Stock_Estimator/_shipping_rates/when_rates_are_found/when_shipping_methods_exist/when_shipping_methods_are_front_end_visible/has_the_correct_costs.yml → estimator.yml} +0 -0
  51. data/spec/cassettes/integration/checkout.yml +377 -0
  52. data/spec/cassettes/integration/order_shipping/with_purchase_labels.yml +373 -0
  53. data/spec/cassettes/integration/order_shipping/without_purchase_labels.yml +251 -0
  54. data/spec/cassettes/{Spree_Stock_Package/_easypost_parcel/is_an_EasyPost_Parcel_object.yml → parcel_builder/from_package.yml} +17 -22
  55. data/spec/cassettes/{Spree_Stock_Package/_easypost_parcel/has_the_correct_attributes.yml → parcel_builder/from_return_authorization.yml} +17 -22
  56. data/spec/cassettes/postage_labels/show.yml +72 -0
  57. data/spec/cassettes/return_authorization.yml +310 -0
  58. data/spec/cassettes/{Spree_Stock_Package/_easypost_shipment/is_an_EasyPost_Shipment_object.yml → shipment_builder/from_package.yml} +74 -92
  59. data/spec/cassettes/{Spree_Stock_Estimator/_shipping_rates/when_rates_are_found/when_shipping_methods_exist/create_no_new_shipping_methods.yml → shipment_builder/from_return_authorization.yml} +77 -95
  60. data/spec/cassettes/shipment_builder/from_shipment.yml +250 -0
  61. data/spec/controllers/spree/admin/postage_labels_controller_spec.rb +18 -0
  62. data/spec/features/admin/postage_labels_spec.rb +18 -0
  63. data/spec/integration/checkout_spec.rb +45 -0
  64. data/spec/integration/order_shipping_spec.rb +33 -0
  65. data/spec/models/solidus_easypost/parcel_dimension_spec.rb +80 -0
  66. data/spec/models/solidus_easypost/return_authorization_spec.rb +7 -40
  67. data/spec/models/spree/carton_spec.rb +57 -0
  68. data/spec/models/spree/shipment_spec.rb +48 -59
  69. data/spec/models/spree/shipping_rate_spec.rb +14 -7
  70. data/spec/solidus_easypost/address_builder_spec.rb +17 -0
  71. data/spec/solidus_easypost/calculator/weight_dimension_calculator_spec.rb +39 -0
  72. data/spec/solidus_easypost/estimator_spec.rb +52 -0
  73. data/spec/solidus_easypost/parcel_builder_spec.rb +113 -0
  74. data/spec/solidus_easypost/shipment_builder_spec.rb +28 -0
  75. data/spec/solidus_easypost/shipping_method_selector_spec.rb +33 -0
  76. data/spec/solidus_easypost/shipping_rate_calculator_spec.rb +12 -0
  77. data/spec/solidus_easypost/tracker_webhook_handler_spec.rb +58 -0
  78. data/spec/spec_helper.rb +11 -7
  79. data/spec/support/easypost.rb +3 -1
  80. data/spec/support/helpers/api_stubs.rb +40 -0
  81. data/spec/support/helpers/configuration.rb +28 -0
  82. data/spec/support/helpers/shipping_methods.rb +26 -0
  83. data/spec/support/solidus.rb +1 -0
  84. data/spec/support/vcr.rb +1 -0
  85. metadata +118 -85
  86. data/app/decorators/models/solidus_easypost/spree/address_decorator.rb +0 -30
  87. data/app/decorators/models/solidus_easypost/spree/stock/estimator_decorator.rb +0 -15
  88. data/app/decorators/models/solidus_easypost/spree/stock/package_decorator.rb +0 -27
  89. data/app/decorators/models/solidus_easypost/spree/stock_location_decorator.rb +0 -26
  90. data/app/models/solidus_easypost/estimator.rb +0 -51
  91. data/lib/solidus_easypost/factories.rb +0 -24
  92. data/spec/cassettes/SolidusEasypost_ReturnAuthorization/_easypost_shipment/is_an_EasyPost_Shipment_object.yml +0 -271
  93. data/spec/cassettes/SolidusEasypost_ReturnAuthorization/_return_label/has_the_correct_fields.yml +0 -336
  94. data/spec/cassettes/SolidusEasypost_ReturnAuthorization/_return_label/is_an_EasyPost_PackageLabel_object.yml +0 -336
  95. data/spec/cassettes/Spree_Address/_easypost_address/has_the_correct_attributes.yml +0 -69
  96. data/spec/cassettes/Spree_Order/_refresh_shipment_rates/can_get_rates_from_easy_post.yml +0 -271
  97. data/spec/cassettes/Spree_Order/_refresh_shipment_rates/create_shipping_methods_for_the_rates.yml +0 -269
  98. data/spec/cassettes/Spree_Shipment/_buys_a_shipping_rate_after_transitioning_to_ship.yml +0 -403
  99. data/spec/cassettes/Spree_Shipment/_easypost_shipment/when_it_is_a_new_shipment/behaves_like_an_easypost_shipment/is_an_EasyPost_Shipment_object.yml +0 -271
  100. data/spec/cassettes/Spree_Shipment/_easypost_shipment/when_it_is_a_new_shipment/calls_the_api.yml +0 -200
  101. data/spec/cassettes/Spree_Shipment/_easypost_shipment/when_it_is_an_existing_shipment/behaves_like_an_easypost_shipment/is_an_EasyPost_Shipment_object.yml +0 -334
  102. data/spec/cassettes/Spree_Shipment/_easypost_shipment/when_it_is_an_existing_shipment/loads_the_existing_shipment.yml +0 -271
  103. data/spec/cassettes/Spree_StockLocation/_easypost_address/has_the_correct_attributes.yml +0 -69
  104. data/spec/cassettes/Spree_Stock_Estimator/_shipping_rates/when_rates_are_found/when_shipping_methods_dont_exist/creates_new_shipping_methods.yml +0 -269
  105. data/spec/cassettes/Spree_Stock_Estimator/_shipping_rates/when_rates_are_found/when_shipping_methods_dont_exist/is_empty.yml +0 -269
  106. data/spec/cassettes/Spree_Stock_Estimator/_shipping_rates/when_rates_are_found/when_shipping_methods_exist/when_shipping_methods_are_front_end_visible/has_the_correct_names.yml +0 -269
  107. data/spec/cassettes/Spree_Stock_Estimator/_shipping_rates/when_rates_are_found/when_shipping_methods_exist/when_shipping_methods_are_not_front_end_visible/is_empty.yml +0 -269
  108. data/spec/cassettes/Spree_Stock_Package/_easypost_shipment/calls_the_api.yml +0 -200
  109. data/spec/factories/spree_modification.rb +0 -25
  110. data/spec/models/spree/address_spec.rb +0 -31
  111. data/spec/models/spree/order_spec.rb +0 -31
  112. data/spec/models/spree/stock/estimator_spec.rb +0 -80
  113. data/spec/models/spree/stock/package_spec.rb +0 -35
  114. data/spec/models/spree/stock_location_spec.rb +0 -31
  115. data/spec/support/shipping_method_helpers.rb +0 -43
@@ -5,22 +5,19 @@ http_interactions:
5
5
  uri: https://api.easypost.com/v2/addresses
6
6
  body:
7
7
  encoding: UTF-8
8
- string: address[street1]=A%20Different%20Road&address[street2]=Northwest&address[city]=Manville&address[zip]=08835&address[phone]=555-555-0199&address[company]=Company&address[name]=John%20Doe&address[state]=NJ&address[country]=US
8
+ string: '{"address":{"street1":"131 S 8th Ave","city":"Manville","zip":"08835","phone":"(202)
9
+ 456-1111","name":"NY Warehouse","company":"NY Warehouse","state":"NJ","country":"US"}}'
9
10
  headers:
11
+ Accept-Encoding:
12
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
10
13
  Accept:
11
14
  - "*/*"
12
15
  User-Agent:
13
- - EasyPost/v2 RubyClient/3.0.1
14
- Authorization:
15
- - Bearer CvzYtuda6KRI9JjG7SAHbA
16
+ - EasyPost/v2 RubyClient/3.1.3 Ruby/2.7.1-p83
16
17
  Content-Type:
17
- - application/x-www-form-urlencoded
18
- Content-Length:
19
- - '222'
20
- Accept-Encoding:
21
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
22
- Host:
23
- - api.easypost.com
18
+ - application/json
19
+ Authorization:
20
+ - Basic Q3Z6WXR1ZGE2S1JJOUpqRzdTQUhiQTo=
24
21
  response:
25
22
  status:
26
23
  code: 201
@@ -33,7 +30,7 @@ http_interactions:
33
30
  X-Content-Type-Options:
34
31
  - nosniff
35
32
  X-Ep-Request-Uuid:
36
- - 43c6543d5dca6f35ee6e9b2a00011032
33
+ - 937dbd635f6b55deee812b080003fc20
37
34
  Cache-Control:
38
35
  - no-cache, no-store, must-revalidate, private
39
36
  Pragma:
@@ -41,52 +38,48 @@ http_interactions:
41
38
  Expires:
42
39
  - '0'
43
40
  Location:
44
- - "/api/v2/addresses/adr_30a4c94624fb4ee1a275d4826646dde4"
41
+ - "/api/v2/addresses/adr_78ab1c350ab541c099e8d7dca2a6d6f3"
45
42
  Content-Type:
46
43
  - application/json; charset=utf-8
47
44
  X-Runtime:
48
- - '0.028594'
45
+ - '0.148401'
49
46
  Transfer-Encoding:
50
47
  - chunked
51
48
  X-Node:
52
- - bigweb4sj
49
+ - bigweb2sj
53
50
  X-Version-Label:
54
- - easypost-201911120131-f5c72b1880-master
51
+ - easypost-202009222104-7ce76ac125-master
55
52
  X-Backend:
56
53
  - easypost
57
54
  X-Proxied:
58
- - extlb2wdc 2744487620
59
- - intlb1sj ff5a2958df
60
- - intlb2wdc ff5a2958df
55
+ - extlb1wdc a561deb64e
56
+ - intlb2sj 8df81f0396
57
+ - intlb2wdc 8df81f0396
61
58
  Strict-Transport-Security:
62
59
  - max-age=15768000; includeSubDomains; preload
63
60
  body:
64
61
  encoding: ASCII-8BIT
65
- string: '{"id":"adr_30a4c94624fb4ee1a275d4826646dde4","object":"Address","created_at":"2019-11-12T08:37:09Z","updated_at":"2019-11-12T08:37:09Z","name":"John
66
- Doe","company":"Company","street1":"A Different Road","street2":"Northwest","city":"Manville","state":"NJ","zip":"08835","country":"US","phone":"5555550199","email":null,"mode":"test","carrier_facility":null,"residential":null,"federal_tax_id":null,"state_tax_id":null,"verifications":{}}'
67
- http_version:
68
- recorded_at: Tue, 12 Nov 2019 08:37:09 GMT
62
+ string: '{"id":"adr_78ab1c350ab541c099e8d7dca2a6d6f3","object":"Address","created_at":"2020-09-23T14:04:14Z","updated_at":"2020-09-23T14:04:14Z","name":"NY
63
+ Warehouse","company":"NY Warehouse","street1":"131 S 8th Ave","street2":null,"city":"Manville","state":"NJ","zip":"08835","country":"US","phone":"2024561111","email":null,"mode":"test","carrier_facility":null,"residential":null,"federal_tax_id":null,"state_tax_id":null,"verifications":{}}'
64
+ recorded_at: Wed, 23 Sep 2020 14:04:14 GMT
69
65
  - request:
70
66
  method: post
71
67
  uri: https://api.easypost.com/v2/addresses
72
68
  body:
73
69
  encoding: UTF-8
74
- string: address[street1]=131%20S%208th%20Ave&address[city]=Manville&address[zip]=08835&address[phone]=(202)%20456-1111&address[name]=NY%20Warehouse&address[company]=NY%20Warehouse&address[state]=NJ&address[country]=US
70
+ string: '{"address":{"street1":"A Different Road","street2":"Northwest","city":"Manville","zip":"08835","phone":"555-555-0199","company":"Company","name":"John
71
+ Doe","state":"NJ","country":"US"}}'
75
72
  headers:
73
+ Accept-Encoding:
74
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
76
75
  Accept:
77
76
  - "*/*"
78
77
  User-Agent:
79
- - EasyPost/v2 RubyClient/3.0.1
80
- Authorization:
81
- - Bearer CvzYtuda6KRI9JjG7SAHbA
78
+ - EasyPost/v2 RubyClient/3.1.3 Ruby/2.7.1-p83
82
79
  Content-Type:
83
- - application/x-www-form-urlencoded
84
- Content-Length:
85
- - '209'
86
- Accept-Encoding:
87
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
88
- Host:
89
- - api.easypost.com
80
+ - application/json
81
+ Authorization:
82
+ - Basic Q3Z6WXR1ZGE2S1JJOUpqRzdTQUhiQTo=
90
83
  response:
91
84
  status:
92
85
  code: 201
@@ -99,7 +92,7 @@ http_interactions:
99
92
  X-Content-Type-Options:
100
93
  - nosniff
101
94
  X-Ep-Request-Uuid:
102
- - 43c6543d5dca6f36ee812e9d0001103d
95
+ - 937dbd635f6b55deee6f30ab0003fc49
103
96
  Cache-Control:
104
97
  - no-cache, no-store, must-revalidate, private
105
98
  Pragma:
@@ -107,52 +100,47 @@ http_interactions:
107
100
  Expires:
108
101
  - '0'
109
102
  Location:
110
- - "/api/v2/addresses/adr_d320320b96ed428b8cc033c922786a50"
103
+ - "/api/v2/addresses/adr_079c8206e86f4163a1f6efa83cf5ee1e"
111
104
  Content-Type:
112
105
  - application/json; charset=utf-8
113
106
  X-Runtime:
114
- - '0.030267'
107
+ - '0.052933'
115
108
  Transfer-Encoding:
116
109
  - chunked
117
110
  X-Node:
118
- - bigweb6sj
111
+ - bigweb9sj
119
112
  X-Version-Label:
120
- - easypost-201911120131-f5c72b1880-master
113
+ - easypost-202009222104-7ce76ac125-master
121
114
  X-Backend:
122
115
  - easypost
123
116
  X-Proxied:
124
- - extlb2wdc 2744487620
125
- - intlb1sj ff5a2958df
126
- - intlb1wdc ff5a2958df
117
+ - extlb1wdc a561deb64e
118
+ - intlb1sj 8df81f0396
119
+ - intlb2wdc 8df81f0396
127
120
  Strict-Transport-Security:
128
121
  - max-age=15768000; includeSubDomains; preload
129
122
  body:
130
123
  encoding: ASCII-8BIT
131
- string: '{"id":"adr_d320320b96ed428b8cc033c922786a50","object":"Address","created_at":"2019-11-12T08:37:10Z","updated_at":"2019-11-12T08:37:10Z","name":"NY
132
- Warehouse","company":"NY Warehouse","street1":"131 S 8th Ave","street2":null,"city":"Manville","state":"NJ","zip":"08835","country":"US","phone":"2024561111","email":null,"mode":"test","carrier_facility":null,"residential":null,"federal_tax_id":null,"state_tax_id":null,"verifications":{}}'
133
- http_version:
134
- recorded_at: Tue, 12 Nov 2019 08:37:10 GMT
124
+ string: '{"id":"adr_079c8206e86f4163a1f6efa83cf5ee1e","object":"Address","created_at":"2020-09-23T14:04:15Z","updated_at":"2020-09-23T14:04:15Z","name":"John
125
+ Doe","company":"Company","street1":"A Different Road","street2":"Northwest","city":"Manville","state":"NJ","zip":"08835","country":"US","phone":"5555550199","email":null,"mode":"test","carrier_facility":null,"residential":null,"federal_tax_id":null,"state_tax_id":null,"verifications":{}}'
126
+ recorded_at: Wed, 23 Sep 2020 14:04:15 GMT
135
127
  - request:
136
128
  method: post
137
129
  uri: https://api.easypost.com/v2/parcels
138
130
  body:
139
131
  encoding: UTF-8
140
- string: parcel[weight]=10.0
132
+ string: '{"parcel":{"weight":10}}'
141
133
  headers:
134
+ Accept-Encoding:
135
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
142
136
  Accept:
143
137
  - "*/*"
144
138
  User-Agent:
145
- - EasyPost/v2 RubyClient/3.0.1
146
- Authorization:
147
- - Bearer CvzYtuda6KRI9JjG7SAHbA
139
+ - EasyPost/v2 RubyClient/3.1.3 Ruby/2.7.1-p83
148
140
  Content-Type:
149
- - application/x-www-form-urlencoded
150
- Content-Length:
151
- - '19'
152
- Accept-Encoding:
153
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
154
- Host:
155
- - api.easypost.com
141
+ - application/json
142
+ Authorization:
143
+ - Basic Q3Z6WXR1ZGE2S1JJOUpqRzdTQUhiQTo=
156
144
  response:
157
145
  status:
158
146
  code: 201
@@ -165,7 +153,7 @@ http_interactions:
165
153
  X-Content-Type-Options:
166
154
  - nosniff
167
155
  X-Ep-Request-Uuid:
168
- - 43c6543d5dca6f36ee6171c800011046
156
+ - 937dbd625f6b55dfee6f1f050003fc7e
169
157
  Cache-Control:
170
158
  - no-cache, no-store, must-revalidate, private
171
159
  Pragma:
@@ -173,51 +161,46 @@ http_interactions:
173
161
  Expires:
174
162
  - '0'
175
163
  Location:
176
- - "/api/v2/parcels/prcl_cb35d76fe3994a94a39291c069c21789"
164
+ - "/api/v2/parcels/prcl_da01bd8f5d924d17a96da73bcacaa247"
177
165
  Content-Type:
178
166
  - application/json; charset=utf-8
179
167
  X-Runtime:
180
- - '0.028928'
168
+ - '0.032663'
181
169
  Transfer-Encoding:
182
170
  - chunked
183
171
  X-Node:
184
- - bigweb2sj
172
+ - bigweb9sj
185
173
  X-Version-Label:
186
- - easypost-201911120131-f5c72b1880-master
174
+ - easypost-202009222104-7ce76ac125-master
187
175
  X-Backend:
188
176
  - easypost
189
177
  X-Proxied:
190
- - extlb2wdc 2744487620
191
- - intlb2sj ff5a2958df
192
- - intlb2wdc ff5a2958df
178
+ - extlb1wdc a561deb64e
179
+ - intlb1sj 8df81f0396
180
+ - intlb2wdc 8df81f0396
193
181
  Strict-Transport-Security:
194
182
  - max-age=15768000; includeSubDomains; preload
195
183
  body:
196
184
  encoding: ASCII-8BIT
197
- string: '{"id":"prcl_cb35d76fe3994a94a39291c069c21789","object":"Parcel","created_at":"2019-11-12T08:37:10Z","updated_at":"2019-11-12T08:37:10Z","length":null,"width":null,"height":null,"predefined_package":null,"weight":10.0,"mode":"test"}'
198
- http_version:
199
- recorded_at: Tue, 12 Nov 2019 08:37:11 GMT
185
+ string: '{"id":"prcl_da01bd8f5d924d17a96da73bcacaa247","object":"Parcel","created_at":"2020-09-23T14:04:15Z","updated_at":"2020-09-23T14:04:15Z","length":null,"width":null,"height":null,"predefined_package":null,"weight":10.0,"mode":"test"}'
186
+ recorded_at: Wed, 23 Sep 2020 14:04:15 GMT
200
187
  - request:
201
188
  method: post
202
189
  uri: https://api.easypost.com/v2/shipments
203
190
  body:
204
191
  encoding: UTF-8
205
- string: shipment[to_address][id]=adr_30a4c94624fb4ee1a275d4826646dde4&shipment[from_address][id]=adr_d320320b96ed428b8cc033c922786a50&shipment[parcel][id]=prcl_cb35d76fe3994a94a39291c069c21789
192
+ string: '{"shipment":{"from_address":{"id":"adr_78ab1c350ab541c099e8d7dca2a6d6f3"},"to_address":{"id":"adr_079c8206e86f4163a1f6efa83cf5ee1e"},"parcel":{"id":"prcl_da01bd8f5d924d17a96da73bcacaa247"},"is_return":true}}'
206
193
  headers:
194
+ Accept-Encoding:
195
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
207
196
  Accept:
208
197
  - "*/*"
209
198
  User-Agent:
210
- - EasyPost/v2 RubyClient/3.0.1
211
- Authorization:
212
- - Bearer CvzYtuda6KRI9JjG7SAHbA
199
+ - EasyPost/v2 RubyClient/3.1.3 Ruby/2.7.1-p83
213
200
  Content-Type:
214
- - application/x-www-form-urlencoded
215
- Content-Length:
216
- - '184'
217
- Accept-Encoding:
218
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
219
- Host:
220
- - api.easypost.com
201
+ - application/json
202
+ Authorization:
203
+ - Basic Q3Z6WXR1ZGE2S1JJOUpqRzdTQUhiQTo=
221
204
  response:
222
205
  status:
223
206
  code: 201
@@ -230,7 +213,7 @@ http_interactions:
230
213
  X-Content-Type-Options:
231
214
  - nosniff
232
215
  X-Ep-Request-Uuid:
233
- - 43c6543d5dca6f37ee6fab0400011054
216
+ - 937dbd625f6b55e0ee715dad0003fcb0
234
217
  Cache-Control:
235
218
  - no-cache, no-store, must-revalidate, private
236
219
  Pragma:
@@ -238,32 +221,31 @@ http_interactions:
238
221
  Expires:
239
222
  - '0'
240
223
  Location:
241
- - "/api/v2/shipments/shp_14b9afb1ebe5412ba71276a1b97ae325"
224
+ - "/api/v2/shipments/shp_d05f260d382d48cea1e62472d169eb59"
242
225
  Content-Type:
243
226
  - application/json; charset=utf-8
244
227
  X-Runtime:
245
- - '0.235945'
228
+ - '0.184911'
246
229
  Transfer-Encoding:
247
230
  - chunked
248
231
  X-Node:
249
- - bigweb11sj
232
+ - bigweb12sj
250
233
  X-Version-Label:
251
- - easypost-201911120131-f5c72b1880-master
234
+ - easypost-202009222104-7ce76ac125-master
252
235
  X-Backend:
253
236
  - easypost
254
237
  X-Proxied:
255
- - extlb2wdc 2744487620
256
- - intlb1sj ff5a2958df
257
- - intlb2wdc ff5a2958df
238
+ - extlb1wdc a561deb64e
239
+ - intlb1wdc 8df81f0396
240
+ - intlb2sj 8df81f0396
258
241
  Strict-Transport-Security:
259
242
  - max-age=15768000; includeSubDomains; preload
260
243
  body:
261
244
  encoding: ASCII-8BIT
262
- string: '{"created_at":"2019-11-12T08:37:11Z","is_return":false,"messages":[],"mode":"test","options":{"currency":"USD","payment":{"type":"SENDER"},"label_date":null,"date_advance":0},"reference":null,"status":"unknown","tracking_code":null,"updated_at":"2019-11-12T08:37:11Z","batch_id":null,"batch_status":null,"batch_message":null,"customs_info":null,"from_address":{"id":"adr_d320320b96ed428b8cc033c922786a50","object":"Address","created_at":"2019-11-12T08:37:10Z","updated_at":"2019-11-12T08:37:10Z","name":"NY
263
- Warehouse","company":"NY Warehouse","street1":"131 S 8th Ave","street2":null,"city":"Manville","state":"NJ","zip":"08835","country":"US","phone":"2024561111","email":null,"mode":"test","carrier_facility":null,"residential":null,"federal_tax_id":null,"state_tax_id":null,"verifications":{}},"insurance":null,"order_id":null,"parcel":{"id":"prcl_cb35d76fe3994a94a39291c069c21789","object":"Parcel","created_at":"2019-11-12T08:37:10Z","updated_at":"2019-11-12T08:37:10Z","length":null,"width":null,"height":null,"predefined_package":null,"weight":10.0,"mode":"test"},"postage_label":null,"rates":[{"id":"rate_f24c142eba054c6ea8cc219263f966be","object":"Rate","created_at":"2019-11-12T08:37:11Z","updated_at":"2019-11-12T08:37:11Z","mode":"test","service":"Express","carrier":"USPS","rate":"22.74","currency":"USD","retail_rate":"25.60","retail_currency":"USD","list_rate":"22.74","list_currency":"USD","delivery_days":null,"delivery_date":null,"delivery_date_guaranteed":false,"est_delivery_days":null,"shipment_id":"shp_14b9afb1ebe5412ba71276a1b97ae325","carrier_account_id":"ca_mtb51Ve0"},{"id":"rate_3f7cbaa04ac44ae9ac7502182d6d48a3","object":"Rate","created_at":"2019-11-12T08:37:11Z","updated_at":"2019-11-12T08:37:11Z","mode":"test","service":"Priority","carrier":"USPS","rate":"6.95","currency":"USD","retail_rate":"7.35","retail_currency":"USD","list_rate":"6.95","list_currency":"USD","delivery_days":1,"delivery_date":null,"delivery_date_guaranteed":false,"est_delivery_days":1,"shipment_id":"shp_14b9afb1ebe5412ba71276a1b97ae325","carrier_account_id":"ca_mtb51Ve0"},{"id":"rate_9f8b1ecf05904539b39f6ae5df72d68f","object":"Rate","created_at":"2019-11-12T08:37:11Z","updated_at":"2019-11-12T08:37:11Z","mode":"test","service":"First","carrier":"USPS","rate":"3.82","currency":"USD","retail_rate":"5.19","retail_currency":"USD","list_rate":"3.82","list_currency":"USD","delivery_days":2,"delivery_date":null,"delivery_date_guaranteed":false,"est_delivery_days":2,"shipment_id":"shp_14b9afb1ebe5412ba71276a1b97ae325","carrier_account_id":"ca_mtb51Ve0"},{"id":"rate_05fb1187a030421f95e4770fe88c9991","object":"Rate","created_at":"2019-11-12T08:37:11Z","updated_at":"2019-11-12T08:37:11Z","mode":"test","service":"ParcelSelect","carrier":"USPS","rate":"6.85","currency":"USD","retail_rate":"6.85","retail_currency":"USD","list_rate":"6.85","list_currency":"USD","delivery_days":2,"delivery_date":null,"delivery_date_guaranteed":false,"est_delivery_days":2,"shipment_id":"shp_14b9afb1ebe5412ba71276a1b97ae325","carrier_account_id":"ca_mtb51Ve0"}],"refund_status":null,"scan_form":null,"selected_rate":null,"tracker":null,"to_address":{"id":"adr_30a4c94624fb4ee1a275d4826646dde4","object":"Address","created_at":"2019-11-12T08:37:09Z","updated_at":"2019-11-12T08:37:09Z","name":"John
264
- Doe","company":"Company","street1":"A Different Road","street2":"Northwest","city":"Manville","state":"NJ","zip":"08835","country":"US","phone":"5555550199","email":null,"mode":"test","carrier_facility":null,"residential":null,"federal_tax_id":null,"state_tax_id":null,"verifications":{}},"usps_zone":1,"return_address":{"id":"adr_d320320b96ed428b8cc033c922786a50","object":"Address","created_at":"2019-11-12T08:37:10Z","updated_at":"2019-11-12T08:37:10Z","name":"NY
265
- Warehouse","company":"NY Warehouse","street1":"131 S 8th Ave","street2":null,"city":"Manville","state":"NJ","zip":"08835","country":"US","phone":"2024561111","email":null,"mode":"test","carrier_facility":null,"residential":null,"federal_tax_id":null,"state_tax_id":null,"verifications":{}},"buyer_address":{"id":"adr_30a4c94624fb4ee1a275d4826646dde4","object":"Address","created_at":"2019-11-12T08:37:09Z","updated_at":"2019-11-12T08:37:09Z","name":"John
266
- Doe","company":"Company","street1":"A Different Road","street2":"Northwest","city":"Manville","state":"NJ","zip":"08835","country":"US","phone":"5555550199","email":null,"mode":"test","carrier_facility":null,"residential":null,"federal_tax_id":null,"state_tax_id":null,"verifications":{}},"forms":[],"fees":[],"id":"shp_14b9afb1ebe5412ba71276a1b97ae325","object":"Shipment"}'
267
- http_version:
268
- recorded_at: Tue, 12 Nov 2019 08:37:12 GMT
269
- recorded_with: VCR 5.0.0
245
+ string: '{"created_at":"2020-09-23T14:04:16Z","is_return":true,"messages":[],"mode":"test","options":{"currency":"USD","payment":{"type":"SENDER"},"date_advance":0},"reference":null,"status":"unknown","tracking_code":null,"updated_at":"2020-09-23T14:04:16Z","batch_id":null,"batch_status":null,"batch_message":null,"customs_info":null,"from_address":{"id":"adr_78ab1c350ab541c099e8d7dca2a6d6f3","object":"Address","created_at":"2020-09-23T14:04:14Z","updated_at":"2020-09-23T14:04:14Z","name":"NY
246
+ Warehouse","company":"NY Warehouse","street1":"131 S 8th Ave","street2":null,"city":"Manville","state":"NJ","zip":"08835","country":"US","phone":"2024561111","email":null,"mode":"test","carrier_facility":null,"residential":null,"federal_tax_id":null,"state_tax_id":null,"verifications":{}},"insurance":null,"order_id":null,"parcel":{"id":"prcl_da01bd8f5d924d17a96da73bcacaa247","object":"Parcel","created_at":"2020-09-23T14:04:15Z","updated_at":"2020-09-23T14:04:15Z","length":null,"width":null,"height":null,"predefined_package":null,"weight":10.0,"mode":"test"},"postage_label":null,"rates":[{"id":"rate_d39c45d3b89b4cf8acd313ef13507eb4","object":"Rate","created_at":"2020-09-23T14:04:16Z","updated_at":"2020-09-23T14:04:16Z","mode":"test","service":"Express","carrier":"USPS","rate":"23.00","currency":"USD","retail_rate":"26.75","retail_currency":"USD","list_rate":"23.00","list_currency":"USD","delivery_days":null,"delivery_date":null,"delivery_date_guaranteed":false,"est_delivery_days":null,"shipment_id":"shp_d05f260d382d48cea1e62472d169eb59","carrier_account_id":"ca_mtb51Ve0"},{"id":"rate_cfa4646b92844d01b9af3e1aa1da4afd","object":"Rate","created_at":"2020-09-23T14:04:16Z","updated_at":"2020-09-23T14:04:16Z","mode":"test","service":"Priority","carrier":"USPS","rate":"7.02","currency":"USD","retail_rate":"7.50","retail_currency":"USD","list_rate":"7.02","list_currency":"USD","delivery_days":1,"delivery_date":null,"delivery_date_guaranteed":false,"est_delivery_days":1,"shipment_id":"shp_d05f260d382d48cea1e62472d169eb59","carrier_account_id":"ca_mtb51Ve0"},{"id":"rate_c0558049b08b4ac68b0affe87e937356","object":"Rate","created_at":"2020-09-23T14:04:16Z","updated_at":"2020-09-23T14:04:16Z","mode":"test","service":"First","carrier":"USPS","rate":"3.93","currency":"USD","retail_rate":"5.30","retail_currency":"USD","list_rate":"3.93","list_currency":"USD","delivery_days":2,"delivery_date":null,"delivery_date_guaranteed":false,"est_delivery_days":2,"shipment_id":"shp_d05f260d382d48cea1e62472d169eb59","carrier_account_id":"ca_mtb51Ve0"},{"id":"rate_b8f4316d65624742bfe244e104ed6d0f","object":"Rate","created_at":"2020-09-23T14:04:16Z","updated_at":"2020-09-23T14:04:16Z","mode":"test","service":"ParcelSelect","carrier":"USPS","rate":"6.92","currency":"USD","retail_rate":"6.92","retail_currency":"USD","list_rate":"6.92","list_currency":"USD","delivery_days":2,"delivery_date":null,"delivery_date_guaranteed":false,"est_delivery_days":2,"shipment_id":"shp_d05f260d382d48cea1e62472d169eb59","carrier_account_id":"ca_mtb51Ve0"}],"refund_status":null,"scan_form":null,"selected_rate":null,"tracker":null,"to_address":{"id":"adr_079c8206e86f4163a1f6efa83cf5ee1e","object":"Address","created_at":"2020-09-23T14:04:15Z","updated_at":"2020-09-23T14:04:15Z","name":"John
247
+ Doe","company":"Company","street1":"A Different Road","street2":"Northwest","city":"Manville","state":"NJ","zip":"08835","country":"US","phone":"5555550199","email":null,"mode":"test","carrier_facility":null,"residential":null,"federal_tax_id":null,"state_tax_id":null,"verifications":{}},"usps_zone":1,"return_address":{"id":"adr_78ab1c350ab541c099e8d7dca2a6d6f3","object":"Address","created_at":"2020-09-23T14:04:14Z","updated_at":"2020-09-23T14:04:14Z","name":"NY
248
+ Warehouse","company":"NY Warehouse","street1":"131 S 8th Ave","street2":null,"city":"Manville","state":"NJ","zip":"08835","country":"US","phone":"2024561111","email":null,"mode":"test","carrier_facility":null,"residential":null,"federal_tax_id":null,"state_tax_id":null,"verifications":{}},"buyer_address":{"id":"adr_079c8206e86f4163a1f6efa83cf5ee1e","object":"Address","created_at":"2020-09-23T14:04:15Z","updated_at":"2020-09-23T14:04:15Z","name":"John
249
+ Doe","company":"Company","street1":"A Different Road","street2":"Northwest","city":"Manville","state":"NJ","zip":"08835","country":"US","phone":"5555550199","email":null,"mode":"test","carrier_facility":null,"residential":null,"federal_tax_id":null,"state_tax_id":null,"verifications":{}},"forms":[],"fees":[],"id":"shp_d05f260d382d48cea1e62472d169eb59","object":"Shipment"}'
250
+ recorded_at: Wed, 23 Sep 2020 14:04:16 GMT
251
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,250 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.easypost.com/v2/addresses
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"address":{"street1":"A Different Road","street2":"Northwest","city":"Manville","zip":"08835","phone":"555-555-0199","company":"Company","name":"John
9
+ Doe","state":"NJ","country":"US"}}'
10
+ headers:
11
+ Accept-Encoding:
12
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
13
+ Accept:
14
+ - "*/*"
15
+ User-Agent:
16
+ - EasyPost/v2 RubyClient/3.1.3 Ruby/2.7.1-p83
17
+ Content-Type:
18
+ - application/json
19
+ Authorization:
20
+ - Basic Q3Z6WXR1ZGE2S1JJOUpqRzdTQUhiQTo=
21
+ response:
22
+ status:
23
+ code: 201
24
+ message: Created
25
+ headers:
26
+ X-Frame-Options:
27
+ - SAMEORIGIN
28
+ X-Xss-Protection:
29
+ - 1; mode=block
30
+ X-Content-Type-Options:
31
+ - nosniff
32
+ X-Ep-Request-Uuid:
33
+ - a371cbc25f6b5571ee6faf850003c17b
34
+ Cache-Control:
35
+ - no-cache, no-store, must-revalidate, private
36
+ Pragma:
37
+ - no-cache
38
+ Expires:
39
+ - '0'
40
+ Location:
41
+ - "/api/v2/addresses/adr_09b102bdfe394d3fb4e3244e8a39fa13"
42
+ Content-Type:
43
+ - application/json; charset=utf-8
44
+ X-Runtime:
45
+ - '0.055226'
46
+ Transfer-Encoding:
47
+ - chunked
48
+ X-Node:
49
+ - bigweb7sj
50
+ X-Version-Label:
51
+ - easypost-202009222104-7ce76ac125-master
52
+ X-Backend:
53
+ - easypost
54
+ X-Canary:
55
+ - direct
56
+ X-Proxied:
57
+ - extlb2wdc a561deb64e
58
+ - intlb1sj 8df81f0396
59
+ - intlb2wdc 8df81f0396
60
+ Strict-Transport-Security:
61
+ - max-age=15768000; includeSubDomains; preload
62
+ body:
63
+ encoding: ASCII-8BIT
64
+ string: '{"id":"adr_09b102bdfe394d3fb4e3244e8a39fa13","object":"Address","created_at":"2020-09-23T14:02:25Z","updated_at":"2020-09-23T14:02:25Z","name":"John
65
+ Doe","company":"Company","street1":"A Different Road","street2":"Northwest","city":"Manville","state":"NJ","zip":"08835","country":"US","phone":"5555550199","email":null,"mode":"test","carrier_facility":null,"residential":null,"federal_tax_id":null,"state_tax_id":null,"verifications":{}}'
66
+ recorded_at: Wed, 23 Sep 2020 14:02:25 GMT
67
+ - request:
68
+ method: post
69
+ uri: https://api.easypost.com/v2/addresses
70
+ body:
71
+ encoding: UTF-8
72
+ string: '{"address":{"street1":"131 S 8th Ave","city":"Manville","zip":"08835","phone":"(202)
73
+ 456-1111","name":"NY Warehouse","company":"NY Warehouse","state":"NJ","country":"US"}}'
74
+ headers:
75
+ Accept-Encoding:
76
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
77
+ Accept:
78
+ - "*/*"
79
+ User-Agent:
80
+ - EasyPost/v2 RubyClient/3.1.3 Ruby/2.7.1-p83
81
+ Content-Type:
82
+ - application/json
83
+ Authorization:
84
+ - Basic Q3Z6WXR1ZGE2S1JJOUpqRzdTQUhiQTo=
85
+ response:
86
+ status:
87
+ code: 201
88
+ message: Created
89
+ headers:
90
+ X-Frame-Options:
91
+ - SAMEORIGIN
92
+ X-Xss-Protection:
93
+ - 1; mode=block
94
+ X-Content-Type-Options:
95
+ - nosniff
96
+ X-Ep-Request-Uuid:
97
+ - 3682484c5f6b5571ee7048a900032e90
98
+ Cache-Control:
99
+ - no-cache, no-store, must-revalidate, private
100
+ Pragma:
101
+ - no-cache
102
+ Expires:
103
+ - '0'
104
+ Location:
105
+ - "/api/v2/addresses/adr_6f05641e3fa94ffaab66b4c1c9b18aa2"
106
+ Content-Type:
107
+ - application/json; charset=utf-8
108
+ X-Runtime:
109
+ - '0.050116'
110
+ Transfer-Encoding:
111
+ - chunked
112
+ X-Node:
113
+ - bigweb2sj
114
+ X-Version-Label:
115
+ - easypost-202009222104-7ce76ac125-master
116
+ X-Backend:
117
+ - easypost
118
+ X-Proxied:
119
+ - extlb2sj a561deb64e
120
+ - intlb1sj 8df81f0396
121
+ Strict-Transport-Security:
122
+ - max-age=15768000; includeSubDomains; preload
123
+ body:
124
+ encoding: ASCII-8BIT
125
+ string: '{"id":"adr_6f05641e3fa94ffaab66b4c1c9b18aa2","object":"Address","created_at":"2020-09-23T14:02:26Z","updated_at":"2020-09-23T14:02:26Z","name":"NY
126
+ Warehouse","company":"NY Warehouse","street1":"131 S 8th Ave","street2":null,"city":"Manville","state":"NJ","zip":"08835","country":"US","phone":"2024561111","email":null,"mode":"test","carrier_facility":null,"residential":null,"federal_tax_id":null,"state_tax_id":null,"verifications":{}}'
127
+ recorded_at: Wed, 23 Sep 2020 14:02:26 GMT
128
+ - request:
129
+ method: post
130
+ uri: https://api.easypost.com/v2/parcels
131
+ body:
132
+ encoding: UTF-8
133
+ string: '{"parcel":{"weight":"10.0"}}'
134
+ headers:
135
+ Accept-Encoding:
136
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
137
+ Accept:
138
+ - "*/*"
139
+ User-Agent:
140
+ - EasyPost/v2 RubyClient/3.1.3 Ruby/2.7.1-p83
141
+ Content-Type:
142
+ - application/json
143
+ Authorization:
144
+ - Basic Q3Z6WXR1ZGE2S1JJOUpqRzdTQUhiQTo=
145
+ response:
146
+ status:
147
+ code: 201
148
+ message: Created
149
+ headers:
150
+ X-Frame-Options:
151
+ - SAMEORIGIN
152
+ X-Xss-Protection:
153
+ - 1; mode=block
154
+ X-Content-Type-Options:
155
+ - nosniff
156
+ X-Ep-Request-Uuid:
157
+ - 3682484f5f6b5572ee726a1100032ebc
158
+ Cache-Control:
159
+ - no-cache, no-store, must-revalidate, private
160
+ Pragma:
161
+ - no-cache
162
+ Expires:
163
+ - '0'
164
+ Location:
165
+ - "/api/v2/parcels/prcl_3090e16064144a11bf83d2c91b4cc351"
166
+ Content-Type:
167
+ - application/json; charset=utf-8
168
+ X-Runtime:
169
+ - '0.038919'
170
+ Transfer-Encoding:
171
+ - chunked
172
+ X-Node:
173
+ - bigweb4sj
174
+ X-Version-Label:
175
+ - easypost-202009222104-7ce76ac125-master
176
+ X-Backend:
177
+ - easypost
178
+ X-Proxied:
179
+ - extlb2sj a561deb64e
180
+ - intlb2sj 8df81f0396
181
+ Strict-Transport-Security:
182
+ - max-age=15768000; includeSubDomains; preload
183
+ body:
184
+ encoding: ASCII-8BIT
185
+ string: '{"id":"prcl_3090e16064144a11bf83d2c91b4cc351","object":"Parcel","created_at":"2020-09-23T14:02:26Z","updated_at":"2020-09-23T14:02:26Z","length":null,"width":null,"height":null,"predefined_package":null,"weight":10.0,"mode":"test"}'
186
+ recorded_at: Wed, 23 Sep 2020 14:02:26 GMT
187
+ - request:
188
+ method: post
189
+ uri: https://api.easypost.com/v2/shipments
190
+ body:
191
+ encoding: UTF-8
192
+ string: '{"shipment":{"to_address":{"id":"adr_09b102bdfe394d3fb4e3244e8a39fa13"},"from_address":{"id":"adr_6f05641e3fa94ffaab66b4c1c9b18aa2"},"parcel":{"id":"prcl_3090e16064144a11bf83d2c91b4cc351"}}}'
193
+ headers:
194
+ Accept-Encoding:
195
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
196
+ Accept:
197
+ - "*/*"
198
+ User-Agent:
199
+ - EasyPost/v2 RubyClient/3.1.3 Ruby/2.7.1-p83
200
+ Content-Type:
201
+ - application/json
202
+ Authorization:
203
+ - Basic Q3Z6WXR1ZGE2S1JJOUpqRzdTQUhiQTo=
204
+ response:
205
+ status:
206
+ code: 201
207
+ message: Created
208
+ headers:
209
+ X-Frame-Options:
210
+ - SAMEORIGIN
211
+ X-Xss-Protection:
212
+ - 1; mode=block
213
+ X-Content-Type-Options:
214
+ - nosniff
215
+ X-Ep-Request-Uuid:
216
+ - 4c4cd68c5f6b5573ee726d6c000339ec
217
+ Cache-Control:
218
+ - no-cache, no-store, must-revalidate, private
219
+ Pragma:
220
+ - no-cache
221
+ Expires:
222
+ - '0'
223
+ Location:
224
+ - "/api/v2/shipments/shp_5bbe2086eb634ce08bf7c0bebebc4874"
225
+ Content-Type:
226
+ - application/json; charset=utf-8
227
+ X-Runtime:
228
+ - '0.197844'
229
+ Transfer-Encoding:
230
+ - chunked
231
+ X-Node:
232
+ - bigweb12sj
233
+ X-Version-Label:
234
+ - easypost-202009222104-7ce76ac125-master
235
+ X-Backend:
236
+ - easypost
237
+ X-Proxied:
238
+ - extlb1sj a561deb64e
239
+ - intlb1sj 8df81f0396
240
+ Strict-Transport-Security:
241
+ - max-age=15768000; includeSubDomains; preload
242
+ body:
243
+ encoding: ASCII-8BIT
244
+ string: '{"created_at":"2020-09-23T14:02:27Z","is_return":false,"messages":[],"mode":"test","options":{"currency":"USD","payment":{"type":"SENDER"},"date_advance":0},"reference":null,"status":"unknown","tracking_code":null,"updated_at":"2020-09-23T14:02:27Z","batch_id":null,"batch_status":null,"batch_message":null,"customs_info":null,"from_address":{"id":"adr_6f05641e3fa94ffaab66b4c1c9b18aa2","object":"Address","created_at":"2020-09-23T14:02:26Z","updated_at":"2020-09-23T14:02:26Z","name":"NY
245
+ Warehouse","company":"NY Warehouse","street1":"131 S 8th Ave","street2":null,"city":"Manville","state":"NJ","zip":"08835","country":"US","phone":"2024561111","email":null,"mode":"test","carrier_facility":null,"residential":null,"federal_tax_id":null,"state_tax_id":null,"verifications":{}},"insurance":null,"order_id":null,"parcel":{"id":"prcl_3090e16064144a11bf83d2c91b4cc351","object":"Parcel","created_at":"2020-09-23T14:02:26Z","updated_at":"2020-09-23T14:02:26Z","length":null,"width":null,"height":null,"predefined_package":null,"weight":10.0,"mode":"test"},"postage_label":null,"rates":[{"id":"rate_37bb9c4b39044d119488f92f062dae0a","object":"Rate","created_at":"2020-09-23T14:02:27Z","updated_at":"2020-09-23T14:02:27Z","mode":"test","service":"Priority","carrier":"USPS","rate":"7.02","currency":"USD","retail_rate":"7.50","retail_currency":"USD","list_rate":"7.02","list_currency":"USD","delivery_days":1,"delivery_date":null,"delivery_date_guaranteed":false,"est_delivery_days":1,"shipment_id":"shp_5bbe2086eb634ce08bf7c0bebebc4874","carrier_account_id":"ca_mtb51Ve0"},{"id":"rate_52b1e4a47f4b4f279be7f40b900bc343","object":"Rate","created_at":"2020-09-23T14:02:27Z","updated_at":"2020-09-23T14:02:27Z","mode":"test","service":"First","carrier":"USPS","rate":"3.93","currency":"USD","retail_rate":"5.30","retail_currency":"USD","list_rate":"3.93","list_currency":"USD","delivery_days":2,"delivery_date":null,"delivery_date_guaranteed":false,"est_delivery_days":2,"shipment_id":"shp_5bbe2086eb634ce08bf7c0bebebc4874","carrier_account_id":"ca_mtb51Ve0"},{"id":"rate_3d34ec1d2215451fb96161aa92835683","object":"Rate","created_at":"2020-09-23T14:02:27Z","updated_at":"2020-09-23T14:02:27Z","mode":"test","service":"Express","carrier":"USPS","rate":"23.00","currency":"USD","retail_rate":"26.75","retail_currency":"USD","list_rate":"23.00","list_currency":"USD","delivery_days":null,"delivery_date":null,"delivery_date_guaranteed":false,"est_delivery_days":null,"shipment_id":"shp_5bbe2086eb634ce08bf7c0bebebc4874","carrier_account_id":"ca_mtb51Ve0"},{"id":"rate_dbd69724f2714e6e9dd08dd1109ba659","object":"Rate","created_at":"2020-09-23T14:02:27Z","updated_at":"2020-09-23T14:02:27Z","mode":"test","service":"ParcelSelect","carrier":"USPS","rate":"6.92","currency":"USD","retail_rate":"6.92","retail_currency":"USD","list_rate":"6.92","list_currency":"USD","delivery_days":2,"delivery_date":null,"delivery_date_guaranteed":false,"est_delivery_days":2,"shipment_id":"shp_5bbe2086eb634ce08bf7c0bebebc4874","carrier_account_id":"ca_mtb51Ve0"}],"refund_status":null,"scan_form":null,"selected_rate":null,"tracker":null,"to_address":{"id":"adr_09b102bdfe394d3fb4e3244e8a39fa13","object":"Address","created_at":"2020-09-23T14:02:25Z","updated_at":"2020-09-23T14:02:25Z","name":"John
246
+ Doe","company":"Company","street1":"A Different Road","street2":"Northwest","city":"Manville","state":"NJ","zip":"08835","country":"US","phone":"5555550199","email":null,"mode":"test","carrier_facility":null,"residential":null,"federal_tax_id":null,"state_tax_id":null,"verifications":{}},"usps_zone":1,"return_address":{"id":"adr_6f05641e3fa94ffaab66b4c1c9b18aa2","object":"Address","created_at":"2020-09-23T14:02:26Z","updated_at":"2020-09-23T14:02:26Z","name":"NY
247
+ Warehouse","company":"NY Warehouse","street1":"131 S 8th Ave","street2":null,"city":"Manville","state":"NJ","zip":"08835","country":"US","phone":"2024561111","email":null,"mode":"test","carrier_facility":null,"residential":null,"federal_tax_id":null,"state_tax_id":null,"verifications":{}},"buyer_address":{"id":"adr_09b102bdfe394d3fb4e3244e8a39fa13","object":"Address","created_at":"2020-09-23T14:02:25Z","updated_at":"2020-09-23T14:02:25Z","name":"John
248
+ Doe","company":"Company","street1":"A Different Road","street2":"Northwest","city":"Manville","state":"NJ","zip":"08835","country":"US","phone":"5555550199","email":null,"mode":"test","carrier_facility":null,"residential":null,"federal_tax_id":null,"state_tax_id":null,"verifications":{}},"forms":[],"fees":[],"id":"shp_5bbe2086eb634ce08bf7c0bebebc4874","object":"Shipment"}'
249
+ recorded_at: Wed, 23 Sep 2020 14:02:27 GMT
250
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,18 @@
1
+ RSpec.describe Spree::Admin::PostageLabelsController do
2
+ stub_authorization!
3
+
4
+ describe "GET #show" do
5
+ it 'redirects to the postage label', vcr: { cassette_name: 'postage_labels/show' } do
6
+ order = create(:shipped_order) do |o|
7
+ o.shipments.first.selected_shipping_rate.update!(
8
+ easy_post_rate_id: 'rate_3de1727d77d74f1a8b1bf95fcd89e1ee',
9
+ easy_post_shipment_id: 'shp_5113aed5b7494a2b85b43960f1bb26c0',
10
+ )
11
+ end
12
+
13
+ get :show, params: { shipment_id: order.shipments.first.number }
14
+
15
+ expect(response).to redirect_to('https://easypost-files.s3-us-west-2.amazonaws.com/files/postage_label/20200924/4bff5f82521649e0b65f019fabe46e02.png')
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe 'Postage labels' do
4
+ stub_authorization!
5
+
6
+ it "Downloading a shipment's postage label" do
7
+ order = create(:shipped_order) do |o|
8
+ o.shipments.first.selected_shipping_rate.update!(
9
+ easy_post_rate_id: 'rate_test',
10
+ easy_post_shipment_id: 'shp_test',
11
+ )
12
+ end
13
+
14
+ visit spree.edit_admin_order_path(order)
15
+
16
+ expect(page).to have_content(I18n.t('spree.open_postage_label'))
17
+ end
18
+ end