solidus_core 2.11.17 → 3.0.0.rc2

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 (146) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spree.js.erb +0 -51
  3. data/app/helpers/spree/store_helper.rb +0 -11
  4. data/app/mailers/spree/carton_mailer.rb +1 -5
  5. data/app/models/concerns/spree/active_storage_adapter/attachment.rb +11 -13
  6. data/app/models/concerns/spree/active_storage_adapter.rb +0 -2
  7. data/app/models/concerns/spree/adjustment_source.rb +0 -15
  8. data/app/models/concerns/spree/calculated_adjustments.rb +0 -18
  9. data/app/models/concerns/spree/soft_deletable.rb +2 -4
  10. data/app/models/concerns/spree/user_address_book.rb +0 -37
  11. data/app/models/concerns/spree/user_methods.rb +2 -11
  12. data/app/models/spree/ability.rb +0 -37
  13. data/app/models/spree/address/name.rb +2 -20
  14. data/app/models/spree/address.rb +8 -187
  15. data/app/models/spree/adjustment.rb +0 -28
  16. data/app/models/spree/base.rb +12 -48
  17. data/app/models/spree/calculator/flexi_rate.rb +0 -5
  18. data/app/models/spree/calculator.rb +0 -11
  19. data/app/models/spree/country.rb +1 -6
  20. data/app/models/spree/credit_card.rb +0 -27
  21. data/app/models/spree/customer_return.rb +1 -4
  22. data/app/models/spree/image/active_storage_attachment.rb +2 -10
  23. data/app/models/spree/image/paperclip_attachment.rb +1 -1
  24. data/app/models/spree/image.rb +0 -7
  25. data/app/models/spree/inventory_unit.rb +0 -21
  26. data/app/models/spree/line_item.rb +2 -45
  27. data/app/models/spree/log_entry.rb +1 -74
  28. data/app/models/spree/order.rb +4 -137
  29. data/app/models/spree/order_cancellations.rb +4 -24
  30. data/app/models/spree/order_shipping.rb +9 -6
  31. data/app/models/spree/order_updater.rb +2 -11
  32. data/app/models/spree/payment/cancellation.rb +3 -22
  33. data/app/models/spree/payment.rb +0 -3
  34. data/app/models/spree/payment_create.rb +1 -13
  35. data/app/models/spree/payment_method/bogus_credit_card.rb +9 -13
  36. data/app/models/spree/payment_method/credit_card.rb +1 -3
  37. data/app/models/spree/payment_method/simple_bogus_credit_card.rb +4 -4
  38. data/app/models/spree/payment_method.rb +2 -106
  39. data/app/models/spree/product/scopes.rb +0 -27
  40. data/app/models/spree/product.rb +0 -39
  41. data/app/models/spree/promotion/actions/create_adjustment.rb +0 -3
  42. data/app/models/spree/promotion/actions/create_item_adjustments.rb +0 -3
  43. data/app/models/spree/promotion/actions/create_quantity_adjustments.rb +0 -3
  44. data/app/models/spree/promotion/rules/taxon.rb +2 -15
  45. data/app/models/spree/promotion.rb +2 -6
  46. data/app/models/spree/promotion_action.rb +2 -12
  47. data/app/models/spree/promotion_code/batch_builder.rb +0 -14
  48. data/app/models/spree/promotion_code.rb +2 -2
  49. data/app/models/spree/promotion_rule.rb +0 -4
  50. data/app/models/spree/refund.rb +0 -60
  51. data/app/models/spree/reimbursement.rb +3 -41
  52. data/app/models/spree/reimbursement_performer.rb +2 -8
  53. data/app/models/spree/reimbursement_type/credit.rb +1 -4
  54. data/app/models/spree/reimbursement_type/reimbursement_helpers.rb +1 -2
  55. data/app/models/spree/reimbursement_type/store_credit.rb +1 -4
  56. data/app/models/spree/return_authorization.rb +1 -4
  57. data/app/models/spree/return_item.rb +1 -19
  58. data/app/models/spree/shipment.rb +1 -54
  59. data/app/models/spree/shipping_method.rb +0 -25
  60. data/app/models/spree/shipping_rate.rb +0 -2
  61. data/app/models/spree/state.rb +0 -4
  62. data/app/models/spree/stock/simple_coordinator.rb +1 -20
  63. data/app/models/spree/stock/splitter/base.rb +2 -7
  64. data/app/models/spree/stock_item.rb +1 -7
  65. data/app/models/spree/store.rb +0 -12
  66. data/app/models/spree/store_credit.rb +0 -8
  67. data/app/models/spree/store_credit_category.rb +0 -32
  68. data/app/models/spree/tax_calculator/shipping_rate.rb +1 -12
  69. data/app/models/spree/tax_rate.rb +0 -27
  70. data/app/models/spree/taxon/active_storage_attachment.rb +0 -5
  71. data/app/models/spree/taxon/paperclip_attachment.rb +0 -5
  72. data/app/models/spree/taxon.rb +0 -11
  73. data/app/models/spree/user_address.rb +0 -5
  74. data/app/models/spree/variant.rb +2 -46
  75. data/config/locales/en.yml +0 -8
  76. data/db/migrate/20180416083007_add_apply_to_all_to_variant_property_rule.rb +1 -1
  77. data/lib/generators/solidus/install/install_generator.rb +13 -2
  78. data/lib/generators/solidus/install/templates/config/initializers/spree.rb.tt +3 -39
  79. data/lib/generators/spree/dummy/dummy_generator.rb +2 -1
  80. data/lib/generators/spree/dummy/templates/rails/database.yml +6 -1
  81. data/lib/generators/spree/dummy/templates/rails/storage.yml +3 -0
  82. data/lib/generators/spree/dummy/templates/rails/test.rb +2 -0
  83. data/lib/spree/app_configuration.rb +6 -89
  84. data/lib/spree/core/class_constantizer.rb +2 -0
  85. data/lib/spree/core/controller_helpers/auth.rb +1 -14
  86. data/lib/spree/core/controller_helpers/order.rb +2 -22
  87. data/lib/spree/core/controller_helpers/payment_parameters.rb +0 -54
  88. data/lib/spree/core/controller_helpers/pricing.rb +0 -8
  89. data/lib/spree/core/controller_helpers/strong_parameters.rb +0 -4
  90. data/lib/spree/core/engine.rb +0 -49
  91. data/lib/spree/core/environment_extension.rb +0 -9
  92. data/lib/spree/core/product_filters.rb +0 -40
  93. data/lib/spree/core/role_configuration.rb +0 -14
  94. data/lib/spree/core/search/base.rb +0 -26
  95. data/lib/spree/core/state_machines.rb +2 -11
  96. data/lib/spree/core/validators/email.rb +1 -1
  97. data/lib/spree/core/version.rb +1 -1
  98. data/lib/spree/core.rb +9 -8
  99. data/lib/spree/event/configuration.rb +0 -5
  100. data/lib/spree/event/subscriber.rb +0 -18
  101. data/lib/spree/event/subscriber_registry.rb +3 -1
  102. data/lib/spree/event.rb +0 -31
  103. data/lib/spree/i18n.rb +0 -22
  104. data/lib/spree/money.rb +3 -18
  105. data/lib/spree/permitted_attributes.rb +3 -60
  106. data/lib/spree/testing_support/blacklist_urls.rb +1 -1
  107. data/lib/spree/testing_support/capybara_ext.rb +0 -30
  108. data/lib/spree/testing_support/controller_requests.rb +0 -82
  109. data/lib/spree/testing_support/dummy_app/migrations.rb +0 -3
  110. data/lib/spree/testing_support/dummy_app.rb +6 -16
  111. data/lib/spree/testing_support/factories/order_factory.rb +0 -1
  112. data/lib/spree/testing_support/factories/refund_factory.rb +0 -1
  113. data/lib/spree/testing_support/factories/user_factory.rb +0 -6
  114. data/lib/spree/testing_support/order_walkthrough.rb +0 -3
  115. data/lib/spree/testing_support/preferences.rb +0 -25
  116. data/lib/spree/testing_support.rb +1 -1
  117. data/lib/tasks/migrations/migrate_default_billing_addresses_to_address_book.rake +20 -15
  118. data/solidus_core.gemspec +1 -25
  119. metadata +9 -94
  120. data/app/mailers/spree/test_mailer.rb +0 -13
  121. data/app/models/concerns/spree/user_payment_source.rb +0 -26
  122. data/app/models/spree/calculator/free_shipping.rb +0 -22
  123. data/app/models/spree/calculator/percent_per_item.rb +0 -51
  124. data/app/models/spree/calculator/price_sack.rb +0 -28
  125. data/app/models/spree/gateway/bogus.rb +0 -13
  126. data/app/models/spree/gateway/bogus_simple.rb +0 -13
  127. data/app/models/spree/gateway.rb +0 -14
  128. data/app/models/spree/order/checkout.rb +0 -244
  129. data/app/models/spree/order_capturing.rb +0 -50
  130. data/app/models/spree/promotion_handler/free_shipping.rb +0 -9
  131. data/lib/generators/spree/install/install_generator.rb +0 -15
  132. data/lib/solidus/migrations/rename_gateways.rb +0 -41
  133. data/lib/spree/core/current_store.rb +0 -24
  134. data/lib/spree/paranoia_deprecations.rb +0 -41
  135. data/lib/spree/preferences/persistable.rb +0 -23
  136. data/lib/spree/promo/environment.rb +0 -12
  137. data/lib/spree/testing_support/bar_ability.rb +0 -19
  138. data/lib/spree/testing_support/fixtures/file.txt +0 -1
  139. data/lib/tasks/core.rake +0 -104
  140. data/lib/tasks/email.rake +0 -12
  141. data/lib/tasks/migrations/copy_order_bill_address_to_credit_card.rake +0 -119
  142. data/lib/tasks/migrations/migrate_shipping_rate_taxes.rake +0 -22
  143. data/lib/tasks/migrations/migrate_user_addresses.rake +0 -34
  144. data/lib/tasks/migrations/rename_gateways.rake +0 -23
  145. data/lib/tasks/order_capturing.rake +0 -27
  146. data/lib/tasks/solidus/check_orders_with_invalid_email.rake +0 -18
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'spree/deprecation'
4
-
5
3
  module Spree
