spree_core 2.2.14 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (172) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/{spree.js.coffee → spree.js.coffee.erb} +11 -2
  3. data/app/controllers/spree/base_controller.rb +1 -0
  4. data/app/helpers/spree/base_helper.rb +5 -6
  5. data/app/helpers/spree/orders_helper.rb +4 -0
  6. data/app/helpers/spree/products_helper.rb +8 -7
  7. data/app/mailers/spree/base_mailer.rb +2 -2
  8. data/app/mailers/spree/order_mailer.rb +2 -2
  9. data/app/mailers/spree/shipment_mailer.rb +1 -1
  10. data/app/mailers/spree/test_mailer.rb +1 -1
  11. data/app/models/spree/ability.rb +15 -16
  12. data/app/models/spree/address.rb +3 -6
  13. data/app/models/spree/adjustment.rb +2 -2
  14. data/app/models/spree/alert.rb +1 -1
  15. data/app/models/spree/app_configuration.rb +17 -20
  16. data/app/models/spree/asset.rb +2 -2
  17. data/app/models/spree/base.rb +9 -0
  18. data/app/models/spree/calculator.rb +1 -1
  19. data/app/models/spree/calculator/flat_rate.rb +1 -1
  20. data/app/models/spree/calculator/flexi_rate.rb +1 -1
  21. data/app/models/spree/calculator/price_sack.rb +1 -3
  22. data/app/models/spree/calculator/shipping/flat_rate.rb +1 -1
  23. data/app/models/spree/calculator/shipping/flexi_rate.rb +1 -1
  24. data/app/models/spree/calculator/shipping/per_item.rb +1 -1
  25. data/app/models/spree/calculator/shipping/price_sack.rb +1 -3
  26. data/app/models/spree/classification.rb +1 -1
  27. data/app/models/spree/configuration.rb +1 -1
  28. data/app/models/spree/country.rb +1 -1
  29. data/app/models/spree/credit_card.rb +8 -12
  30. data/app/models/spree/gateway.rb +0 -3
  31. data/app/models/spree/gateway/bogus.rb +2 -3
  32. data/app/models/spree/image.rb +3 -1
  33. data/app/models/spree/inventory_unit.rb +5 -6
  34. data/app/models/spree/item_adjustments.rb +3 -4
  35. data/app/models/spree/legacy_user.rb +1 -1
  36. data/app/models/spree/line_item.rb +6 -13
  37. data/app/models/spree/log_entry.rb +1 -1
  38. data/app/models/spree/option_type.rb +1 -1
  39. data/app/models/spree/option_value.rb +1 -3
  40. data/app/models/spree/order.rb +52 -70
  41. data/app/models/spree/order/checkout.rb +17 -10
  42. data/app/models/spree/order/currency_updater.rb +1 -1
  43. data/app/models/spree/order_contents.rb +7 -4
  44. data/app/models/spree/order_populator.rb +1 -1
  45. data/app/models/spree/order_updater.rb +8 -21
  46. data/app/models/spree/payment.rb +26 -12
  47. data/app/models/spree/payment/processing.rb +5 -16
  48. data/app/models/spree/payment_capture_event.rb +1 -1
  49. data/app/models/spree/payment_method.rb +2 -2
  50. data/app/models/spree/payment_method/check.rb +0 -2
  51. data/app/models/spree/preference.rb +1 -31
  52. data/app/models/spree/preferences/configuration.rb +2 -6
  53. data/app/models/spree/preferences/preferable.rb +46 -74
  54. data/app/models/spree/preferences/preferable_class_methods.rb +11 -46
  55. data/app/models/spree/preferences/scoped_store.rb +33 -0
  56. data/app/models/spree/preferences/store.rb +8 -7
  57. data/app/models/spree/price.rb +1 -3
  58. data/app/models/spree/product.rb +59 -87
  59. data/app/models/spree/product/scopes.rb +22 -13
  60. data/app/models/spree/product_option_type.rb +1 -1
  61. data/app/models/spree/product_property.rb +1 -3
  62. data/app/models/spree/product_scope/scopes.rb +1 -1
  63. data/app/models/spree/promotion.rb +4 -5
  64. data/app/models/spree/promotion/actions/create_adjustment.rb +11 -2
  65. data/app/models/spree/promotion/actions/create_item_adjustments.rb +19 -2
  66. data/app/models/spree/promotion/actions/create_line_items.rb +2 -12
  67. data/app/models/spree/promotion/rules/user.rb +5 -1
  68. data/app/models/spree/promotion_action.rb +1 -1
  69. data/app/models/spree/promotion_action_line_item.rb +1 -1
  70. data/app/models/spree/promotion_handler/cart.rb +2 -14
  71. data/app/models/spree/promotion_handler/coupon.rb +3 -13
  72. data/app/models/spree/promotion_rule.rb +1 -1
  73. data/app/models/spree/property.rb +1 -3
  74. data/app/models/spree/prototype.rb +1 -1
  75. data/app/models/spree/return_authorization.rb +4 -10
  76. data/app/models/spree/role.rb +1 -1
  77. data/app/models/spree/shipment.rb +1 -9
  78. data/app/models/spree/shipping_category.rb +3 -3
  79. data/app/models/spree/shipping_method.rb +1 -1
  80. data/app/models/spree/shipping_method_category.rb +2 -2
  81. data/app/models/spree/shipping_rate.rb +3 -3
  82. data/app/models/spree/state.rb +1 -1
  83. data/app/models/spree/state_change.rb +1 -1
  84. data/app/models/spree/stock/availability_validator.rb +7 -3
  85. data/app/models/spree/stock/package.rb +0 -23
  86. data/app/models/spree/stock/splitter/backordered.rb +1 -1
  87. data/app/models/spree/stock/splitter/shipping_category.rb +1 -1
  88. data/app/models/spree/stock/splitter/weight.rb +1 -1
  89. data/app/models/spree/stock_item.rb +7 -10
  90. data/app/models/spree/stock_location.rb +2 -6
  91. data/app/models/spree/stock_movement.rb +1 -3
  92. data/app/models/spree/stock_transfer.rb +1 -3
  93. data/app/models/spree/store.rb +33 -0
  94. data/app/models/spree/tax_category.rb +2 -2
  95. data/app/models/spree/tax_rate.rb +21 -52
  96. data/app/models/spree/taxon.rb +9 -8
  97. data/app/models/spree/taxonomy.rb +1 -1
  98. data/app/models/spree/tracker.rb +1 -1
  99. data/app/models/spree/variant.rb +13 -15
  100. data/app/models/spree/variant/scopes.rb +1 -1
  101. data/app/models/spree/zone.rb +22 -22
  102. data/app/models/spree/zone_member.rb +2 -2
  103. data/config/initializers/user_class_extensions.rb +0 -8
  104. data/config/locales/en.yml +7 -42
  105. data/db/default/spree/countries.rb +2 -3
  106. data/db/default/spree/stores.rb +9 -0
  107. data/db/migrate/20130611054351_rename_shipping_methods_zones_to_spree_shipping_methods_zones.rb +0 -5
  108. data/db/migrate/20130807024301_upgrade_adjustments.rb +4 -5
  109. data/db/migrate/20130807024302_rename_adjustment_fields.rb +5 -2
  110. data/db/migrate/20131118183431_add_line_item_id_to_spree_inventory_units.rb +1 -1
  111. data/db/migrate/20140106065820_remove_value_type_from_spree_preferences.rb +8 -0
  112. data/db/migrate/20140227112348_add_preference_store_to_everything.rb +8 -0
  113. data/db/migrate/20140309023735_migrate_old_preferences.rb +23 -0
  114. data/db/migrate/20140309024355_create_spree_stores.rb +25 -0
  115. data/db/migrate/20140309033438_create_store_from_preferences.rb +30 -0
  116. data/db/migrate/20140315053743_add_timestamps_to_spree_assets.rb +6 -0
  117. data/db/migrate/20140331100557_add_additional_store_fields.rb +8 -0
  118. data/db/migrate/20140410141842_add_many_missing_indexes.rb +18 -0
  119. data/db/migrate/20140410150358_correct_some_polymorphic_index_and_add_more_missing.rb +66 -0
  120. data/db/migrate/20140508151342_change_spree_price_amount_precision.rb +1 -1
  121. data/db/migrate/20140518174634_add_token_to_spree_orders.rb +5 -0
  122. data/db/migrate/20140530024945_move_order_token_from_tokenized_permission.rb +29 -0
  123. data/db/migrate/20140601011216_set_shipment_total_for_users_upgrading.rb +5 -3
  124. data/db/migrate/20140604135309_drop_credit_card_first_name_and_last_name.rb +6 -0
  125. data/lib/generators/spree/dummy/dummy_generator.rb +1 -0
  126. data/lib/generators/spree/dummy/templates/initializers/devise.rb +3 -0
  127. data/lib/generators/spree/dummy/templates/rails/routes.rb +0 -1
  128. data/lib/generators/spree/install/install_generator.rb +8 -17
  129. data/lib/generators/spree/install/templates/config/initializers/spree.rb +2 -2
  130. data/lib/spree/core.rb +13 -9
  131. data/lib/spree/core/calculated_adjustments.rb +1 -1
  132. data/lib/spree/core/controller_helpers/auth.rb +27 -18
  133. data/lib/spree/core/controller_helpers/common.rb +2 -2
  134. data/lib/spree/core/controller_helpers/order.rb +15 -24
  135. data/lib/spree/core/controller_helpers/store.rb +19 -0
  136. data/lib/spree/core/delegate_belongs_to.rb +2 -2
  137. data/lib/spree/core/engine.rb +0 -10
  138. data/lib/spree/core/importer.rb +1 -0
  139. data/lib/spree/core/importer/order.rb +16 -44
  140. data/lib/spree/core/importer/product.rb +62 -0
  141. data/lib/spree/core/product_filters.rb +0 -4
  142. data/lib/spree/core/routes.rb +4 -6
  143. data/lib/spree/core/validators/email.rb +23 -1
  144. data/lib/spree/core/version.rb +1 -1
  145. data/lib/spree/money.rb +1 -169
  146. data/lib/spree/permitted_attributes.rb +6 -4
  147. data/lib/spree/testing_support/authorization_helpers.rb +23 -21
  148. data/lib/spree/testing_support/capybara_ext.rb +11 -21
  149. data/lib/spree/testing_support/common_rake.rb +3 -1
  150. data/lib/spree/testing_support/controller_requests.rb +0 -2
  151. data/lib/spree/testing_support/factories/credit_card_factory.rb +1 -1
  152. data/lib/spree/testing_support/factories/line_item_factory.rb +4 -1
  153. data/lib/spree/testing_support/factories/order_factory.rb +5 -4
  154. data/lib/spree/testing_support/factories/product_factory.rb +0 -4
  155. data/lib/spree/testing_support/factories/promotion_factory.rb +5 -7
  156. data/lib/spree/testing_support/factories/shipment_factory.rb +0 -1
  157. data/lib/spree/testing_support/factories/stock_factory.rb +2 -2
  158. data/lib/spree/testing_support/factories/store_factory.rb +8 -0
  159. data/lib/spree/testing_support/preferences.rb +3 -3
  160. data/lib/tasks/core.rake +2 -2
  161. metadata +48 -39
  162. data/app/models/spree/stock/order_counter.rb +0 -55
  163. data/app/models/spree/tokenized_permission.rb +0 -6
  164. data/app/views/spree/shared/_routes.html.erb +0 -13
  165. data/db/migrate/20140804185157_add_default_to_shipment_cost.rb +0 -10
  166. data/db/migrate/20141021194502_add_state_lock_version_to_order.rb +0 -5
  167. data/lib/spree/core/adjustment_source.rb +0 -26
  168. data/lib/spree/core/mail_interceptor.rb +0 -22
  169. data/lib/spree/core/mail_method.rb +0 -27
  170. data/lib/spree/core/mail_settings.rb +0 -55
  171. data/lib/spree/core/ransackable_attributes.rb +0 -15
  172. data/lib/spree/core/token_resource.rb +0 -27
