solidus_core 2.0.3 → 2.1.0.beta1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of solidus_core might be problematic. Click here for more details.

Files changed (187) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +62 -3
  3. data/app/assets/javascripts/spree.js.coffee.erb +4 -1
  4. data/app/helpers/spree/base_helper.rb +7 -48
  5. data/app/models/spree/address.rb +5 -1
  6. data/app/models/spree/adjustment.rb +3 -3
  7. data/app/models/spree/app_configuration.rb +13 -0
  8. data/app/models/spree/calculator.rb +3 -2
  9. data/app/models/spree/calculator/default_tax.rb +6 -10
  10. data/app/models/spree/calculator/flat_percent_item_total.rb +0 -4
  11. data/app/models/spree/calculator/flat_rate.rb +0 -4
  12. data/app/models/spree/calculator/flexi_rate.rb +0 -4
  13. data/app/models/spree/calculator/free_shipping.rb +0 -3
  14. data/app/models/spree/calculator/percent_on_line_item.rb +0 -4
  15. data/app/models/spree/calculator/percent_per_item.rb +0 -4
  16. data/app/models/spree/calculator/price_sack.rb +0 -4
  17. data/app/models/spree/calculator/returns/default_refund_amount.rb +0 -3
  18. data/app/models/spree/calculator/shipping/flat_percent_item_total.rb +0 -4
  19. data/app/models/spree/calculator/shipping/flat_rate.rb +0 -4
  20. data/app/models/spree/calculator/shipping/flexi_rate.rb +0 -4
  21. data/app/models/spree/calculator/shipping/per_item.rb +0 -4
  22. data/app/models/spree/calculator/shipping/price_sack.rb +0 -4
  23. data/app/models/spree/calculator/tiered_flat_rate.rb +0 -4
  24. data/app/models/spree/calculator/tiered_percent.rb +0 -4
  25. data/app/models/spree/credit_card.rb +27 -14
  26. data/app/models/spree/gateway.rb +4 -0
  27. data/app/models/spree/inventory_unit.rb +2 -0
  28. data/app/models/spree/line_item.rb +31 -26
  29. data/app/models/spree/option_type.rb +0 -3
  30. data/app/models/spree/order.rb +28 -31
  31. data/app/models/spree/order/checkout.rb +0 -2
  32. data/app/models/spree/order_contents.rb +0 -45
  33. data/app/models/spree/order_merger.rb +6 -6
  34. data/app/models/spree/order_update_attributes.rb +0 -2
  35. data/app/models/spree/order_updater.rb +91 -13
  36. data/app/models/spree/payment.rb +9 -2
  37. data/app/models/spree/payment/processing.rb +15 -9
  38. data/app/models/spree/payment_method.rb +48 -5
  39. data/app/models/spree/price.rb +7 -9
  40. data/app/models/spree/product.rb +1 -25
  41. data/app/models/spree/promotion.rb +22 -14
  42. data/app/models/spree/promotion/actions/create_adjustment.rb +12 -1
  43. data/app/models/spree/promotion/actions/create_item_adjustments.rb +15 -1
  44. data/app/models/spree/promotion/actions/create_quantity_adjustments.rb +5 -3
  45. data/app/models/spree/promotion/actions/free_shipping.rb +14 -0
  46. data/app/models/spree/promotion/rules/taxon.rb +7 -2
  47. data/app/models/spree/promotion/rules/user_role.rb +43 -0
  48. data/app/models/spree/promotion_action.rb +19 -2
  49. data/app/models/spree/promotion_handler/coupon.rb +1 -4
  50. data/app/models/spree/promotion_handler/free_shipping.rb +22 -17
  51. data/app/models/spree/promotion_rule_role.rb +6 -0
  52. data/app/models/spree/property.rb +0 -3
  53. data/app/models/spree/return_authorization.rb +2 -0
  54. data/app/models/spree/shipment.rb +5 -21
  55. data/app/models/spree/shipping_method.rb +23 -2
  56. data/app/models/spree/shipping_rate.rb +3 -0
  57. data/app/models/spree/stock/estimator.rb +1 -1
  58. data/app/models/spree/stock_location.rb +3 -0
  59. data/app/models/spree/store.rb +7 -0
  60. data/app/models/spree/tax/item_adjuster.rb +27 -12
  61. data/app/models/spree/tax/order_adjuster.rb +2 -5
  62. data/app/models/spree/tax/tax_helpers.rb +4 -8
  63. data/app/models/spree/tax_rate.rb +1 -15
  64. data/app/models/spree/taxon.rb +0 -3
  65. data/app/models/spree/transfer_item.rb +1 -1
  66. data/app/models/spree/user_class_handle.rb +14 -9
  67. data/app/models/spree/variant/pricing_options.rb +1 -1
  68. data/app/models/spree/wallet/add_payment_sources_to_wallet.rb +1 -1
  69. data/app/models/spree/zone.rb +20 -13
  70. data/config/locales/en.yml +144 -62
  71. data/db/migrate/20120831092320_spree_one_two.rb +0 -7
  72. data/db/migrate/20150723224133_remove_unnecessary_indexes.rb +0 -2
  73. data/db/migrate/20160924135758_remove_is_default_from_prices.rb +5 -0
  74. data/db/migrate/20161009141333_remove_currency_from_line_items.rb +5 -0
  75. data/db/migrate/20161014221052_add_available_to_columns_and_remove_display_on_from_payment_methods.rb +28 -0
  76. data/db/migrate/20161123154034_add_available_to_users_and_remove_display_on_from_shipping_methods.rb +20 -0
  77. data/lib/generators/spree/custom_user/templates/authentication_helpers.rb.tt +4 -0
  78. data/lib/generators/spree/dummy/dummy_generator.rb +0 -2
  79. data/lib/spree/core.rb +0 -5
  80. data/lib/spree/core/controller_helpers/pricing.rb +2 -1
  81. data/lib/spree/core/engine.rb +14 -0
  82. data/lib/spree/core/version.rb +1 -1
  83. data/lib/spree/deprecation.rb +1 -1
  84. data/lib/spree/localized_number.rb +3 -2
  85. data/lib/spree/permission_sets/configuration_display.rb +0 -1
  86. data/lib/spree/permission_sets/configuration_management.rb +0 -1
  87. data/lib/spree/permission_sets/product_display.rb +0 -1
  88. data/lib/spree/permission_sets/product_management.rb +0 -1
  89. data/lib/spree/permission_sets/user_management.rb +2 -4
  90. data/lib/spree/permitted_attributes.rb +3 -2
  91. data/lib/spree/testing_support/capybara_ext.rb +0 -12
  92. data/lib/spree/testing_support/factories/address_factory.rb +1 -1
  93. data/lib/spree/testing_support/factories/line_item_factory.rb +0 -1
  94. data/lib/spree/testing_support/factories/payment_factory.rb +4 -0
  95. data/lib/spree/testing_support/factories/payment_method_factory.rb +8 -1
  96. data/lib/spree/testing_support/factories/user_factory.rb +2 -2
  97. data/solidus_core.gemspec +4 -3
  98. data/spec/helpers/base_helper_spec.rb +0 -40
  99. data/spec/lib/spree/core/controller_helpers/pricing_spec.rb +16 -0
  100. data/spec/lib/spree/core/importer/order_spec.rb +27 -18
  101. data/spec/lib/spree/core/price_migrator_spec.rb +3 -1
  102. data/spec/lib/spree/core/testing_support/factories/order_factory_spec.rb +16 -0
  103. data/spec/lib/spree/core/unreturned_item_charger_spec.rb +0 -2
  104. data/spec/lib/tasks/exchanges_spec.rb +4 -2
  105. data/spec/lib/tasks/migrations/create_vat_prices_spec.rb +5 -3
  106. data/spec/models/spree/adjustment_spec.rb +136 -0
  107. data/spec/models/spree/calculator/default_tax_spec.rb +13 -7
  108. data/spec/models/spree/calculator/flat_percent_item_total_spec.rb +3 -0
  109. data/spec/models/spree/calculator/flat_rate_spec.rb +3 -0
  110. data/spec/models/spree/calculator/flexi_rate_spec.rb +3 -0
  111. data/spec/models/spree/calculator/free_shipping_spec.rb +6 -0
  112. data/spec/models/spree/calculator/percent_on_line_item_spec.rb +9 -4
  113. data/spec/models/spree/calculator/percent_per_item_spec.rb +10 -0
  114. data/spec/models/spree/calculator/price_sack_spec.rb +3 -0
  115. data/spec/models/spree/calculator/refunds/default_refund_amount_spec.rb +3 -0
  116. data/spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb +3 -0
  117. data/spec/models/spree/calculator/shipping/flat_rate_spec.rb +3 -0
  118. data/spec/models/spree/calculator/shipping/flexi_rate_spec.rb +3 -0
  119. data/spec/models/spree/calculator/shipping/per_item_spec.rb +3 -0
  120. data/spec/models/spree/calculator/shipping/price_sack_spec.rb +4 -1
  121. data/spec/models/spree/calculator/tiered_flat_rate_spec.rb +3 -0
  122. data/spec/models/spree/calculator/tiered_percent_spec.rb +3 -0
  123. data/spec/models/spree/credit_card_spec.rb +27 -1
  124. data/spec/models/spree/line_item_spec.rb +58 -65
  125. data/spec/models/spree/order/checkout_spec.rb +2 -1
  126. data/spec/models/spree/order/payment_spec.rb +9 -10
  127. data/spec/models/spree/order/tax_spec.rb +22 -7
  128. data/spec/models/spree/order/updating_spec.rb +1 -3
  129. data/spec/models/spree/order_cancellations_spec.rb +6 -4
  130. data/spec/models/spree/order_contents_spec.rb +34 -50
  131. data/spec/models/spree/order_inventory_spec.rb +3 -5
  132. data/spec/models/spree/order_merger_spec.rb +20 -0
  133. data/spec/models/spree/order_spec.rb +28 -64
  134. data/spec/models/spree/order_update_attributes_spec.rb +1 -5
  135. data/spec/models/spree/order_updater_spec.rb +251 -0
  136. data/spec/models/spree/payment_method_spec.rb +178 -28
  137. data/spec/models/spree/payment_spec.rb +35 -19
  138. data/spec/models/spree/permission_sets/configuration_display.rb +0 -4
  139. data/spec/models/spree/permission_sets/configuration_management_spec.rb +0 -2
  140. data/spec/models/spree/permission_sets/product_display_spec.rb +0 -4
  141. data/spec/models/spree/permission_sets/product_management_spec.rb +0 -2
  142. data/spec/models/spree/permission_sets/user_management_spec.rb +9 -2
  143. data/spec/models/spree/price_spec.rb +16 -1
  144. data/spec/models/spree/product_spec.rb +0 -75
  145. data/spec/models/spree/promotion/actions/create_adjustment_spec.rb +20 -0
  146. data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +39 -15
  147. data/spec/models/spree/promotion/actions/create_quantity_adjustments_spec.rb +203 -22
  148. data/spec/models/spree/promotion/actions/free_shipping_spec.rb +22 -3
  149. data/spec/models/spree/promotion/rules/taxon_spec.rb +26 -0
  150. data/spec/models/spree/promotion/rules/user_role_spec.rb +86 -0
  151. data/spec/models/spree/promotion_action_spec.rb +38 -0
  152. data/spec/models/spree/promotion_handler/coupon_spec.rb +36 -33
  153. data/spec/models/spree/promotion_handler/free_shipping_spec.rb +21 -22
  154. data/spec/models/spree/promotion_spec.rb +46 -6
  155. data/spec/models/spree/reimbursement_spec.rb +1 -1
  156. data/spec/models/spree/reimbursement_tax_calculator_spec.rb +2 -2
  157. data/spec/models/spree/shipment_spec.rb +68 -50
  158. data/spec/models/spree/shipping_method_spec.rb +41 -0
  159. data/spec/models/spree/shipping_rate_spec.rb +9 -3
  160. data/spec/models/spree/stock/estimator_spec.rb +4 -2
  161. data/spec/models/spree/store_credit_spec.rb +3 -3
  162. data/spec/models/spree/tax/item_adjuster_spec.rb +31 -21
  163. data/spec/models/spree/tax/order_adjuster_spec.rb +6 -10
  164. data/spec/models/spree/tax/taxation_integration_spec.rb +19 -0
  165. data/spec/models/spree/tax_rate_spec.rb +5 -26
  166. data/spec/models/spree/transfer_item_spec.rb +11 -0
  167. data/spec/models/spree/variant/pricing_options_spec.rb +7 -17
  168. data/spec/models/spree/variant_spec.rb +2 -4
  169. data/spec/models/spree/zone_spec.rb +60 -20
  170. data/spec/shared_examples/calculator_shared_examples.rb +8 -0
  171. metadata +19 -24
  172. data/app/models/spree/item_adjustments.rb +0 -89
  173. data/app/models/spree/option_type_prototype.rb +0 -6
  174. data/app/models/spree/property_prototype.rb +0 -6
  175. data/app/models/spree/prototype.rb +0 -14
  176. data/app/models/spree/prototype_taxon.rb +0 -6
  177. data/app/models/spree/tracker.rb +0 -8
  178. data/db/migrate/20150128032538_remove_environment_from_tracker.rb +0 -6
  179. data/lib/generators/spree/dummy/templates/initializers/custom_user.rb +0 -1
  180. data/lib/spree/core/delegate_belongs_to.rb +0 -94
  181. data/lib/spree/testing_support/factories/prototype_factory.rb +0 -8
  182. data/lib/spree/testing_support/factories/tracker_factory.rb +0 -6
  183. data/spec/lib/spree/core/delegate_belongs_to_spec.rb +0 -24
  184. data/spec/lib/spree/core/testing_support/factories/prototype_factory_spec.rb +0 -12
  185. data/spec/lib/spree/core/testing_support/factories/tracker_factory_spec.rb +0 -12
  186. data/spec/models/spree/item_adjustments_spec.rb +0 -306
  187. data/spec/models/spree/tracker_spec.rb +0 -21