6
4
  module Core
7
5
  module Search
@@ -16,17 +14,6 @@ module Spree
16
14
  prepare(params)
17
15
  end
18
16
 
19
- def current_currency=(currency)
20
- self.pricing_options = Spree::Config.pricing_options_class.new(
21
- pricing_options.desired_attributes.merge(currency: currency)
22
- )
23
- end
24
-
25
- def current_currency
26
- pricing_options.currency
27
- end
28
- deprecate :current_currency, :current_currency=, deprecator: Spree::Deprecation
29
-
30
17
  def retrieve_products
31
18
  @products = get_base_scope
32
19
  curr_page = @properties[:page] || 1
@@ -37,19 +24,6 @@ module Spree
37
24
  @products = @products.page(curr_page).per(@properties[:per_page])
38
25
  end
39
26
 
40
- def method_missing(name)
41
- if @properties.key?(name)
42
- Spree::Deprecation.warn "Accessing Searcher's #{name} property using #{self.class.name}##{name} is deprecated without replacement"
43
- @properties[name]
44
- else
45
- super
46
- end
47
- end
48
-
49
- def respond_to_missing?(name)
50
- @properties.key?(name) || super(name)
51
- end
52
-
53
27
  protected
54
28
 
55
29
  def get_base_scope
@@ -68,17 +68,8 @@ module Spree
68
68
 