@@ -18,6 +18,7 @@ module Spree
18
18
  :stock_item_attributes,
19
19
  :stock_location_attributes,
20
20
  :stock_movement_attributes,
21
+ :store_attributes,
21
22
  :taxon_attributes,
22
23
  :taxonomy_attributes,
23
24
  :user_attributes,
@@ -27,16 +28,14 @@ module Spree
27
28
  mattr_reader *ATTRIBUTES
28
29
 
29
30
  @@address_attributes = [
30
- :id, :firstname, :lastname, :address1, :address2,
31
+ :firstname, :lastname, :address1, :address2,
31
32
  :city, :country_id, :state_id, :zipcode, :phone,
32
33
  :state_name, :alternative_phone, :company,
33
34
  :country => [:iso, :name, :iso3, :iso_name],
34
35
  :state => [:name, :abbr]
35
36
  ]
36
37
 
37
- @@checkout_attributes = [
38
- :coupon_code, :email, :shipping_method_id, :special_instructions, :use_billing
39
- ]
38
+ @@checkout_attributes = [:email, :use_billing, :shipping_method_id, :coupon_code, :special_instructions]
40
39
 
41
40
  @@image_attributes = [:alt, :attachment, :position, :viewable_type, :viewable_id]
42
41
 
@@ -83,6 +82,9 @@ module Spree
83
82
  @@stock_movement_attributes = [
84
83
  :quantity, :stock_item, :stock_item_id, :originator, :action]