@@ -104,7 +104,7 @@ describe Spree::TaxRate, type: :model do
104
104
  end
105
105
 
106
106
  context "when there is a default tax zone" do
107
- let(:default_zone) { create(:zone, :with_country, default_tax: true) }
107
+ let(:default_zone) { create(:zone, :with_country) }
108
108
  let(:included_in_price) { false }
109
109
  let!(:rate) do
110
110
  create(:tax_rate, zone: default_zone, included_in_price: included_in_price)
@@ -133,30 +133,6 @@ describe Spree::TaxRate, type: :model do
133
133
  end
134
134
  end
135
135
 
136
- context ".adjust" do
137
- let(:zone) { stub_model(Spree::Zone) }
138
-
139
- context "with line items" do
140
- let(:line_item) { stub_model(Spree::LineItem) }
141
-
142
- it 'should emit a deprecation warning and call the item adjuster' do
143
- expect(Spree::Deprecation).to receive(:warn)
144
- expect(Spree::Tax::ItemAdjuster).to receive_message_chain(:new, :adjust!)
145
- Spree::TaxRate.adjust(zone, [line_item])
146
- end
147
- end
148
-
149
- context "with shipments" do
150
- let(:shipment) { stub_model(Spree::Shipment) }
151
-
152
- it 'should emit a deprecation warning and call the item adjuster' do
153
- expect(Spree::Deprecation).to receive(:warn)
154
- expect(Spree::Tax::ItemAdjuster).to receive_message_chain(:new, :adjust!)
155
- Spree::TaxRate.adjust(zone, [shipment])
156
- end
157
- end
158
- end
159
-
160
136
  describe "#adjust" do