69
69
  def order
70
70
  @order ||= begin
71
- if Spree::Config.use_legacy_order_state_machine
72
- Spree::Deprecation.warn(
73
- "Spree::Order state machine defined in Spree::Order::Checkout is deprecated. " \
74
- "Future versions of Solidus will use Spree::Core::StateMachines::Order}",
75
- caller
76
- )
77
- 'Spree::Order::Checkout'
78
- else
79
- require 'spree/core/state_machines/order'
80
- 'Spree::Core::StateMachines::Order'
81
- end
71
+ require 'spree/core/state_machines/order'
72
+ 'Spree::Core::StateMachines::Order'
82
73
  end
83
74
 
84
75
  @order.constantize
@@ -12,7 +12,7 @@ module Spree
12
12
  # end
13
13
  #
14
14
  class EmailValidator < ActiveModel::EachValidator
15
- EMAIL_REGEXP = URI::MailTo::EMAIL_REGEXP
15
+ EMAIL_REGEXP = /\A([^@\.]|[^@\.]([^@\s]*)[^@\.])@([^@\s]+\.)+[^@\s]+\z/
16
16
 
17
17
  def validate_each(record, attribute, value)
18
18
  unless EMAIL_REGEXP.match? value
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Spree
4
- VERSION = "2.11.17"
4
+ VERSION = "3.0.0.rc2"
5
5
 
6
6
  def self.solidus_version
7
7
  VERSION
data/lib/spree/core.rb CHANGED
@@ -1,6 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'rails/all'
3
+ require "action_controller/railtie"
4
+ require "action_mailer/railtie"
5
+ require "action_view/railtie"
6
+ require "active_job/railtie"
7
+ require "active_model/railtie"
8
+ require "active_record/railtie"
9
+ require "active_storage/engine"
10
+ require "sprockets/railtie"
11
+
4
12
  require 'acts_as_list'
5
13
  require 'awesome_nested_set'
6
14
  require 'cancan'
@@ -9,12 +17,10 @@ require 'kaminari/activerecord'
9
17
  require 'mail'
10
18
  require 'monetize'
11
19
  require 'paperclip'
12
- require 'paranoia'
13
20
  require 'ransack'
14
21
  require 'state_machines-activerecord'
15
22
 
16
23
  require 'spree/deprecation'
17
- require 'spree/paranoia_deprecations'
18
24
 
19
25
  # This is required because ActiveModel::Validations#invalid? conflicts with the
20
26
  # invalid state of a Payment. In the future this should be removed.
@@ -47,9 +53,6 @@ module Spree
47
53
 
48
54
  module Core
49
55
  class GatewayError < RuntimeError; end