85
84
 
85
+ @@store_attributes = [:name, :url, :seo_title, :meta_keywords,
86
+ :meta_description, :default_currency]
87
+
86
88
  @@taxonomy_attributes = [:name]
87
89
 
88
90
  @@taxon_attributes = [
@@ -1,46 +1,48 @@
1
1
  module Spree
2
2
  module TestingSupport
3
3
  module AuthorizationHelpers
4
- module Controller
5
- def stub_authorization!
6
- before do
7
- controller.stub :authorize! => true
4
+ module CustomAbility
5
+ def build_ability(&block)
6
+ block ||= proc{ |u| can :manage, :all }
7
+ Class.new do
8
+ include CanCan::Ability
9
+ define_method(:initialize, block)
8
10
  end
9
11
  end
10
12
  end
11
13
 
12
- module Request
13
- class SuperAbility
14
- include CanCan::Ability
14
+ module Controller
15
+ include CustomAbility
15
16
 
16
- def initialize(user)
17
- # allow anyone to perform anything on anything
18
- can :manage, :all
17
+ def stub_authorization!(&block)
18
+ ability_class = build_ability(&block)
19
+ before do
20
+ allow(controller).to receive(:current_ability).and_return{ ability_class.new(nil) }
19
21
  end
20
22
  end
23
+ end
24
+
25
+ module Request
26
+ include CustomAbility
21
27
 
22
28
  def stub_authorization!
29
+ ability = build_ability
30
+
23
31
  after(:all) do
24
- ability = Spree::TestingSupport::AuthorizationHelpers::Request::SuperAbility
25
32
  Spree::Ability.remove_ability(ability)
26
33
  end
34
+
27
35
  before(:all) do
28
- ability = Spree::TestingSupport::AuthorizationHelpers::Request::SuperAbility
29
36
  Spree::Ability.register_ability(ability)
30
37
  end
31
38
 
32
39
  before do
33
- allow(Spree.user_class).to receive(:find_by).
34
- with(hash_including(:spree_api_key)).
35
- and_return(Spree.user_class.new)
40
+ allow_any_instance_of(Api::BaseController).to receive(:try_spree_current_user).and_return(Spree.user_class.new)
36
41
  end
37
42
  end
38
43
 
39
44
  def custom_authorization!(&block)
40
- ability = Class.new do
41
- include CanCan::Ability
42
- define_method(:initialize, block)
43
- end
45
+ ability = build_ability(&block)
44
46
  after(:all) do
45
47
  Spree::Ability.remove_ability(ability)
46
48
  end
@@ -54,6 +56,6 @@ module Spree
54
56
  end
55
57
 
56
58
  RSpec.configure do |config|
57
- config.extend Spree::TestingSupport::AuthorizationHelpers::Controller, type: :controller
58
- config.extend Spree::TestingSupport::AuthorizationHelpers::Request, type: :feature
59
+ config.extend Spree::TestingSupport::AuthorizationHelpers::Controller, :type => :controller
60
+ config.extend Spree::TestingSupport::AuthorizationHelpers::Request, :type => :feature
59
61
  end
@@ -13,7 +13,7 @@ module CapybaraExt
13
13
  end
14
14
 
15
15
  def within_row(num, &block)
16
- if RSpec.current_example.metadata[:js]
16
+ if example.metadata[:js]
17
17
  within("table.index tbody tr:nth-child(#{num})", &block)
18
18
  else
19
19
  within(:xpath, all("table.index tbody tr")[num-1].path, &block)
@@ -21,7 +21,7 @@ module CapybaraExt
21
21
  end
22
22
 
23
23
  def column_text(num)
24
- if RSpec.current_example.metadata[:js]
24
+ if example.metadata[:js]
25
25
  find("td:nth-child(#{num})").text
26
26
  else
27
27
  all("td")[num-1].text
@@ -111,25 +111,15 @@ module CapybaraExt
111
111
  end
112
112
 
113
113
  def accept_alert
114
- if page.driver === Capybara::Selenium::Driver
115
- yield
116
- page.driver.browser.switch_to.alert.accept
117
- else
118
- page.evaluate_script('window.confirm = function() { return true; }')
119
- yield
120
- end
114
+ page.evaluate_script('window.confirm = function() { return true; }')
115
+ yield
121
116
  end
122
- def dismiss_alert
123
- if page.driver === Capybara::Selenium::Driver
124
- yield
125
- page.driver.browser.switch_to.alert.dismiss
126
- else
127
- page.evaluate_script('window.confirm = function() { return false; }')
128
- yield
129
117
 
130
- # Restore existing default
131
- page.evaluate_script('window.confirm = function() { return true; }')
132
- end
118
+ def dismiss_alert
119
+ page.evaluate_script('window.confirm = function() { return false; }')
120
+ yield
121
+ # Restore existing default
122
+ page.evaluate_script('window.confirm = function() { return true; }')
133
123
  end
134
124
  end
135
125
 
@@ -143,7 +133,7 @@ RSpec::Matchers.define :have_meta do |name, expected|
143
133
  has_css?("meta[name='#{name}'][content='#{expected}']", visible: false)
144
134
  end
145
135
 
146
- failure_message do |actual|
136
+ failure_message_for_should do |actual|
147
137
  actual = first("meta[name='#{name}']")
148
138
  if actual
149
139
  "expected that meta #{name} would have content='#{expected}' but was '#{actual[:content]}'"
@@ -158,7 +148,7 @@ RSpec::Matchers.define :have_title do |expected|
158
148
  has_css?("title", :text => expected, visible: false)
159
149
  end
160
150
 
161
- failure_message do |actual|
151
+ failure_message_for_should do |actual|
162
152
  actual = first("title")
163
153
  if actual
164
154
  "expected that title would have been '#{expected}' but was '#{actual.text}'"
@@ -10,11 +10,13 @@ namespace :common do
10
10
  args.with_defaults(:user_class => "Spree::LegacyUser")
11
11
  require "#{ENV['LIB_NAME']}"
12
12
 
13
+ ENV["RAILS_ENV"] = 'test'
14
+
13
15
  Spree::DummyGenerator.start ["--lib_name=#{ENV['LIB_NAME']}", "--quiet"]
14
16
  Spree::InstallGenerator.start ["--lib_name=#{ENV['LIB_NAME']}", "--auto-accept", "--migrate=false", "--seed=false", "--sample=false", "--quiet", "--user_class=#{args[:user_class]}"]
15
17
 
16
18
  puts "Setting up dummy database..."
17
- cmd = "bundle exec rake db:drop db:create db:migrate db:test:prepare"
19
+ cmd = "bundle exec rake db:drop db:create db:migrate"
18
20
 
19
21
  if RUBY_PLATFORM =~ /mswin/ #windows
20
22
  cmd += " >nul"
@@ -77,5 +77,3 @@ module Spree
77
77
  end
78
78
  end
79
79
  end
80
-
81
-
@@ -2,7 +2,7 @@ FactoryGirl.define do
2
2
  factory :credit_card, class: Spree::CreditCard do
3
3
  verification_value 123
4
4
  month 12
5
- year { 1.year.from_now.year }
5
+ year { Time.now.year }
6
6
  number '4111111111111111'
7
7
  name 'Spree Commerce'
8
8
  end
@@ -3,6 +3,9 @@ FactoryGirl.define do
3
3
  quantity 1
4
4
  price { BigDecimal.new('10.00') }
5
5
  order
6
- variant
6
+ ignore do
7
+ association :product
8
+ end
9
+ variant{ product.master }
7
10
  end
8
11
  end
@@ -16,7 +16,7 @@ FactoryGirl.define do
16
16
  bill_address
17
17
  ship_address
18
18
 
19
- transient do
19
+ ignore do
20
20
  line_items_count 5
21
21
  end
22
22
 
@@ -47,25 +47,26 @@ FactoryGirl.define do
47
47
  factory :order_ready_to_ship do
48
48
  payment_state 'paid'
49
49
  shipment_state 'ready'
50
+
50
51
  after(:create) do |order|
51
52
  create(:payment, amount: order.total, order: order, state: 'completed')
52
53
  order.shipments.each do |shipment|
53
- shipment.inventory_units.each { |u| u.update_column('state', 'on_hand') }
54
+ shipment.inventory_units.update_all state: 'on_hand'
54
55
  shipment.update_column('state', 'ready')
55
56
  end
56
57
  order.reload
57
58
  end
59
+
58
60
  factory :shipped_order do
59
61
  after(:create) do |order|
60
62
  order.shipments.each do |shipment|
61
- shipment.inventory_units.each { |u| u.update_column('state', 'shipped') }
63
+ shipment.inventory_units.update_all state: 'shipped'
62
64
  shipment.update_column('state', 'shipped')
63
65
  end
64
66
  order.reload
65
67
  end
66
68
  end
67
69
  end
68
-
69
70
  end
70
71
  end
71
72
  end
@@ -12,10 +12,6 @@ FactoryGirl.define do
12
12
  # ensure stock item will be created for this products master
13
13
  before(:create) { create(:stock_location) if Spree::StockLocation.count == 0 }
14
14
 
15
- after(:create) do |p|
16
- p.variants_including_master.each { |v| v.save! }
17
- end
18
-
19
15
  factory :custom_product do
20
16
  name 'Custom Product'
21
17
  price 17.99
@@ -3,22 +3,20 @@ FactoryGirl.define do
3
3
  name 'Promo'
4
4
 
5
5
  trait :with_line_item_adjustment do
6
- transient do
6
+ ignore do
7
7
  adjustment_rate 10
8
8
  end
9
9
 
10
10
  after(:create) do |promotion, evaluator|
11
11
  calculator = Spree::Calculator::FlatRate.new
12
12
  calculator.preferred_amount = evaluator.adjustment_rate
13
- action = Spree::Promotion::Actions::CreateItemAdjustments.create(:calculator => calculator)
14
- promotion.actions << action
15
- promotion.save
13
+ Spree::Promotion::Actions::CreateItemAdjustments.create!(calculator: calculator, promotion: promotion)
16
14
  end
17
15
  end
18
16
  factory :promotion_with_item_adjustment, traits: [:with_line_item_adjustment]
19
17
 
20
18
  trait :with_order_adjustment do
21
- transient do
19
+ ignore do
22
20
  order_adjustment_amount 10
23
21
  end
24
22
 
@@ -32,13 +30,13 @@ FactoryGirl.define do
32
30
  end
33
31
 
34
32
  trait :with_item_total_rule do
35
- transient do
33
+ ignore do
36
34
  item_total_threshold_amount 10
37
35
  end
38
36
 
39
37
  after(:create) do |promotion, evaluator|
40
38
  rule = Spree::Promotion::Rules::ItemTotal.create!(
41
- preferred_operator: 'gte',
39
+ preferred_operator: 'gte',
42
40
  preferred_amount: evaluator.item_total_threshold_amount
43
41
  )
44
42
  promotion.rules << rule
@@ -5,7 +5,6 @@ FactoryGirl.define do
5
5
  cost 100.00
6
6
  state 'pending'
7
7
  order
8
- address
9
8
  stock_location
10
9
 
11
10
  after(:create) do |shipment, evalulator|
@@ -1,7 +1,7 @@
1
1
  FactoryGirl.define do
2
2
  # must use build()
3
3
  factory :stock_packer, class: Spree::Stock::Packer do
4
- transient do
4
+ ignore do
5
5
  stock_location { build(:stock_location) }
6
6
  contents []
7
7
  end
@@ -10,7 +10,7 @@ FactoryGirl.define do
10
10
  end
11
11
 
12
12
  factory :stock_package, class: Spree::Stock::Package do
13
- transient do
13
+ ignore do
14
14
  stock_location { build(:stock_location) }
15
15
  order { create(:order_with_line_items, line_items_count: 2) }
16
16
  contents []
@@ -0,0 +1,8 @@
1
+ FactoryGirl.define do
2
+ factory :store, class: Spree::Store do
3
+ sequence(:code) { |i| "spree_#{i}" }
4
+ name 'Spree Test Store'
5
+ url 'www.example.com'
6
+ mail_from_address 'spree@example.org'
7
+ end
8
+ end
@@ -5,7 +5,7 @@ module Spree
5
5
  # pass a block to override the defaults with a block
6
6
  #
7
7
  # reset_spree_preferences do |config|
8
- # config.site_name = "my fancy pants store"
8
+ # config.track_inventory_levels = false
9
9
  # end
10
10
  #
11
11
  def reset_spree_preferences(&config_block)
@@ -22,8 +22,8 @@ module Spree
22
22
  end
23
23
 
24
24
  def assert_preference_unset(preference)
25
- find("#preferences_#{preference}")['checked'].should be false
26
- Spree::Config[preference].should be false
25
+ find("#preferences_#{preference}")['checked'].should be_false
26
+ Spree::Config[preference].should be_false
27
27
  end
28
28
  end
29
29
  end
data/lib/tasks/core.rake CHANGED
@@ -86,8 +86,8 @@ use rake db:load_file[/absolute/path/to/sample/filename.rb]}
86
86
  end
