spree_core 3.2.1 → 3.2.2

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 (207) hide show
  1. checksums.yaml +4 -4
  2. data/lib/spree/core/version.rb +1 -1
  3. data/spree_core.gemspec +1 -1
  4. metadata +3 -206
  5. data/spec/fixtures/microdata.html +0 -22
  6. data/spec/fixtures/microdata_itemref.html +0 -15
  7. data/spec/fixtures/microdata_no_itemscope.html +0 -20
  8. data/spec/fixtures/thinking-cat.jpg +0 -0
  9. data/spec/helpers/base_helper_spec.rb +0 -200
  10. data/spec/helpers/products_helper_spec.rb +0 -289
  11. data/spec/lib/calculated_adjustments_spec.rb +0 -7
  12. data/spec/lib/i18n_spec.rb +0 -123
  13. data/spec/lib/search/base_spec.rb +0 -86
  14. data/spec/lib/spree/core/controller_helpers/auth_spec.rb +0 -103
  15. data/spec/lib/spree/core/controller_helpers/order_spec.rb +0 -110
  16. data/spec/lib/spree/core/controller_helpers/search_spec.rb +0 -17
  17. data/spec/lib/spree/core/controller_helpers/store_spec.rb +0 -72
  18. data/spec/lib/spree/core/controller_helpers/strong_parameters_spec.rb +0 -39
  19. data/spec/lib/spree/core/delegate_belongs_to_spec.rb +0 -22
  20. data/spec/lib/spree/core/importer/order_spec.rb +0 -605
  21. data/spec/lib/spree/core/number_generator_spec.rb +0 -175
  22. data/spec/lib/spree/core/token_generator_spec.rb +0 -24
  23. data/spec/lib/spree/core/validators/email_spec.rb +0 -53
  24. data/spec/lib/spree/core_spec.rb +0 -23
  25. data/spec/lib/spree/localized_number_spec.rb +0 -48
  26. data/spec/lib/spree/migrations_spec.rb +0 -36
  27. data/spec/lib/spree/money_spec.rb +0 -122
  28. data/spec/lib/tasks/exchanges_spec.rb +0 -136
  29. data/spec/mailers/order_mailer_spec.rb +0 -122
  30. data/spec/mailers/reimbursement_mailer_spec.rb +0 -47
  31. data/spec/mailers/shipment_mailer_spec.rb +0 -81
  32. data/spec/mailers/test_mailer_spec.rb +0 -38
  33. data/spec/models/option_type_prototype_spec.rb +0 -9
  34. data/spec/models/spree/ability_spec.rb +0 -251
  35. data/spec/models/spree/address_spec.rb +0 -402
  36. data/spec/models/spree/adjustable/adjuster/base_spec.rb +0 -10
  37. data/spec/models/spree/adjustable/adjuster/promotion_spec.rb +0 -211
  38. data/spec/models/spree/adjustable/adjuster/tax_spec.rb +0 -86
  39. data/spec/models/spree/adjustable/adjustments_updater_spec.rb +0 -26
  40. data/spec/models/spree/adjustment_spec.rb +0 -189
  41. data/spec/models/spree/app_configuration_spec.rb +0 -26
  42. data/spec/models/spree/asset_spec.rb +0 -28
  43. data/spec/models/spree/calculator/default_tax_spec.rb +0 -152
  44. data/spec/models/spree/calculator/flat_percent_item_total_spec.rb +0 -25
  45. data/spec/models/spree/calculator/flat_rate_spec.rb +0 -47
  46. data/spec/models/spree/calculator/flexi_rate_spec.rb +0 -41
  47. data/spec/models/spree/calculator/percent_on_line_item_spec.rb +0 -15
  48. data/spec/models/spree/calculator/price_sack_spec.rb +0 -30
  49. data/spec/models/spree/calculator/refunds/default_refund_amount_spec.rb +0 -47
  50. data/spec/models/spree/calculator/shipping.rb +0 -8
  51. data/spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb +0 -23
  52. data/spec/models/spree/calculator/shipping/flat_rate_spec.rb +0 -13
  53. data/spec/models/spree/calculator/shipping/flexi_rate_spec.rb +0 -52
  54. data/spec/models/spree/calculator/shipping/per_item_spec.rb +0 -20
  55. data/spec/models/spree/calculator/shipping/price_sack_spec.rb +0 -29
  56. data/spec/models/spree/calculator/tiered_flat_rate_spec.rb +0 -40
  57. data/spec/models/spree/calculator/tiered_percent_spec.rb +0 -51
  58. data/spec/models/spree/calculator_spec.rb +0 -69
  59. data/spec/models/spree/classification_spec.rb +0 -93
  60. data/spec/models/spree/concerns/display_money_spec.rb +0 -43
  61. data/spec/models/spree/concerns/user_methods_spec.rb +0 -82
  62. data/spec/models/spree/concerns/vat_price_calculation_spec.rb +0 -66
  63. data/spec/models/spree/country_spec.rb +0 -55
  64. data/spec/models/spree/credit_card_spec.rb +0 -328
  65. data/spec/models/spree/customer_return_spec.rb +0 -240
  66. data/spec/models/spree/exchange_spec.rb +0 -75
  67. data/spec/models/spree/gateway/bogus_simple.rb +0 -20
  68. data/spec/models/spree/gateway/bogus_spec.rb +0 -13
  69. data/spec/models/spree/gateway_spec.rb +0 -61
  70. data/spec/models/spree/image_spec.rb +0 -8
  71. data/spec/models/spree/inventory_unit_spec.rb +0 -256
  72. data/spec/models/spree/line_item_spec.rb +0 -346
  73. data/spec/models/spree/option_type_spec.rb +0 -14
  74. data/spec/models/spree/option_value_spec.rb +0 -18
  75. data/spec/models/spree/order/address_spec.rb +0 -50
  76. data/spec/models/spree/order/adjustments_spec.rb +0 -29
  77. data/spec/models/spree/order/callbacks_spec.rb +0 -42
  78. data/spec/models/spree/order/checkout_spec.rb +0 -770
  79. data/spec/models/spree/order/currency_updater_spec.rb +0 -32
  80. data/spec/models/spree/order/finalizing_spec.rb +0 -114
  81. data/spec/models/spree/order/helpers_spec.rb +0 -5
  82. data/spec/models/spree/order/payment_spec.rb +0 -214
  83. data/spec/models/spree/order/risk_assessment_spec.rb +0 -84
  84. data/spec/models/spree/order/shipments_spec.rb +0 -43
  85. data/spec/models/spree/order/state_machine_spec.rb +0 -212
  86. data/spec/models/spree/order/store_credit_spec.rb +0 -426
  87. data/spec/models/spree/order/tax_spec.rb +0 -84
  88. data/spec/models/spree/order/totals_spec.rb +0 -24
  89. data/spec/models/spree/order/updating_spec.rb +0 -18
  90. data/spec/models/spree/order/validations_spec.rb +0 -15
  91. data/spec/models/spree/order_contents_spec.rb +0 -297
  92. data/spec/models/spree/order_inventory_spec.rb +0 -239
  93. data/spec/models/spree/order_merger_spec.rb +0 -135
  94. data/spec/models/spree/order_spec.rb +0 -1046
  95. data/spec/models/spree/order_updater_spec.rb +0 -305
  96. data/spec/models/spree/payment/gateway_options_spec.rb +0 -127
  97. data/spec/models/spree/payment/store_credit_spec.rb +0 -60
  98. data/spec/models/spree/payment_method/store_credit_spec.rb +0 -291
  99. data/spec/models/spree/payment_method_spec.rb +0 -103
  100. data/spec/models/spree/payment_spec.rb +0 -919
  101. data/spec/models/spree/preference_spec.rb +0 -80
  102. data/spec/models/spree/preferences/configuration_spec.rb +0 -30
  103. data/spec/models/spree/preferences/preferable_spec.rb +0 -344
  104. data/spec/models/spree/preferences/scoped_store_spec.rb +0 -58
  105. data/spec/models/spree/preferences/store_spec.rb +0 -46
  106. data/spec/models/spree/price_spec.rb +0 -128
  107. data/spec/models/spree/product/scopes_spec.rb +0 -183
  108. data/spec/models/spree/product_duplicator_spec.rb +0 -103
  109. data/spec/models/spree/product_filter_spec.rb +0 -26
  110. data/spec/models/spree/product_option_type_spec.rb +0 -9
  111. data/spec/models/spree/product_promotion_rule_spec.rb +0 -9
  112. data/spec/models/spree/product_property_spec.rb +0 -26
  113. data/spec/models/spree/product_spec.rb +0 -629
  114. data/spec/models/spree/promotion/actions/create_adjustment_spec.rb +0 -113
  115. data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +0 -148
  116. data/spec/models/spree/promotion/actions/create_line_items_spec.rb +0 -86
  117. data/spec/models/spree/promotion/actions/free_shipping_spec.rb +0 -36
  118. data/spec/models/spree/promotion/rules/country_spec.rb +0 -36
  119. data/spec/models/spree/promotion/rules/first_order_spec.rb +0 -75
  120. data/spec/models/spree/promotion/rules/item_total_spec.rb +0 -282
  121. data/spec/models/spree/promotion/rules/one_use_per_user_spec.rb +0 -42
  122. data/spec/models/spree/promotion/rules/option_value_spec.rb +0 -90
  123. data/spec/models/spree/promotion/rules/product_spec.rb +0 -143
  124. data/spec/models/spree/promotion/rules/taxon_spec.rb +0 -102
  125. data/spec/models/spree/promotion/rules/user_logged_in_spec.rb +0 -27
  126. data/spec/models/spree/promotion/rules/user_spec.rb +0 -45
  127. data/spec/models/spree/promotion_action_spec.rb +0 -10
  128. data/spec/models/spree/promotion_category_spec.rb +0 -17
  129. data/spec/models/spree/promotion_handler/cart_spec.rb +0 -102
  130. data/spec/models/spree/promotion_handler/coupon_spec.rb +0 -323
  131. data/spec/models/spree/promotion_handler/free_shipping_spec.rb +0 -48
  132. data/spec/models/spree/promotion_handler/page_spec.rb +0 -44
  133. data/spec/models/spree/promotion_rule_spec.rb +0 -29
  134. data/spec/models/spree/promotion_rule_taxon_spec.rb +0 -9
  135. data/spec/models/spree/promotion_rule_user_spec.rb +0 -9
  136. data/spec/models/spree/promotion_spec.rb +0 -679
  137. data/spec/models/spree/property_prototype_spec.rb +0 -9
  138. data/spec/models/spree/property_spec.rb +0 -5
  139. data/spec/models/spree/prototype_spec.rb +0 -5
  140. data/spec/models/spree/prototype_taxon_spec.rb +0 -9
  141. data/spec/models/spree/refund_reason_spec.rb +0 -20
  142. data/spec/models/spree/refund_spec.rb +0 -195
  143. data/spec/models/spree/reimbursement/credit_spec.rb +0 -36
  144. data/spec/models/spree/reimbursement/reimbursement_type_engine_spec.rb +0 -140
  145. data/spec/models/spree/reimbursement/reimbursement_type_validator_spec.rb +0 -83
  146. data/spec/models/spree/reimbursement_performer_spec.rb +0 -30
  147. data/spec/models/spree/reimbursement_spec.rb +0 -188
  148. data/spec/models/spree/reimbursement_tax_calculator_spec.rb +0 -63
  149. data/spec/models/spree/reimbursement_type/credit_spec.rb +0 -53
  150. data/spec/models/spree/reimbursement_type/exchange_spec.rb +0 -46
  151. data/spec/models/spree/reimbursement_type/original_payment_spec.rb +0 -55
  152. data/spec/models/spree/reimbursement_type/store_credit_spec.rb +0 -101
  153. data/spec/models/spree/return_authorization_reason_spec.rb +0 -7
  154. data/spec/models/spree/return_authorization_spec.rb +0 -230
  155. data/spec/models/spree/return_item/eligibility_validator/default_spec.rb +0 -77
  156. data/spec/models/spree/return_item/eligibility_validator/inventory_shipped_spec.rb +0 -58
  157. data/spec/models/spree/return_item/eligibility_validator/no_reimbursements_spec.rb +0 -61
  158. data/spec/models/spree/return_item/eligibility_validator/order_completed_spec.rb +0 -32
  159. data/spec/models/spree/return_item/eligibility_validator/rma_required_spec.rb +0 -29
  160. data/spec/models/spree/return_item/eligibility_validator/time_since_purchase_spec.rb +0 -35
  161. data/spec/models/spree/return_item/exchange_variant_eligibility/same_option_value_spec.rb +0 -65
  162. data/spec/models/spree/return_item/exchange_variant_eligibility/same_product_spec.rb +0 -43
  163. data/spec/models/spree/return_item_spec.rb +0 -731
  164. data/spec/models/spree/returns_calculator_spec.rb +0 -14
  165. data/spec/models/spree/role_spec.rb +0 -7
  166. data/spec/models/spree/shipment_spec.rb +0 -742
  167. data/spec/models/spree/shipping_calculator_spec.rb +0 -45
  168. data/spec/models/spree/shipping_category_spec.rb +0 -19
  169. data/spec/models/spree/shipping_method_spec.rb +0 -95
  170. data/spec/models/spree/shipping_rate_spec.rb +0 -140
  171. data/spec/models/spree/state_spec.rb +0 -29
  172. data/spec/models/spree/stock/availability_validator_spec.rb +0 -36
  173. data/spec/models/spree/stock/content_item_spec.rb +0 -31
  174. data/spec/models/spree/stock/coordinator_spec.rb +0 -61
  175. data/spec/models/spree/stock/differentiator_spec.rb +0 -39
  176. data/spec/models/spree/stock/estimator_spec.rb +0 -202
  177. data/spec/models/spree/stock/inventory_unit_builder_spec.rb +0 -38
  178. data/spec/models/spree/stock/package_spec.rb +0 -182
  179. data/spec/models/spree/stock/packer_spec.rb +0 -70
  180. data/spec/models/spree/stock/prioritizer_spec.rb +0 -125
  181. data/spec/models/spree/stock/quantifier_spec.rb +0 -126
  182. data/spec/models/spree/stock/splitter/backordered_spec.rb +0 -29
  183. data/spec/models/spree/stock/splitter/base_spec.rb +0 -21
  184. data/spec/models/spree/stock/splitter/shipping_category_spec.rb +0 -47
  185. data/spec/models/spree/stock/splitter/weight_spec.rb +0 -32
  186. data/spec/models/spree/stock_item_spec.rb +0 -432
  187. data/spec/models/spree/stock_location_spec.rb +0 -243
  188. data/spec/models/spree/stock_movement_spec.rb +0 -120
  189. data/spec/models/spree/stock_transfer_spec.rb +0 -50
  190. data/spec/models/spree/store_credit_event_spec.rb +0 -101
  191. data/spec/models/spree/store_credit_spec.rb +0 -786
  192. data/spec/models/spree/store_spec.rb +0 -78
  193. data/spec/models/spree/tax_category_spec.rb +0 -32
  194. data/spec/models/spree/tax_rate_spec.rb +0 -561
  195. data/spec/models/spree/taxon_spec.rb +0 -85
  196. data/spec/models/spree/taxonomy_spec.rb +0 -18
  197. data/spec/models/spree/tracker_spec.rb +0 -21
  198. data/spec/models/spree/user_spec.rb +0 -203
  199. data/spec/models/spree/variant_spec.rb +0 -818
  200. data/spec/models/spree/zone_member_spec.rb +0 -38
  201. data/spec/models/spree/zone_spec.rb +0 -472
  202. data/spec/spec_helper.rb +0 -79
  203. data/spec/support/big_decimal.rb +0 -5
  204. data/spec/support/concerns/adjustment_source.rb +0 -23
  205. data/spec/support/concerns/default_price.rb +0 -37
  206. data/spec/support/rake.rb +0 -13
  207. data/spec/support/test_gateway.rb +0 -2