50
-
51
- include ActiveSupport::Deprecation::DeprecatedConstantAccessor
52
- deprecate_constant 'DestroyWithOrdersError', ActiveRecord::DeleteRestrictionError, deprecator: Spree::Deprecation
53
56
  end
54
57
  end
55
58
 
@@ -61,7 +64,6 @@ require 'spree/core/environment_extension'
61
64
  require 'spree/core/environment/calculators'
62
65
  require 'spree/core/environment/promotions'
63
66
  require 'spree/core/environment'
64
- require 'spree/promo/environment'
65
67
  require 'spree/migrations'
66
68
  require 'spree/migration_helpers'
67
69
  require 'spree/event'
@@ -75,7 +77,6 @@ require 'spree/permitted_attributes'
75
77
  require 'spree/core/importer'
76
78
  require 'spree/core/permalinks'
77
79
  require 'spree/core/product_duplicator'
78
- require 'spree/core/current_store'
79
80
  require 'spree/core/controller_helpers/auth'
80
81
  require 'spree/core/controller_helpers/common'
81
82
  require 'spree/core/controller_helpers/current_host'
@@ -7,11 +7,6 @@ module Spree
7
7
  @subscriber_registry ||= Spree::Event::SubscriberRegistry.new
8
8
  end
9
9
 
10
- def subscribers
11
- Spree::Deprecation.warn("`Spree::Config.events.subscribers` is deprecated. Please use `Spree::Config.events.subscriber_registry`.", caller)
12
- subscriber_registry.send(:registry).keys.map { |module_name| module_name.constantize }
13
- end
14
-
15
10
  attr_writer :adapter, :suffix, :autoload_subscribers
16
11
 
17
12
  def autoload_subscribers
@@ -59,14 +59,6 @@ module Spree
59
59
  # end
60
60
  # end
61
61
  def event_action(method_name, event_name: nil)
62
- mattr_writer "#{method_name}_handler"
63
-
64
- define_method "#{method_name}_handler" do
65
- Spree::Deprecation.warn("#{name}.#{method_name}_handler and #{name}.#{method_name}_handler= from the old events mapping interface are deprecated. Please use the new mapping stored in Spree::Event.subscribers.", caller)
66
-
67
- class_variable_get("@@#{method_name}_handler")
68
- end
69
-
70
62
  event_actions[method_name] = (event_name || method_name).to_s
71
63
  end
72
64
 
@@ -89,16 +81,6 @@ module Spree
89
81
  def deactivate(event_action_name = nil)
90
82
  Spree::Event.subscriber_registry.deactivate_subscriber(self, event_action_name)
91
83
  end
92
-
93
- def subscribe!
94
- Spree::Deprecation.warn("#{self}.subscribe! is deprecated. Please use `#{self}.activate`.", caller)
95
- activate
96
- end
97
-
98
- def unsubscribe!
99
- Spree::Deprecation.warn("#{self}.unsubscribe! is deprecated. Please use `#{self}.deactivate`.", caller)
100
- deactivate
101
- end
102
84
  end
103
85
  end
104
86
  end
@@ -35,7 +35,9 @@ module Spree
35
35
  subscription = Spree::Event.subscribe(event_name) { |event| subscriber.send(event_action, event) }
36
36
 
37
37
  # deprecated mappings, to be removed when Solidus 2.10 is not supported anymore:
38
- subscriber.send("#{event_action}_handler=", subscription)
38
+ if subscriber.respond_to?("#{event_action}_handler=")
39
+ subscriber.send("#{event_action}_handler=", subscription)
40
+ end
39
41
 
40
42
  registry[subscriber.name][event_action] = subscription
41
43
  end
data/lib/spree/event.rb CHANGED
@@ -29,20 +29,6 @@ module Spree
29
29
  end
30
30
  end
31
31
 
32
- # @deprecated Loads all Solidus' core and application's event subscribers files.
33
- # The latter are loaded automatically only when the preference
34
- # Spree::Config.events.autoload_subscribers is set to a truthy value.
35
- #
36
- # Files must be placed under the directory `app/subscribers` and their
37
- # name must end with `_subscriber.rb`.
38
- #
39
- # Loading the files has the side effect of adding their module to the
40
- # list in Spree::Event.subscribers.
41
- def require_subscriber_files
42
- Spree::Deprecation.warn("#{self}.require_subscriber_files is deprecated and will be removed in Solidus 3.0.", caller)
43
- subscriber_registry.send(:require_subscriber_files)
44
- end
45
-
46
32
  # Subscribe to an event with the given name. The provided block is executed
47
33
  # every time the subscribed event is fired.
48
34
  #
@@ -114,23 +100,6 @@ module Spree
114
100
  Spree::Config.events.adapter
115
101
  end
116
102
 