87
87
 
88
88
  if load_sample
89
- # Reload models' attributes in case they were loaded in old migrations with wrong attributes
90
- ActiveRecord::Base.descendants.each(&:reset_column_information)
89
+ #prevent errors for missing attributes (since rails 3.1 upgrade)
90
+
91
91
  Rake::Task["spree_sample:load"].invoke
92
92
  end
93
93
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.14
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-19 00:00:00.000000000 Z
11
+ date: 2014-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemerchant
@@ -108,20 +108,6 @@ dependencies:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '1.16'
111
- - !ruby/object:Gem::Dependency
112
- name: font-awesome-rails
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '4.0'
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '4.0'
125
111
  - !ruby/object:Gem::Dependency
126
112
  name: friendly_id
127
113
  requirement: !ruby/object:Gem::Requirement
@@ -210,30 +196,30 @@ dependencies:
210
196
  name: monetize
211
197
  requirement: !ruby/object:Gem::Requirement
212
198
  requirements:
213
- - - "~>"
199
+ - - ">="
214
200
  - !ruby/object:Gem::Version
215
- version: '1.1'
201
+ version: '0'
216
202
  type: :runtime
217
203
  prerelease: false
218
204
  version_requirements: !ruby/object:Gem::Requirement
219
205
  requirements:
220
- - - "~>"
206
+ - - ">="
221
207
  - !ruby/object:Gem::Version
222
- version: '1.1'
208
+ version: '0'
223
209
  - !ruby/object:Gem::Dependency
224
210
  name: paperclip
225
211
  requirement: !ruby/object:Gem::Requirement
226
212
  requirements:
227
213
  - - "~>"
228
214
  - !ruby/object:Gem::Version
229
- version: 3.4.1
215
+ version: 4.1.1
230
216
  type: :runtime
231
217
  prerelease: false
232
218
  version_requirements: !ruby/object:Gem::Requirement
233
219
  requirements:
234
220
  - - "~>"
235
221
  - !ruby/object:Gem::Version
236
- version: 3.4.1
222
+ version: 4.1.1
237
223
  - !ruby/object:Gem::Dependency
238
224
  name: paranoia
239
225
  requirement: !ruby/object:Gem::Requirement
@@ -254,28 +240,28 @@ dependencies:
254
240
  requirements:
255
241
  - - "~>"
256
242
  - !ruby/object:Gem::Version
257
- version: 4.0.12
243
+ version: 4.1.2
258
244
  type: :runtime
259
245
  prerelease: false
260
246
  version_requirements: !ruby/object:Gem::Requirement
261
247
  requirements:
262
248
  - - "~>"
263
249
  - !ruby/object:Gem::Version
264
- version: 4.0.12
250
+ version: 4.1.2
265
251
  - !ruby/object:Gem::Dependency
266
252
  name: ransack
267
253
  requirement: !ruby/object:Gem::Requirement
268
254
  requirements:
269
255
  - - "~>"
270
256
  - !ruby/object:Gem::Version
271
- version: 1.1.0
257
+ version: 1.2.2
272
258
  type: :runtime
273
259
  prerelease: false
274
260
  version_requirements: !ruby/object:Gem::Requirement
275
261
  requirements:
276
262
  - - "~>"
277
263
  - !ruby/object:Gem::Version
278
- version: 1.1.0
264
+ version: 1.2.2
279
265
  - !ruby/object:Gem::Dependency
280
266
  name: state_machine
281
267
  requirement: !ruby/object:Gem::Requirement
@@ -318,6 +304,20 @@ dependencies:
318
304
  - - '='
319
305
  - !ruby/object:Gem::Version
320
306
  version: 0.9.2
307
+ - !ruby/object:Gem::Dependency
308
+ name: font-awesome-rails
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - "~>"
312
+ - !ruby/object:Gem::Version
313
+ version: '4.0'
314
+ type: :runtime
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: '4.0'
321
321
  description: The bare bones necessary for Spree.