161
137
  let(:taxable_address) { create(:address) }
162
138
  let(:order) { create(:order_with_line_items, ship_address: order_address) }
@@ -176,7 +152,10 @@ describe Spree::TaxRate, type: :model do
176
152
 
177
153
  describe 'adjustments' do
178
154
  before do
179
- tax_rate.adjust(order.tax_zone, item)
155
+ # Please remove this silencing once we remove `Spree::Zone.default_tax`
156
+ Spree::Deprecation.silence do
157
+ tax_rate.adjust(nil, item)
158
+ end
180
159
  end
181
160
 
182
161
  let(:adjustment_label) { item.adjustments.tax.first.label }
@@ -261,4 +261,15 @@ describe Spree::TransferItem do
261
261
  end
262
262
  end
263
263
  end
264
+
265
+ describe "variant association" do
266
+ context "variant has been soft-deleted" do
267
+ before do
268
+ subject.variant.destroy
269
+ end
270
+ it "still returns the variant" do
271
+ expect(subject.variant).not_to be_nil
272
+ end
273
+ end
274
+ end
264
275
  end
@@ -23,7 +23,7 @@ describe Spree::Variant::PricingOptions do
23
23
  end
24
24
 
25
25
  context ".from_line_item" do
26
- let(:line_item) { build_stubbed(:line_item, currency: "USD") }
26
+ let(:line_item) { build_stubbed(:line_item) }
27
27
  subject { described_class.from_line_item(line_item) }