117
- # The suffix used for namespacing Solidus events, defaults to
118
- # `.spree`
119
- #
120
- # @see Spree::Event::Configuration#suffix
121
- def suffix
122
- Spree::Deprecation.warn "This method is deprecated and will be removed. Please use Event::Adapters::ActiveSupportNotifications#suffix"
123
- Spree::Config.events.suffix
124
- end
125
-
126
- # @deprecated
127
- # @!attribute [r] subscribers
128
- # @return [Array<Spree::Event::Subscriber>] A list of subscribers used to support class reloading for Spree::Event::Subscriber instances
129
- def subscribers
130
- Spree::Deprecation.warn("`#{self}.subscribers` is deprecated. Please use `#{self}.subscriber_registry` instead.", caller)
131
- Spree::Config.events.subscribers
132
- end
133
-
134
103
  # @!attribute [r] subscribers
135
104
  # @return <Spree::Event::SubscriberRegistry> The registry for supporting class reloading for Spree::Event::Subscriber instances
136
105
  def subscriber_registry
data/lib/spree/i18n.rb CHANGED
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'i18n'
4
- require 'active_support/core_ext/array/extract_options'
5
- require 'action_view'
6
4
 
7
5
  module Spree
8
6
  def self.i18n_available_locales
@@ -11,29 +9,9 @@ module Spree
11
9
  end
12
10
  end
13
11
 
14
- class TranslationHelperWrapper # :nodoc:
15
- include ActionView::Helpers::TranslationHelper
16
- end
17
-
18
12
  # This value is used as a count for the pluralization helpers related to I18n
19
13
  # ex: Spree::Order.model_name.human(count: Spree::I18N_GENERIC_PLURAL)
20
14
  # Related to Solidus issue #1164, this is needed to avoid problems with
21
15
  # some pluralization calculators
22
16
  I18N_GENERIC_PLURAL = 2.1
23
-
24
- class << self
25
- # Add spree namespace and delegate to Rails TranslationHelper for some nice
26
- # extra functionality. e.g return reasonable strings for missing translations
27
-
28
- def translate(key, options = {})
29
- Spree::Deprecation.warn <<-WARN.squish
30
- Spree.t & Spree.translate have been deprecated.
31
- Instead use I18n.t('spree.your_translation_key')
32
- WARN
33
- options[:scope] = [:spree, *options[:scope]]
34
- TranslationHelperWrapper.new.translate(key, **options)
35
- end
36
-
37
- alias_method :t, :translate
38
- end
39
17
  end
data/lib/spree/money.rb CHANGED
@@ -6,7 +6,6 @@ module Spree
6
6
  class Money
7
7
  include Comparable
8
8
  DifferentCurrencyError = Class.new(StandardError)
9
- RUBY_NUMERIC_STRING = /\A-?\d+(\.\d+)?\z/
10
9
 
11
10
  class <<self
12
11
  attr_accessor :default_formatting_rules
@@ -37,15 +36,8 @@ module Spree
37
36
  @money = amount
38
37
  else
39
38
  currency = (options[:currency] || Spree::Config[:currency])
40
- if amount.to_s =~ RUBY_NUMERIC_STRING
41
- @money = Monetize.from_string(amount, currency)
42
- else
43
- @money = Spree::Money.parse_to_money(amount, currency)
44
- Spree::Deprecation.warn <<-WARN.squish, caller
45
- Spree::Money was initialized with #{amount.inspect}, which will not be supported in the future.
46
- Instead use Spree::Money.new(#{@money.to_s.inspect}, options) or Spree::Money.parse(#{amount.inspect})
47
- WARN
48
- end
39
+
40
+ @money = Monetize.from_string(amount, currency)
49
41
  end
50
42
  @options = Spree::Money.default_formatting_rules.merge(options)
51
43
  end
@@ -80,14 +72,7 @@ module Spree
80
72
  def to_html(options = { html_wrap: true })
81
73
  output = format(options)
82
74
  # Maintain compatibility by checking html option renamed to html_wrap.
83
- if options[:html] || options[:html] == false
84
- Spree::Deprecation.warn <<-WARN.squish, caller
85
- Spree::Money#to_html called with Spree::Money#to_html(html: #{options[:html].inspect}),
86
- which will not be supported in the future.
87
- Instead use :html_wrap e.g. Spree::Money#to_html(html_wrap: #{options[:html].inspect})
88
- WARN
89
- end
90
- if options[:html_wrap] || options[:html]
75
+ if options[:html_wrap]
91
76
  output = output.html_safe
92
77
  end
93
78
  output
@@ -39,8 +39,7 @@ module Spree
39
39
  mattr_reader(*ATTRIBUTES)
40
40
 
41
41
  @@address_attributes = [
42
- :id, :name, :firstname, :lastname, :first_name, :last_name,
43
- :address1, :address2, :city, :country_id, :state_id,
42
+ :id, :name, :address1, :address2, :city, :country_id, :state_id,
44
43
  :zipcode, :phone, :state_name, :country_iso, :alternative_phone, :company,
45
44
  country: [:iso, :name, :iso3, :iso_name],
46
45
  state: [:name, :abbr]
@@ -52,13 +51,7 @@ module Spree
52
51
  :month, :year, :expiry, :first_name, :last_name, :name
53
52
  ]
54
53
 
55
- @@customer_return_attributes = [
56
- :stock_location_id, return_items_attributes: [
57
- :id, :inventory_unit_id, :return_authorization_id, :returned, :amount,
58
- :reception_status_event, :acceptance_status, :exchange_variant_id,
59
- :resellable, :return_reason_id
60
- ]
61
- ]
54
+ @@customer_return_attributes = [:stock_location_id, return_items_attributes: [:id, :inventory_unit_id, :return_authorization_id, :returned, :amount, :reception_status_event, :acceptance_status, :exchange_variant_id, :resellable]]
62
55
 
63
56
  @@image_attributes = [:alt, :attachment, :position, :viewable_type, :viewable_id]
64
57
 
@@ -96,7 +89,7 @@ module Spree
96
89
  :number, :month, :year, :expiry, :verification_value,
97
90
  :first_name, :last_name, :cc_type, :gateway_customer_profile_id,
98
91
  :gateway_payment_profile_id, :last_digits, :name, :encrypted_data,
99
- :existing_card_id, :wallet_payment_source_id, address_attributes: address_attributes
92
+ :wallet_payment_source_id, address_attributes: address_attributes
100
93
  ]