322
322
  email: sean@spreecommerce.com
323
323
  executables: []
@@ -330,7 +330,7 @@ files:
330
330
  - app/assets/images/noimage/mini.png
331
331
  - app/assets/images/noimage/product.png
332
332
  - app/assets/images/noimage/small.png
333
- - app/assets/javascripts/spree.js.coffee
333
+ - app/assets/javascripts/spree.js.coffee.erb
334
334
  - app/controllers/spree/base_controller.rb
335
335
  - app/helpers/spree/base_helper.rb
336
336
  - app/helpers/spree/checkout_helper.rb
@@ -350,6 +350,7 @@ files:
350
350
  - app/models/spree/alert.rb
351
351
  - app/models/spree/app_configuration.rb
352
352
  - app/models/spree/asset.rb
353
+ - app/models/spree/base.rb
353
354
  - app/models/spree/billing_integration.rb
354
355
  - app/models/spree/calculator.rb
355
356
  - app/models/spree/calculator/default_tax.rb
@@ -396,6 +397,7 @@ files:
396
397
  - app/models/spree/preferences/configuration.rb
397
398
  - app/models/spree/preferences/preferable.rb
398
399
  - app/models/spree/preferences/preferable_class_methods.rb
400
+ - app/models/spree/preferences/scoped_store.rb
399
401
  - app/models/spree/preferences/store.rb
400
402
  - app/models/spree/price.rb
401
403
  - app/models/spree/product.rb
@@ -437,7 +439,6 @@ files:
437
439
  - app/models/spree/stock/coordinator.rb
438
440
  - app/models/spree/stock/differentiator.rb
439
441
  - app/models/spree/stock/estimator.rb
440
- - app/models/spree/stock/order_counter.rb
441
442
  - app/models/spree/stock/package.rb
442
443
  - app/models/spree/stock/packer.rb
443
444
  - app/models/spree/stock/prioritizer.rb
@@ -450,11 +451,11 @@ files:
450
451
  - app/models/spree/stock_location.rb
451
452
  - app/models/spree/stock_movement.rb
452
453
  - app/models/spree/stock_transfer.rb
454
+ - app/models/spree/store.rb
453
455
  - app/models/spree/tax_category.rb
454
456
  - app/models/spree/tax_rate.rb
455
457
  - app/models/spree/taxon.rb
456
458
  - app/models/spree/taxonomy.rb
457
- - app/models/spree/tokenized_permission.rb
458
459
  - app/models/spree/tracker.rb
459
460
  - app/models/spree/variant.rb
460
461
  - app/models/spree/variant/scopes.rb
@@ -464,7 +465,6 @@ files:
464
465
  - app/views/spree/order_mailer/cancel_email.text.erb
465
466
  - app/views/spree/order_mailer/confirm_email.text.erb
466
467
  - app/views/spree/shared/_error_messages.html.erb
467
- - app/views/spree/shared/_routes.html.erb
468
468
  - app/views/spree/shipment_mailer/shipped_email.text.erb
469
469
  - app/views/spree/test_mailer/test_email.text.erb
470
470
  - config/initializers/user_class_extensions.rb
@@ -473,6 +473,7 @@ files:
473
473
  - db/default/spree/countries.rb
474
474
  - db/default/spree/roles.rb
475
475
  - db/default/spree/states.rb
476
+ - db/default/spree/stores.rb
476
477
  - db/default/spree/zones.rb
477
478
  - db/migrate/20120831092320_spree_one_two.rb
478
479
  - db/migrate/20120831092359_spree_promo_one_two.rb
@@ -587,6 +588,7 @@ files:
587
588
  - db/migrate/20131211112807_create_spree_orders_promotions.rb
588
589
  - db/migrate/20131211192741_unique_shipping_method_categories.rb
589
590
  - db/migrate/20131218054603_add_item_count_to_spree_orders.rb
591
+ - db/migrate/20140106065820_remove_value_type_from_spree_preferences.rb
590
592
  - db/migrate/20140106224208_rename_permalink_to_slug_for_products.rb
591
593
  - db/migrate/20140120160805_add_index_to_variant_id_and_currency_on_prices.rb
592
594
  - db/migrate/20140124023232_rename_activator_id_in_rules_and_actions_to_promotion_id.rb
@@ -602,14 +604,23 @@ files:
602
604
  - db/migrate/20140211040159_add_pre_tax_amount_to_line_items_and_shipments.rb
603
605
  - db/migrate/20140213184916_add_more_indexes.rb
604
606
  - db/migrate/20140219060952_add_considered_risky_to_orders.rb
607
+ - db/migrate/20140227112348_add_preference_store_to_everything.rb
605
608
  - db/migrate/20140307235515_add_user_id_to_spree_credit_cards.rb