28
28
 
29
29
  it "returns the order's currency" do
@@ -34,29 +34,19 @@ describe Spree::Variant::PricingOptions do
34
34
  expect(subject.desired_attributes[:country_iso]).to eq("US")
35
35
  end
36
36
 
37
- context "if line item has no order" do
38
- before do
39
- expect(line_item).to receive(:order).at_least(:once).and_return(nil)
40
- end
41
-
42
- it "returns the line item's currency" do
43
- expect(subject.desired_attributes[:currency]).to eq("USD")
44
- end
45
- end
46
-
47
- context "if line item's order has no currency" do
37
+ context 'if order has no currency' do
48
38
  before do
49
- expect(line_item.order).to receive(:currency).and_return(nil)
39
+ expect(line_item.order).to receive(:currency).at_least(:once).and_return(nil)
40
+ expect(Spree::Config).to receive(:currency).at_least(:once).and_return("RUB")
50
41
  end
51
42
 
52
- it "returns the line item's currency" do
53
- expect(subject.desired_attributes[:currency]).to eq("USD")
43
+ it "returns the configured default currency" do
44
+ expect(subject.desired_attributes[:currency]).to eq("RUB")
54
45
  end
55
46
  end
56
47
 
57
- context "if neither order nor line item have a currency" do
48
+ context "if line item has no order" do
58
49
  before do
59
- expect(line_item).to receive(:currency).and_return(nil)
60
50
  expect(line_item).to receive(:order).at_least(:once).and_return(nil)
61
51
  expect(Spree::Config).to receive(:currency).at_least(:once).and_return("RUB")
62
52
  end
@@ -208,9 +208,7 @@ describe Spree::Variant, type: :model do
208
208
  let(:pricing_options_germany) { Spree::Config.pricing_options_class.new(currency: "EUR") }
209
209
  let(:pricing_options_united_states) { Spree::Config.pricing_options_class.new(currency: "USD") }
210
210
  before do
211
- variant.prices << create(:price, variant: variant, currency: "USD", amount: 12.12, is_default: false)
212
- variant.prices << create(:price, variant: variant, currency: "EUR", amount: 29.99)
213
- variant.prices << create(:price, variant: variant, currency: "EUR", amount: 10.00, is_default: false)
211
+ variant.prices.create(currency: "EUR", amount: 29.99)
214
212
  variant.reload
215
213
  end
216
214
 
@@ -227,7 +225,7 @@ describe Spree::Variant, type: :model do
227
225
  context "when adding multiple prices" do
228
226
  it "it can reassign a default price" do
229
227
  expect(variant.default_price.amount).to eq(19.99)
230
- variant.prices << create(:price, variant: variant, currency: "USD", amount: 12.12)
228
+ variant.prices.create(currency: "USD", amount: 12.12)
231
229
  expect(variant.reload.default_price.amount).to eq(12.12)
232
230
  end
233
231
  end
@@ -60,7 +60,9 @@ describe Spree::Zone, type: :model do
60
60
  let(:address) { create(:address, country: country, state: country.states.first) }
61
61
 
62
62
  it "should return the qualifying zone" do
63
- expect(Spree::Zone.match(address)).to eq(country_zone)
63
+ Spree::Deprecation.silence do
64
+ expect(Spree::Zone.match(address)).to eq(country_zone)
65
+ end
64
66
  end
65
67
  end
66
68
 
@@ -72,7 +74,9 @@ describe Spree::Zone, type: :model do
72
74
 