101
94
 
102
95
  @@stock_item_attributes = [:variant, :stock_location, :backorderable, :variant_id]
@@ -149,61 +142,11 @@ module Spree
149
142
  ]
150
143
 
151
144
  @@checkout_payment_attributes = [
152
- :coupon_code,
153
145
  payments_attributes: payment_attributes + [
154
146
  source_attributes: source_attributes
155
147
  ]
156
148
  ]
157
149
 
158
150
  @@checkout_confirm_attributes = []
159
-
160
- def self.checkout_attributes
161
- Spree::Deprecation.warn <<-WARN.squish, caller
162
- checkout_attributes is deprecated, please use the permitted
163
- attributes set for the specific step that needs to be updated.
164
-
165
- E.g. permitted_checkout_address_attributes
166
- WARN
167
-
168
- CheckoutAdditionalAttributes.new(
169
- checkout_address_attributes +
170
- checkout_delivery_attributes +
171
- checkout_payment_attributes +
172
- checkout_confirm_attributes
173
- )
174
- end
175
- end
176
-
177
- class CheckoutAdditionalAttributes < Array
178
- def <<(*attributes)
179
- super
180
-
181
- inject_attributes_to_all_steps(attributes, :<<)
182
- end
183
-
184
- def push(*attributes)
185
- super
186
-
187
- inject_attributes_to_all_steps(attributes, :push)
188
- end
189
- alias append push
190
-
191
- def prepend(*attributes)
192
- super
193
-
194
- inject_attributes_to_all_steps(attributes, :prepend)
195
- end
196
- alias unshift prepend
197
-
198
- private
199
-
200
- def inject_attributes_to_all_steps(attributes, method_name)
201
- attributes.each do |attribute|
202
- PermittedAttributes.checkout_address_attributes.send(method_name, attribute)
203
- PermittedAttributes.checkout_delivery_attributes.send(method_name, attribute)
204
- PermittedAttributes.checkout_payment_attributes.send(method_name, attribute)
205
- PermittedAttributes.checkout_confirm_attributes.send(method_name, attribute)
206
- end
207
- end
208
151
  end
209
152
  end
@@ -5,7 +5,7 @@ module Spree
5
5
  module BlacklistUrls
6
6
  def setup_url_blacklist(browser)
7
7
  if browser.respond_to?(:url_blacklist)
8
- browser.url_blacklist = ['https://fonts.googleapis.com']
8
+ browser.url_blacklist = ['http://fonts.googleapis.com']
9
9
  end
10
10
  end
11
11
  end
@@ -35,18 +35,6 @@ module Spree
35
35
  find("td:nth-of-type(#{num})").text
36
36
  end
37
37
 