@@ -1,305 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Spree
4
- describe OrderUpdater, type: :model do
5
- let(:order) { Spree::Order.create }
6
- let(:updater) { Spree::OrderUpdater.new(order) }
7
-
8
- context "order totals" do
9
- before do
10
- 2.times do
11
- create(:line_item, order: order, price: 10)
12
- end
13
- end
14
-
15
- it "updates payment totals" do
16
- create(:payment_with_refund, order: order)
17
- Spree::OrderUpdater.new(order).update_payment_total
18
- expect(order.payment_total).to eq(40.75)
19
- end
20
-
21
- it "update item total" do
22
- updater.update_item_total
23
- expect(order.item_total).to eq(20)
24
- end
25
-
26
- it "update shipment total" do
27
- create(:shipment, order: order, cost: 10)
28
- updater.update_shipment_total
29
- expect(order.shipment_total).to eq(10)
30
- end
31
-
32
- context 'with order promotion followed by line item addition' do
33
- let(:promotion) { Spree::Promotion.create!(name: "10% off") }
34
- let(:calculator) { Calculator::FlatPercentItemTotal.new(preferred_flat_percent: 10) }
35
-
36
- let(:promotion_action) do
37
- Promotion::Actions::CreateAdjustment.create!({
38
- calculator: calculator,
39
- promotion: promotion,
40
- })
41
- end
42
-
43
- before do
44
- updater.update
45
- create(:adjustment, source: promotion_action, adjustable: order, order: order)
46
- create(:line_item, order: order, price: 10) # in addition to the two already created
47
- updater.update
48
- end
49
-
50
- it "updates promotion total" do
51
- expect(order.promo_total).to eq(-3)
52
- end
53
- end
54
-
55
- it "update order adjustments" do
56
- # A line item will not have both additional and included tax,
57
- # so please just humour me for now.
58
- order.line_items.first.update_columns({
59
- adjustment_total: 10.05,
60
- additional_tax_total: 0.05,
61
- included_tax_total: 0.05,
62
- })
63
- updater.update_adjustment_total
64
- expect(order.adjustment_total).to eq(10.05)
65
- expect(order.additional_tax_total).to eq(0.05)
66
- expect(order.included_tax_total).to eq(0.05)
67
- end
68
- end
69
-
70
- describe "#update_with_updater!" do
71
- it "updates item count" do
72
- create(:line_item, order: order)
73
- create(:line_item, order: order)
74
-
75
- order.update_with_updater!
76
-
77
- expect(order.item_count).to eq(2)
78
- end
79
- end
80
-
81
- context "updating shipment state" do
82
- before do
83
- allow(order).to receive_messages backordered?: false
84
- allow(order).to receive_message_chain(:shipments, :shipped, :count).and_return(0)
85
- allow(order).to receive_message_chain(:shipments, :ready, :count).and_return(0)
86
- allow(order).to receive_message_chain(:shipments, :pending, :count).and_return(0)
87
- end
88
-
89
- it "is backordered" do
90
- allow(order).to receive_messages backordered?: true
91
- updater.update_shipment_state
92
-
93
- expect(order.shipment_state).to eq('backorder')
94
- end
95
-
96
- it "is nil" do
97
- allow(order).to receive_message_chain(:shipments, :states).and_return([])
98
- allow(order).to receive_message_chain(:shipments, :count).and_return(0)
99
-
100
- updater.update_shipment_state
101
- expect(order.shipment_state).to be_nil
102
- end
103
-
104
-
105
- ["shipped", "ready", "pending"].each do |state|
106
- it "is #{state}" do
107
- allow(order).to receive_message_chain(:shipments, :states).and_return([state])
108
- updater.update_shipment_state
109
- expect(order.shipment_state).to eq(state.to_s)
110
- end
111
- end
112
-
113
- it "is partial" do
114
- allow(order).to receive_message_chain(:shipments, :states).and_return(["pending", "ready"])
115
- updater.update_shipment_state
116
- expect(order.shipment_state).to eq('partial')
117
- end
118
- end
119
-
120
- context "updating payment state" do
121
- let(:order) { Order.new }
122
- let(:updater) { order.updater }
123
-
124
- it "is failed if no valid payments" do
125
- allow(order).to receive_message_chain(:payments, :valid, :size).and_return(0)
126
-
127
- updater.update_payment_state
128
- expect(order.payment_state).to eq('failed')
129
- end
130
-
131
- context "payment total is greater than order total" do
132
- it "is credit_owed" do
133
- order.payment_total = 2
134
- order.total = 1
135
-
136
- expect {
137
- updater.update_payment_state
138
- }.to change { order.payment_state }.to 'credit_owed'
139
- end
140
- end
141
-
142
- context "order total is greater than payment total" do
143
- it "is balance_due" do
144
- order.payment_total = 1
145
- order.total = 2
146
-
147
- expect {
148
- updater.update_payment_state
149
- }.to change { order.payment_state }.to 'balance_due'
150
- end
151
- end
152
-
153
- context "order total equals payment total" do
154
- it "is paid" do
155
- order.payment_total = 30
156
- order.total = 30
157
-
158
- expect {
159
- updater.update_payment_state
160
- }.to change { order.payment_state }.to 'paid'
161
- end
162
- end
163
-
164
- context "order is canceled" do
165
-
166
- before do
167
- order.state = 'canceled'
168
- end
169
-
170
- context "and is still unpaid" do
171
- it "is void" do
172
- order.payment_total = 0
173
- order.total = 30
174
- expect {
175
- updater.update_payment_state
176
- }.to change { order.payment_state }.to 'void'
177
- end
178
- end
179
-
180
- context "and is paid" do
181
-
182
- it "is credit_owed" do
183
- order.payment_total = 30
184
- order.total = 30
185
- allow(order).to receive_message_chain(:payments, :valid, :size).and_return(1)
186
- allow(order).to receive_message_chain(:payments, :completed, :size).and_return(1)
187
- expect {
188
- updater.update_payment_state
189
- }.to change { order.payment_state }.to 'credit_owed'
190
- end
191
-
192
- end
193
-
194
- context "and payment is refunded" do
195
- it "is void" do
196
- order.payment_total = 0
197
- order.total = 30
198
- expect {
199
- updater.update_payment_state
200
- }.to change { order.payment_state }.to 'void'
201
- end
202
- end
203
- end
204
-
205
- end
206
-
207
- it "state change" do
208
- order.shipment_state = 'shipped'
209
- state_changes = double
210
- allow(order).to receive_messages state_changes: state_changes
211
- expect(state_changes).to receive(:create).with(
212
- previous_state: nil,
213
- next_state: 'shipped',
214
- name: 'shipment',
215
- user_id: nil
216
- )
217
-
218
- order.state_changed('shipment')
219
- end
220
-
221
- context "completed order" do
222
- before { allow(order).to receive_messages completed?: true }
223
-
224
- describe "#update" do
225
- it "updates payment state" do
226
- expect(updater).to receive(:update_payment_state)
227
- updater.update
228
- end
229
-
230
- it "updates shipment state" do
231
- expect(updater).to receive(:update_shipment_state)
232
- updater.update
233
- end
234
-
235
- it "updates shipments total again after updating shipments" do
236
- expect(updater).to receive(:update_shipment_total).ordered
237
- expect(updater).to receive(:update_shipments).ordered
238
- expect(updater).to receive(:update_shipment_total).ordered
239
- updater.update
240
- end
241
- end
242
-
243
- describe "#update_shipments" do
244
- it "updates each shipment" do
245
- shipment = stub_model(Spree::Shipment, order: order)
246
- shipments = [shipment]
247
- allow(order).to receive_messages shipments: shipments
248
- allow(shipments).to receive_messages states: []
249
- allow(shipments).to receive_messages ready: []
250
- allow(shipments).to receive_messages pending: []
251
- allow(shipments).to receive_messages shipped: []
252
-
253
- expect(shipment).to receive(:update!).with(order)
254
- updater.update_shipments
255
- end
256
-
257
- it "refreshes shipment rates" do
258
- shipment = stub_model(Spree::Shipment, order: order)
259
- shipments = [shipment]
260
- allow(order).to receive_messages shipments: shipments
261
-
262
- expect(shipment).to receive(:refresh_rates)
263
- updater.update_shipments
264
- end
265
-
266
- it "updates the shipment amount" do
267
- shipment = stub_model(Spree::Shipment, order: order)
268
- shipments = [shipment]
269
- allow(order).to receive_messages shipments: shipments
270
-
271
- expect(shipment).to receive(:update_amounts)
272
- updater.update_shipments
273
- end
274
- end
275
- end
276
-
277
- context "incompleted order" do
278
- before { allow(order).to receive_messages completed?: false }
279
-
280
- it "doesnt update payment state" do
281
- expect(updater).not_to receive(:update_payment_state)
282
- updater.update
283
- end
284
-
285
- it "doesnt update shipment state" do
286
- expect(updater).not_to receive(:update_shipment_state)
287
- updater.update
288
- end
289
-
290
- it "doesnt update each shipment" do
291
- shipment = stub_model(Spree::Shipment)
292
- shipments = [shipment]
293
- allow(order).to receive_messages shipments: shipments
294
- allow(shipments).to receive_messages states: []
295
- allow(shipments).to receive_messages ready: []
296
- allow(shipments).to receive_messages pending: []
297
- allow(shipments).to receive_messages shipped: []
298
-
299
- allow(updater).to receive(:update_totals) # Otherwise this gets called and causes a scene
300
- expect(updater).not_to receive(:update_shipments).with(order)
301
- updater.update
302
- end
303
- end
304
- end
305
- end
@@ -1,127 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe Spree::Payment::GatewayOptions, type: :model do
4
- let(:options) { Spree::Payment::GatewayOptions.new(payment) }
5
-
6
- let(:payment) do
7
- double(
8
- Spree::Payment,
9
- order: order,
10
- number: "P1566",
11
- currency: "EUR",
12
- payment_method: payment_method
13
- )
14
- end
15
-
16
- let(:payment_method) do
17
- double(
18
- Spree::Gateway::Bogus,
19
- exchange_multiplier: Spree::Gateway::FROM_DOLLAR_TO_CENT_RATE
20
- )
21
- end
22
-
23
- let(:order) do
24
- double(
25
- Spree::Order,
26
- email: "test@email.com",
27
- user_id: 144,
28
- last_ip_address: "0.0.0.0",
29
- number: "R1444",
30
- ship_total: "12.44".to_d,
31
- additional_tax_total: "1.53".to_d,
32
- item_total: "15.11".to_d,
33
- promo_total: "2.57".to_d,
34
- bill_address: bill_address,
35
- ship_address: ship_address
36
- )
37
- end
38
-
39
- let(:bill_address) do
40
- double Spree::Address, active_merchant_hash: { bill: :address }
41
- end
42
-
43
- let(:ship_address) do
44
- double Spree::Address, active_merchant_hash: { ship: :address }
45
- end
46
-
47
- describe "#email" do
48
- subject { options.email }
49
- it { should == "test@email.com" }
50
- end
51
-
52
- describe "#customer" do
53
- subject { options.customer }
54
- it { should == "test@email.com" }
55
- end
56
-
57
- describe "#customer_id" do
58
- subject { options.customer_id }
59
- it { should == 144 }
60
- end
61
-
62
- describe "#ip" do
63
- subject { options.ip }
64
- it { should == "0.0.0.0" }
65
- end
66
-
67
- describe "#order_id" do
68
- subject { options.order_id }
69
- it { should == "R1444-P1566" }
70
- end
71
-
72
- describe "#shipping" do
73
- subject { options.shipping }
74
- it { should == 1244 }
75
- end
76
-
77
- describe "#tax" do
78
- subject { options.tax }
79
- it { should == 153 }
80
- end
81
-
82
- describe "#subtotal" do
83
- subject { options.subtotal }
84
- it { should == 1511 }
85
- end
86
-
87
- describe "#discount" do
88
- subject { options.discount }
89
- it { should == 257 }
90
- end
91
-
92
- describe "#currency" do
93
- subject { options.currency }
94
- it { should == "EUR" }
95
- end
96
-
97
- describe "#billing_address" do
98
- subject { options.billing_address }
99
- it { should == { bill: :address } }
100
- end
101
-
102
- describe "#shipping_address" do
103
- subject { options.shipping_address }
104
- it { should == { ship: :address } }
105
- end
106
-
107
- describe "#to_hash" do
108
- subject { options.to_hash }
109
- let(:expected) do
110
- {
111
- email: "test@email.com",
112
- customer: "test@email.com",
113
- customer_id: 144,
114
- ip: "0.0.0.0",
115
- order_id: "R1444-P1566",
116
- shipping: "1244".to_d,
117
- tax: "153".to_d,
118
- subtotal: "1511".to_d,
119
- discount: "257".to_d,
120
- currency: "EUR",
121
- billing_address: { bill: :address },
122
- shipping_address: { ship: :address }
123
- }
124
- end
125
- it { should == expected }
126
- end
127
- end
@@ -1,60 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'Payment' do
4
- context '#cancel!' do
5
- subject { payment.cancel! }
6
-
7
- context 'a store credit' do
8
- let(:store_credit) { create(:store_credit, amount_used: captured_amount) }
9
- let(:auth_code) { '1-SC-20141111111111' }
10
- let(:captured_amount) { 10.0 }
11
- let(:payment) { create(:store_credit_payment, response_code: auth_code) }
12
-
13
- let!(:capture_event) do
14
- create(:store_credit_auth_event,
15
- action: Spree::StoreCredit::CAPTURE_ACTION,
16
- authorization_code: auth_code,
17
- amount: captured_amount,
18
- store_credit: store_credit)
19
- end
20
-
21
- let(:successful_response) do
22
- ActiveMerchant::Billing::Response.new(
23
- true,
24
- Spree.t('store_credit_payment_method.successful_action', action: :cancel),
25
- {},
26
- authorization: payment.response_code
27
- )
28
- end
29
-
30
- let(:failed_response) do
31
- ActiveMerchant::Billing::Response.new(
32
- false,
33
- Spree.t('store_credit_payment_method.unable_to_find_for_action', action: :cancel,
34
- auth_code: payment.response_code),
35
- {},
36
- {}
37
- )
38
- end
39
-
40
- it 'attemps to cancels the payment' do
41
- expect(payment.payment_method).to receive(:cancel).with(payment.response_code) { successful_response }
42
- subject
43
- end
44
-
45
- context 'cancels successfully' do
46
- it 'voids the payment' do
47
- expect { subject }.to change { payment.state }.to('void')
48
- end
49
- end
50
-
51
- context 'does not cancel successfully' do
52
- it 'does not change the payment state' do
53
- expect(payment.payment_method).to receive(:cancel).with(payment.response_code) { failed_response }
54
- expect { subject }.to raise_error(Spree::Core::GatewayError)
55
- expect(payment.reload.state).not_to eq 'void'
56
- end
57
- end
58
- end
59
- end
60
- end