73
75
  context "when both zones have the same number of members" do
74
76
  it "should return the zone that was created first" do
75
- expect(Spree::Zone.match(address)).to eq(country_zone)
77
+ Spree::Deprecation.silence do
78
+ expect(Spree::Zone.match(address)).to eq(country_zone)
79
+ end
76
80
  end
77
81
  end
78
82
 
@@ -82,7 +86,9 @@ describe Spree::Zone, type: :model do
82
86
  before { country_zone.members.create(zoneable: country2) }
83
87
 
84
88
  it "should return the zone with fewer members" do
85
- expect(Spree::Zone.match(address)).to eq(second_zone)
89
+ Spree::Deprecation.silence do
90
+ expect(Spree::Zone.match(address)).to eq(second_zone)
91
+ end
86
92
  end
87
93
  end
88
94
  end
@@ -94,13 +100,17 @@ describe Spree::Zone, type: :model do
94
100
  before { state_zone.members.create(zoneable: country.states.first) }
95
101
 
96
102
  it "should return the zone with the more specific member type" do
97
- expect(Spree::Zone.match(address)).to eq(state_zone)
103
+ Spree::Deprecation.silence do
104
+ expect(Spree::Zone.match(address)).to eq(state_zone)
105
+ end
98
106
  end
99
107
  end
100
108
 
101
109
  context "when there are no qualifying zones" do
102
110
  it "should return nil" do
103
- expect(Spree::Zone.match(Spree::Address.new)).to be_nil
111
+ Spree::Deprecation.silence do
112
+ expect(Spree::Zone.match(Spree::Address.new)).to be_nil
113
+ end
104
114
  end
105
115
  end
106
116
  end
@@ -115,7 +125,9 @@ describe Spree::Zone, type: :model do
115
125
  before { country_zone.members.create(zoneable: country) }
116
126
 
117
127
  it 'should return a list of countries' do
118
- expect(country_zone.country_list).to eq([country])
128
+ Spree::Deprecation.silence do
129
+ expect(country_zone.country_list).to eq([country])
130
+ end
119
131
  end
120
132
  end
121
133
 
@@ -125,7 +137,9 @@ describe Spree::Zone, type: :model do
125
137
  before { state_zone.members.create(zoneable: state) }
126
138
 
127
139
  it 'should return a list of countries' do
128
- expect(state_zone.country_list).to eq([state.country])
140
+ Spree::Deprecation.silence do
141
+ expect(state_zone.country_list).to eq([state.country])
142
+ end
129
143
  end
130
144
  end
131
145
  end
@@ -160,7 +174,9 @@ describe Spree::Zone, type: :model do
160
174
 
161
175
  it "should be the correct zone" do
162
176
  create(:zone, name: 'foo')
163
- expect(Spree::Zone.default_tax).to eq(@foo_zone)
177
+ Spree::Deprecation.silence do
178
+ expect(Spree::Zone.default_tax).to eq(@foo_zone)
179
+ end
164
180
  end
165
181
  end
166
182
 
@@ -182,12 +198,16 @@ describe Spree::Zone, type: :model do
182
198
  end
183
199
 
184
200
  it "should contain itself" do
185
- expect(@source.contains?(@source)).to be true
201
+ Spree::Deprecation.silence do
202
+ expect(@source.contains?(@source)).to be true
203
+ end
186
204
  end
187
205
 
188
206
  context "when both source and target have no members" do
189
207
  it "should be false" do
190
- expect(@source.contains?(@target)).to be false
208
+ Spree::Deprecation.silence do
209
+ expect(@source.contains?(@target)).to be false
210
+ end
191
211
  end
192
212
  end
193
213
 
@@ -195,7 +215,9 @@ describe Spree::Zone, type: :model do
195
215
  before { @source.members.create(zoneable: country1) }
196
216
 
197
217
  it "should be false" do
198
- expect(@source.contains?(@target)).to be false
218
+ Spree::Deprecation.silence do
219
+ expect(@source.contains?(@target)).to be false
220
+ end
199
221
  end
200
222
  end
201
223
 
@@ -203,7 +225,9 @@ describe Spree::Zone, type: :model do
203
225
  before { @target.members.create(zoneable: country1) }
204
226
 
205
227
  it "should be false" do
206
- expect(@source.contains?(@target)).to be false
228
+ Spree::Deprecation.silence do
229
+ expect(@source.contains?(@target)).to be false
230
+ end
207
231
  end
208
232
  end
209
233
 
@@ -213,7 +237,9 @@ describe Spree::Zone, type: :model do
213
237
  end
214
238
 
215
239
  it "should be true" do
216
- expect(@source.contains?(@target)).to be true
240
+ Spree::Deprecation.silence do
241
+ expect(@source.contains?(@target)).to be true
242
+ end
217
243
  end
218
244
  end
219
245
 
@@ -230,7 +256,9 @@ describe Spree::Zone, type: :model do
230
256
  end
231
257
 
232
258
  it "should be true" do
233
- expect(@source.contains?(@target)).to be true
259
+ Spree::Deprecation.silence do
260
+ expect(@source.contains?(@target)).to be true
261
+ end
234
262
  end
235
263
  end