609
+ - db/migrate/20140309023735_migrate_old_preferences.rb
610
+ - db/migrate/20140309024355_create_spree_stores.rb
611
+ - db/migrate/20140309033438_create_store_from_preferences.rb
612
+ - db/migrate/20140315053743_add_timestamps_to_spree_assets.rb
613
+ - db/migrate/20140331100557_add_additional_store_fields.rb
614
+ - db/migrate/20140410141842_add_many_missing_indexes.rb
615
+ - db/migrate/20140410150358_correct_some_polymorphic_index_and_add_more_missing.rb
606
616
  - db/migrate/20140415041315_add_user_id_created_by_id_index_to_order.rb
607
617
  - db/migrate/20140508151342_change_spree_price_amount_precision.rb
618
+ - db/migrate/20140518174634_add_token_to_spree_orders.rb
619
+ - db/migrate/20140530024945_move_order_token_from_tokenized_permission.rb
608
620
  - db/migrate/20140601011216_set_shipment_total_for_users_upgrading.rb
621
+ - db/migrate/20140604135309_drop_credit_card_first_name_and_last_name.rb
609
622
  - db/migrate/20140609201656_add_deleted_at_to_spree_promotion_actions.rb
610
623
  - db/migrate/20140616202624_remove_uncaptured_amount_from_spree_payments.rb
611
- - db/migrate/20140804185157_add_default_to_shipment_cost.rb
612
- - db/migrate/20141021194502_add_state_lock_version_to_order.rb
613
624
  - db/seeds.rb
614
625
  - lib/generators/spree/custom_user/custom_user_generator.rb
615
626
  - lib/generators/spree/custom_user/templates/authentication_helpers.rb.tt
@@ -617,6 +628,7 @@ files:
617
628
  - lib/generators/spree/custom_user/templates/migration.rb.tt
618
629
  - lib/generators/spree/dummy/dummy_generator.rb
619
630
  - lib/generators/spree/dummy/templates/initializers/custom_user.rb
631
+ - lib/generators/spree/dummy/templates/initializers/devise.rb
620
632
  - lib/generators/spree/dummy/templates/rails/application.rb
621
633
  - lib/generators/spree/dummy/templates/rails/boot.rb
622
634
  - lib/generators/spree/dummy/templates/rails/database.yml
@@ -630,7 +642,6 @@ files:
630
642
  - lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/backend/all.css
631
643
  - lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/frontend/all.css
632
644
  - lib/spree/core.rb
633
- - lib/spree/core/adjustment_source.rb
634
645
  - lib/spree/core/calculated_adjustments.rb
635
646
  - lib/spree/core/controller_helpers.rb
636
647
  - lib/spree/core/controller_helpers/auth.rb
@@ -639,6 +650,7 @@ files:
639
650
  - lib/spree/core/controller_helpers/respond_with.rb
640
651
  - lib/spree/core/controller_helpers/search.rb
641
652
  - lib/spree/core/controller_helpers/ssl.rb
653
+ - lib/spree/core/controller_helpers/store.rb
642
654
  - lib/spree/core/controller_helpers/strong_parameters.rb
643
655
  - lib/spree/core/delegate_belongs_to.rb
644
656
  - lib/spree/core/engine.rb
@@ -647,16 +659,12 @@ files:
647
659
  - lib/spree/core/environment_extension.rb
648
660
  - lib/spree/core/importer.rb
649
661
  - lib/spree/core/importer/order.rb
650
- - lib/spree/core/mail_interceptor.rb
651
- - lib/spree/core/mail_method.rb
652
- - lib/spree/core/mail_settings.rb
662
+ - lib/spree/core/importer/product.rb
653
663
  - lib/spree/core/permalinks.rb
654
664
  - lib/spree/core/product_duplicator.rb
655
665
  - lib/spree/core/product_filters.rb
656
- - lib/spree/core/ransackable_attributes.rb
657
666
  - lib/spree/core/routes.rb
658
667
  - lib/spree/core/search/base.rb
659
- - lib/spree/core/token_resource.rb
660
668
  - lib/spree/core/user_address.rb
661
669
  - lib/spree/core/user_payment_source.rb
662
670
  - lib/spree/core/validators/email.rb
@@ -707,6 +715,7 @@ files:
707
715
  - lib/spree/testing_support/factories/stock_item_factory.rb
708
716
  - lib/spree/testing_support/factories/stock_location_factory.rb
709
717
  - lib/spree/testing_support/factories/stock_movement_factory.rb
718
+ - lib/spree/testing_support/factories/store_factory.rb
710
719
  - lib/spree/testing_support/factories/tax_category_factory.rb
711
720
  - lib/spree/testing_support/factories/tax_rate_factory.rb
712
721
  - lib/spree/testing_support/factories/taxon_factory.rb
@@ -760,7 +769,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
760
769
  version: '0'
761
770
  requirements: []
762
771
  rubyforge_project:
763
- rubygems_version: 2.4.5
772
+ rubygems_version: 2.2.2
764
773
  signing_key:
765
774
  specification_version: 4
766
775
  summary: The bare bones necessary for Spree.