38
- def fill_in_quantity(table_column, selector, quantity)
39
- Spree::Deprecation.warn <<-WARN.strip_heredoc
40
- fill_in_quantity is deprecated. Instead use:
41
- within(#{table_column.inspect}) do
42
- fill_in #{selector.inspect}, with: #{quantity.inspect}
43
- end
44
- WARN
45
- within(table_column) do
46
- fill_in selector, with: quantity
47
- end
48
- end
49
-
50
38
  def select2_search(value, options)
51
39
  options = {
52
40
  search: value, # by default search for the value
@@ -122,21 +110,6 @@ module Spree
122
110
  # find the original.
123
111
  find('label:not(.select2-offscreen)', text: /#{Regexp.escape(text)}/i, match: :one)
124
112
  end
125
-
126
- def wait_for_ajax
127
- Spree::Deprecation.warn <<-WARN.squish, caller
128
- wait_for_ajax has been deprecated.
129
- Please refer to the capybara documentation on how to properly wait for asyncronous behavior:
130
- https://github.com/teamcapybara/capybara#asynchronous-javascript-ajax-and-friends
131
- WARN
132
-
133
- counter = 0
134
- while page.evaluate_script("typeof($) === 'undefined' || $.active > 0")
135
- counter += 1
136
- sleep(0.1)
137
- raise "AJAX request took longer than 5 seconds." if counter >= 50
138
- end
139
- end
140
113
  end
141
114
  end
142
115
  end
@@ -156,9 +129,6 @@ RSpec::Matchers.define :have_meta do |name, expected|
156
129
  end
157
130
  end
158
131
 
159
- # @private
160
- CapybaraExt = ActiveSupport::Deprecation::DeprecatedConstantProxy.new('CapybaraExt', 'Spree::TestingSupport::CapybaraExt')
161
-
162
132
  RSpec.configure do |c|
163
133
  c.include Spree::TestingSupport::CapybaraExt
164
134
  end
@@ -2,23 +2,12 @@
2
2
 
3
3
  module Spree
4
4
  module TestingSupport
5
- # A module providing convenience methods to test Solidus controllers
6
- # in Rails controller/functional tests. Possibly from inside an
7
- # application with a mounted Solidus engine.
8
- #
9
5
  # *There is generaly no need* to use this module. Instead, in
10
6
  # a functional/controller test against a Spree controller, just
11
7
  # use standard Rails functionality by including:
12
8
  #
13
9
  # routes { Spree::Core::Engine.routes }
14
10
  #
15
- # And then use standard Rails test `get`, `post` etc methods.
16
- #
17
- # But some legacy code uses this ControllerRequests helper. It must
18
- # be included only in tests against Spree controllers, it will interfere
19
- # with tests against local app or other engine controllers, resulting
20
- # in ActionController::UrlGenerationError.
21
- #
22
11
  # To use this module, inside your spec_helper.rb, include this module inside
23
12
  # the RSpec.configure block by:
24
13
  #
@@ -26,83 +15,12 @@ module Spree
26
15
  # RSpec.configure do |c|
27
16
  # c.include Spree::TestingSupport::ControllerRequests, spree_controller: true
28
17
  # end
29
- #
30
- # Then, in your controller tests against spree controllers, you can access
31
- # tag to use this module, and access spree routes like this:
32
- #
33
- # require 'spec_helper'
34
- #
35
- # describe Spree::ProductsController, :spree_controller do
36
- # it "can see all the products" do
37
- # spree_get :index
38
- # end
39
- # end
40
- #
41
- # Use spree_get, spree_post, spree_put or spree_delete to make requests to
42
- # the Spree engine, and use regular get, post, put or delete to make
43
- # requests to your application.
44
18
  module ControllerRequests
45
19
  extend ActiveSupport::Concern
46
20
 
47
21
  included do
48
22
  routes { Spree::Core::Engine.routes }
49
23
  end
50
-
51
- def spree_get(action, parameters = nil, session = nil, flash = nil)
52
- process_spree_action(action, parameters, session, flash, "GET")
53
- end
54
- deprecate spree_get: :get, deprecator: Spree::Deprecation
55
-
56
- # Executes a request simulating POST HTTP method and set/volley the response
57
- def spree_post(action, parameters = nil, session = nil, flash = nil)
58
- process_spree_action(action, parameters, session, flash, "POST")
59
- end
60
- deprecate spree_post: :post, deprecator: Spree::Deprecation
61
-
62
- # Executes a request simulating PUT HTTP method and set/volley the response
63
- def spree_put(action, parameters = nil, session = nil, flash = nil)
64
- process_spree_action(action, parameters, session, flash, "PUT")
65
- end
66
- deprecate spree_put: :put, deprecator: Spree::Deprecation
67
-
68
- # Executes a request simulating DELETE HTTP method and set/volley the response
69
- def spree_delete(action, parameters = nil, session = nil, flash = nil)
70
- process_spree_action(action, parameters, session, flash, "DELETE")
71
- end
72
- deprecate spree_delete: :delete, deprecator: Spree::Deprecation
73
-
74
- def spree_xhr_get(action, parameters = nil, session = nil, flash = nil)
75
- process_spree_xhr_action(action, parameters, session, flash, :get)
76
- end
77
- deprecate spree_xhr_get: :get, deprecator: Spree::Deprecation
78
-
79
- def spree_xhr_post(action, parameters = nil, session = nil, flash = nil)
80
- process_spree_xhr_action(action, parameters, session, flash, :post)
81
- end
82
- deprecate spree_xhr_post: :post, deprecator: Spree::Deprecation
83
-
84
- def spree_xhr_put(action, parameters = nil, session = nil, flash = nil)
85
- process_spree_xhr_action(action, parameters, session, flash, :put)
86
- end
87
- deprecate spree_xhr_put: :put, deprecator: Spree::Deprecation
88
-
89
- def spree_xhr_delete(action, parameters = nil, session = nil, flash = nil)
90
- process_spree_xhr_action(action, parameters, session, flash, :delete)
91
- end
92
- deprecate spree_xhr_delete: :delete, deprecator: Spree::Deprecation
93
-
94
- private
95
-
96
- def process_spree_action(action, parameters = nil, session = nil, flash = nil, method = "GET")
97
- parameters ||= {}
98
- process(action, method, parameters, session, flash)
99
- end
100
-
101
- def process_spree_xhr_action(action, parameters = nil, session = nil, flash = nil, method = :get)
102
- parameters ||= {}
103
- parameters.reverse_merge!(format: :json)
104
- xml_http_request(method, action, parameters, session, flash)
105
- end
106
24
  end
107
25
  end
108
26
  end
@@ -27,9 +27,6 @@ module DummyApp
27
27
  ActiveRecord::Base.remove_connection
28
28
 
29
29
  sh 'rake db:reset VERBOSE=false'
30
- if ENV['ENABLE_ACTIVE_STORAGE']
31
- sh 'rake active_storage:install db:migrate VERBOSE=false'
32
- end
33
30
 
34
31
  # We have a brand new database, so we must re-establish our connection
35
32
  ActiveRecord::Base.establish_connection
@@ -7,6 +7,7 @@ require 'rails'
7
7
  require 'active_record/railtie'
8
8
  require 'action_controller/railtie'
9
9
  require 'action_mailer/railtie'
10
+ require 'active_storage/engine'
10
11
 
11
12
  Rails.env = 'test'
12
13
 
@@ -45,7 +46,6 @@ module DummyApp
45
46
  end
46
47
 
47
48
  class Application < ::Rails::Application
48
- config.has_many_inverse = true
49
49
  config.eager_load = false
50
50
  config.cache_classes = true
51
51
  config.cache_store = :memory_store
@@ -68,7 +68,7 @@ module DummyApp
68
68
 
69
69
  config.storage_path = Rails.root.join('tmp', 'storage')
70
70
 
71
- if ENV['ENABLE_ACTIVE_STORAGE']
71
+ unless ENV['DISABLE_ACTIVE_STORAGE']
72
72
  initializer 'solidus.active_storage' do
73
73
  config.active_storage.service_configurations = {
74
74
  test: {
@@ -77,7 +77,6 @@ module DummyApp
77
77
  }
78
78
  }
79
79
  config.active_storage.service = :test
80
- config.active_storage.variant_processor = ENV.fetch('ACTIVE_STORAGE_VARIANT_PROCESSOR', :mini_magick).to_sym
81
80
  end
82
81
  end
83
82
 
@@ -118,20 +117,11 @@ end
118
117
 
119
118
  Spree.user_class = 'Spree::LegacyUser'
120
119
  Spree.config do |config|
121
- config.use_legacy_address_state_validator = false
122
120
  config.mails_from = "store@example.com"
123
- config.raise_with_invalid_currency = false
124
- config.redirect_back_on_unauthorized = true
125
- config.run_order_validations_on_order_updater = true
126
- config.use_combined_first_and_last_name_in_address = true
127
- config.use_legacy_order_state_machine = false
128
- config.use_custom_cancancan_actions = false
129
- config.consider_actionless_promotion_active = false
130
- config.use_legacy_store_credit_reimbursement_category_name = false
131
-
132
- if ENV['ENABLE_ACTIVE_STORAGE']
133
- config.image_attachment_module = 'Spree::Image::ActiveStorageAttachment'
134
- config.taxon_attachment_module = 'Spree::Taxon::ActiveStorageAttachment'
121
+
122
+ if ENV['DISABLE_ACTIVE_STORAGE']
123
+ config.image_attachment_module = 'Spree::Image::PaperclipAttachment'
124
+ config.taxon_attachment_module = 'Spree::Taxon::PaperclipAttachment'
135
125
  end
136
126
  end
137
127
 
@@ -30,7 +30,6 @@ FactoryBot.define do
30
30
  after(:build) do |order, evaluator|
31
31
  order.line_items << build(
32
32
  :line_item,
33
- order: order,
34
33
  price: evaluator.line_items_price
35
34
  )
36
35
  end
@@ -18,7 +18,6 @@ FactoryBot.define do
18
18
 
19
19
  amount { 100.00 }
20
20
  transaction_id { generate(:refund_transaction_id) }
21
- perform_after_create { false }
22
21
  payment do
23
22
  association(:payment, state: 'completed', amount: payment_amount)
24
23
  end