236
264
 
@@ -242,7 +270,9 @@ describe Spree::Zone, type: :model do
242
270
  end
243
271
 
244
272
  it "should be false" do
245
- expect(@source.contains?(@target)).to be false
273
+ Spree::Deprecation.silence do
274
+ expect(@source.contains?(@target)).to be false
275
+ end
246
276
  end
247
277
  end
248
278
 
@@ -253,7 +283,9 @@ describe Spree::Zone, type: :model do
253
283
  end
254
284
 
255
285
  it "should be false" do
256
- expect(@source.contains?(@target)).to be false
286
+ Spree::Deprecation.silence do
287
+ expect(@source.contains?(@target)).to be false
288
+ end
257
289
  end
258
290
  end
259
291
  end
@@ -265,7 +297,9 @@ describe Spree::Zone, type: :model do
265
297
  end
266
298
 
267
299
  it "should be false" do
268
- expect(@source.contains?(@target)).to be false
300
+ Spree::Deprecation.silence do
301
+ expect(@source.contains?(@target)).to be false
302
+ end
269
303
  end
270
304
  end
271
305
 
@@ -279,7 +313,9 @@ describe Spree::Zone, type: :model do
279
313
  end
280
314
 
281
315
  it "should be true" do
282
- expect(@source.contains?(@target)).to be true
316
+ Spree::Deprecation.silence do
317
+ expect(@source.contains?(@target)).to be true
318
+ end
283
319
  end
284
320
  end
285
321
 
@@ -291,7 +327,9 @@ describe Spree::Zone, type: :model do
291
327
  end
292
328
 
293
329
  it "should be false" do
294
- expect(@source.contains?(@target)).to be false
330
+ Spree::Deprecation.silence do
331
+ expect(@source.contains?(@target)).to be false
332
+ end
295
333
  end
296
334
  end
297
335
 
@@ -302,7 +340,9 @@ describe Spree::Zone, type: :model do
302
340
  end
303
341
 
304
342
  it "should be false" do
305
- expect(@source.contains?(@target)).to be false
343
+ Spree::Deprecation.silence do
344
+ expect(@source.contains?(@target)).to be false
345
+ end
306
346
  end
307
347
  end
308
348
  end
@@ -0,0 +1,8 @@
1
+ shared_examples_for 'a calculator with a description' do
2
+ describe ".description" do
3
+ subject { described_class.description }
4
+ it "has a description" do
5
+ expect(subject.size).to be > 0
6
+ end
7
+ end
8
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.1.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Solidus Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-12 00:00:00.000000000 Z
11
+ date: 2016-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemerchant
@@ -120,14 +120,14 @@ dependencies:
120
120
  requirements:
121
121
  - - "~>"
122
122
  - !ruby/object:Gem::Version
123
- version: 1.6.18
123
+ version: '1.7'
124
124
  type: :runtime
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - "~>"
129
129
  - !ruby/object:Gem::Version
130
- version: 1.6.18
130
+ version: '1.7'
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: kaminari
133
133
  requirement: !ruby/object:Gem::Requirement
@@ -398,13 +398,11 @@ files:
398
398
  - app/models/spree/gateway/bogus_simple.rb
399
399
  - app/models/spree/image.rb
400
400
  - app/models/spree/inventory_unit.rb
401
- - app/models/spree/item_adjustments.rb
402
401
  - app/models/spree/legacy_user.rb
403
402
  - app/models/spree/line_item.rb
404
403
  - app/models/spree/line_item_action.rb
405
404
  - app/models/spree/log_entry.rb
406
405
  - app/models/spree/option_type.rb
407
- - app/models/spree/option_type_prototype.rb
408
406
  - app/models/spree/option_value.rb
409
407
  - app/models/spree/option_values_variant.rb
410
408
  - app/models/spree/order.rb
@@ -457,6 +455,7 @@ files:
457
455
  - app/models/spree/promotion/rules/taxon.rb
458
456
  - app/models/spree/promotion/rules/user.rb
459
457
  - app/models/spree/promotion/rules/user_logged_in.rb
458
+ - app/models/spree/promotion/rules/user_role.rb
460
459
  - app/models/spree/promotion_action.rb
461
460
  - app/models/spree/promotion_builder.rb
462
461
  - app/models/spree/promotion_category.rb
@@ -468,12 +467,10 @@ files:
468
467
  - app/models/spree/promotion_handler/free_shipping.rb
469
468
  - app/models/spree/promotion_handler/page.rb
470
469
  - app/models/spree/promotion_rule.rb
470
+ - app/models/spree/promotion_rule_role.rb
471
471
  - app/models/spree/promotion_rule_taxon.rb
472
472
  - app/models/spree/promotion_rule_user.rb
473
473
  - app/models/spree/property.rb
474
- - app/models/spree/property_prototype.rb
475
- - app/models/spree/prototype.rb
476
- - app/models/spree/prototype_taxon.rb
477
474
  - app/models/spree/refund.rb
478
475
  - app/models/spree/refund_reason.rb
479
476
  - app/models/spree/reimbursement.rb
@@ -553,7 +550,6 @@ files:
553
550
  - app/models/spree/tax_rate.rb
554
551
  - app/models/spree/taxon.rb
555
552
  - app/models/spree/taxonomy.rb
556
- - app/models/spree/tracker.rb
557
553
  - app/models/spree/transfer_item.rb
558
554
  - app/models/spree/unit_cancel.rb
559
555
  - app/models/spree/user_address.rb
@@ -799,7 +795,6 @@ files:
799
795
  - db/migrate/20150121202544_add_restock_inventory_to_stock_location.rb
800
796
  - db/migrate/20150122202432_add_code_to_spree_promotion_categories.rb
801
797
  - db/migrate/20150127161843_create_order_stock_locations.rb
802
- - db/migrate/20150128032538_remove_environment_from_tracker.rb
803
798
  - db/migrate/20150203151219_add_fulfillable_to_stock_location.rb
804
799
  - db/migrate/20150205210527_add_code_to_refund_reason.rb
805
800
  - db/migrate/20150213160148_add_promotion_code_id_to_orders_promotions.rb
@@ -896,13 +891,16 @@ files:
896
891
  - db/migrate/20160616232103_remove_user_id_from_promotion_rules.rb
897
892
  - db/migrate/20160718205341_add_payment_id_index_to_spree_refunds.rb
898
893
  - db/migrate/20160718205859_add_reimbursement_id_index_to_spree_refunds.rb
894
+ - db/migrate/20160924135758_remove_is_default_from_prices.rb
895
+ - db/migrate/20161009141333_remove_currency_from_line_items.rb
896
+ - db/migrate/20161014221052_add_available_to_columns_and_remove_display_on_from_payment_methods.rb
897
+ - db/migrate/20161123154034_add_available_to_users_and_remove_display_on_from_shipping_methods.rb
899
898
  - db/seeds.rb
900
899
  - lib/generators/spree/custom_user/custom_user_generator.rb
901
900
  - lib/generators/spree/custom_user/templates/authentication_helpers.rb.tt
902
901
  - lib/generators/spree/custom_user/templates/initializer.rb.tt
903
902
  - lib/generators/spree/custom_user/templates/migration.rb.tt
904
903
  - lib/generators/spree/dummy/dummy_generator.rb
905
- - lib/generators/spree/dummy/templates/initializers/custom_user.rb
906
904
  - lib/generators/spree/dummy/templates/rails/application.rb
907
905
  - lib/generators/spree/dummy/templates/rails/boot.rb
908
906
  - lib/generators/spree/dummy/templates/rails/database.yml
@@ -928,7 +926,6 @@ files:
928
926
  - lib/spree/core/controller_helpers/store.rb
929
927
  - lib/spree/core/controller_helpers/strong_parameters.rb
930
928
  - lib/spree/core/current_store.rb
931
- - lib/spree/core/delegate_belongs_to.rb
932
929
  - lib/spree/core/engine.rb
933
930
  - lib/spree/core/environment.rb
934
931
  - lib/spree/core/environment/calculators.rb
@@ -1018,7 +1015,6 @@ files:
1018
1015
  - lib/spree/testing_support/factories/promotion_code_factory.rb
1019
1016
  - lib/spree/testing_support/factories/promotion_factory.rb
1020
1017
  - lib/spree/testing_support/factories/property_factory.rb
1021
- - lib/spree/testing_support/factories/prototype_factory.rb
1022
1018
  - lib/spree/testing_support/factories/refund_factory.rb
1023
1019
  - lib/spree/testing_support/factories/refund_reason_factory.rb
1024
1020
  - lib/spree/testing_support/factories/reimbursement_factory.rb
@@ -1048,7 +1044,6 @@ files:
1048
1044
  - lib/spree/testing_support/factories/tax_rate_factory.rb
1049
1045
  - lib/spree/testing_support/factories/taxon_factory.rb
1050
1046
  - lib/spree/testing_support/factories/taxonomy_factory.rb
1051
- - lib/spree/testing_support/factories/tracker_factory.rb
1052
1047
  - lib/spree/testing_support/factories/user_factory.rb
1053
1048
  - lib/spree/testing_support/factories/variant_factory.rb
1054
1049
  - lib/spree/testing_support/factories/variant_property_rule_condition_factory.rb
@@ -1092,7 +1087,6 @@ files:
1092
1087
  - spec/lib/spree/core/controller_helpers/store_spec.rb
1093
1088
  - spec/lib/spree/core/controller_helpers/strong_parameters_spec.rb
1094
1089
  - spec/lib/spree/core/current_store_spec.rb
1095
- - spec/lib/spree/core/delegate_belongs_to_spec.rb
1096
1090
  - spec/lib/spree/core/environment_extension_spec.rb
1097
1091
  - spec/lib/spree/core/importer/order_spec.rb
1098
1092
  - spec/lib/spree/core/price_migrator_spec.rb
@@ -1123,7 +1117,6 @@ files:
1123
1117
  - spec/lib/spree/core/testing_support/factories/promotion_code_factory_spec.rb
1124
1118
  - spec/lib/spree/core/testing_support/factories/promotion_factory_spec.rb
1125
1119
  - spec/lib/spree/core/testing_support/factories/property_factory_spec.rb
1126
- - spec/lib/spree/core/testing_support/factories/prototype_factory_spec.rb
1127
1120
  - spec/lib/spree/core/testing_support/factories/refund_factory_spec.rb
1128
1121
  - spec/lib/spree/core/testing_support/factories/refund_reason_factory_spec.rb
1129
1122
  - spec/lib/spree/core/testing_support/factories/reimbursement_factory_spec.rb
@@ -1153,7 +1146,6 @@ files:
1153
1146
  - spec/lib/spree/core/testing_support/factories/tax_rate_factory_spec.rb
1154
1147
  - spec/lib/spree/core/testing_support/factories/taxon_factory_spec.rb
1155
1148
  - spec/lib/spree/core/testing_support/factories/taxonomy_factory_spec.rb
1156
- - spec/lib/spree/core/testing_support/factories/tracker_factory_spec.rb
1157
1149
  - spec/lib/spree/core/testing_support/factories/user_factory_spec.rb
1158
1150
  - spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
1159
1151
  - spec/lib/spree/core/testing_support/factories/variant_property_rule_condition_factory_spec.rb
@@ -1189,7 +1181,9 @@ files:
1189
1181
  - spec/models/spree/calculator/flat_percent_item_total_spec.rb
1190
1182
  - spec/models/spree/calculator/flat_rate_spec.rb
1191
1183
  - spec/models/spree/calculator/flexi_rate_spec.rb
1184
+ - spec/models/spree/calculator/free_shipping_spec.rb
1192
1185
  - spec/models/spree/calculator/percent_on_line_item_spec.rb
1186
+ - spec/models/spree/calculator/percent_per_item_spec.rb
1193
1187
  - spec/models/spree/calculator/price_sack_spec.rb
1194
1188
  - spec/models/spree/calculator/refunds/default_refund_amount_spec.rb
1195
1189
  - spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb
@@ -1214,7 +1208,6 @@ files:
1214
1208
  - spec/models/spree/gateway/bogus_spec.rb
1215
1209
  - spec/models/spree/gateway_spec.rb
1216
1210
  - spec/models/spree/inventory_unit_spec.rb
1217
- - spec/models/spree/item_adjustments_spec.rb
1218
1211
  - spec/models/spree/line_item_spec.rb
1219
1212
  - spec/models/spree/option_type_spec.rb
1220
1213
  - spec/models/spree/option_value_spec.rb
@@ -1293,7 +1286,9 @@ files:
1293
1286
  - spec/models/spree/promotion/rules/product_spec.rb
1294
1287
  - spec/models/spree/promotion/rules/taxon_spec.rb
1295
1288
  - spec/models/spree/promotion/rules/user_logged_in_spec.rb
1289
+ - spec/models/spree/promotion/rules/user_role_spec.rb
1296
1290
  - spec/models/spree/promotion/rules/user_spec.rb
1291
+ - spec/models/spree/promotion_action_spec.rb
1297
1292
  - spec/models/spree/promotion_builder_spec.rb
1298
1293
  - spec/models/spree/promotion_category_spec.rb
1299
1294
  - spec/models/spree/promotion_code/code_builder_spec.rb
@@ -1365,7 +1360,6 @@ files:
1365
1360
  - spec/models/spree/tax_rate_spec.rb
1366
1361
  - spec/models/spree/taxon_spec.rb
1367
1362
  - spec/models/spree/taxonomy_spec.rb
1368
- - spec/models/spree/tracker_spec.rb
1369
1363
  - spec/models/spree/transfer_item_spec.rb
1370
1364
  - spec/models/spree/unit_cancel_spec.rb
1371
1365
  - spec/models/spree/user_spec.rb
@@ -1379,6 +1373,7 @@ files:
1379
1373
  - spec/models/spree/variant_property_rule_value_spec.rb
1380
1374
  - spec/models/spree/variant_spec.rb
1381
1375
  - spec/models/spree/zone_spec.rb
1376
+ - spec/shared_examples/calculator_shared_examples.rb
1382
1377
  - spec/spec_helper.rb
1383
1378
  - spec/support/big_decimal.rb
1384
1379
  - spec/support/concerns/default_price.rb
@@ -1391,7 +1386,7 @@ files:
1391
1386
  - vendor/assets/stylesheets/normalize.css
1392
1387
  homepage: http://solidus.io
1393
1388
  licenses:
1394
- - BSD-3
1389
+ - BSD-3-Clause
1395
1390
  metadata: {}
1396
1391
  post_install_message:
1397
1392
  rdoc_options: []
@@ -1401,15 +1396,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
1401
1396
  requirements:
1402
1397
  - - ">="
1403
1398
  - !ruby/object:Gem::Version
1404
- version: 2.1.0
1399
+ version: 2.2.2
1405
1400
  required_rubygems_version: !ruby/object:Gem::Requirement
1406
1401
  requirements:
1407
1402
  - - ">="
1408
1403
  - !ruby/object:Gem::Version
1409
- version: '0'
1404
+ version: 1.8.23
1410
1405
  requirements: []
1411
1406
  rubyforge_project:
1412
- rubygems_version: 2.6.11
1407
+ rubygems_version: 2.5.2
1413
1408
  signing_key:
1414
1409
  specification_version: 4
1415
1410
  summary: Essential models, mailers, and classes for the Solidus e-commerce project.