spree_core 3.3.6 → 3.4.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (230) hide show
  1. checksums.yaml +4 -4
  2. data/app/helpers/spree/base_helper.rb +17 -18
  3. data/app/helpers/spree/products_helper.rb +5 -5
  4. data/app/models/concerns/spree/calculated_adjustments.rb +4 -3
  5. data/app/models/concerns/spree/default_price.rb +4 -5
  6. data/app/models/concerns/spree/display_money.rb +1 -1
  7. data/app/models/concerns/spree/named_type.rb +1 -1
  8. data/app/models/concerns/spree/ransackable_attributes.rb +5 -6
  9. data/app/models/concerns/spree/user_address.rb +6 -6
  10. data/app/models/concerns/spree/user_methods.rb +3 -3
  11. data/app/models/concerns/spree/user_payment_source.rb +4 -2
  12. data/app/models/concerns/spree/user_reporting.rb +1 -1
  13. data/app/models/spree/ability.rb +3 -3
  14. data/app/models/spree/address.rb +13 -9
  15. data/app/models/spree/adjustable/adjuster/promotion.rb +1 -1
  16. data/app/models/spree/adjustable/adjustments_updater.rb +2 -2
  17. data/app/models/spree/adjustable/promotion_accumulator.rb +6 -4
  18. data/app/models/spree/adjustment.rb +2 -3
  19. data/app/models/spree/app_configuration.rb +5 -6
  20. data/app/models/spree/base.rb +1 -1
  21. data/app/models/spree/calculator/default_tax.rb +4 -5
  22. data/app/models/spree/calculator/flat_percent_item_total.rb +1 -1
  23. data/app/models/spree/calculator/flat_rate.rb +3 -3
  24. data/app/models/spree/calculator/flexi_rate.rb +5 -5
  25. data/app/models/spree/calculator/price_sack.rb +9 -9
  26. data/app/models/spree/calculator/shipping/flat_percent_item_total.rb +1 -1
  27. data/app/models/spree/calculator/shipping/flat_rate.rb +3 -3
  28. data/app/models/spree/calculator/shipping/flexi_rate.rb +7 -7
  29. data/app/models/spree/calculator/shipping/per_item.rb +2 -2
  30. data/app/models/spree/calculator/shipping/price_sack.rb +4 -4
  31. data/app/models/spree/calculator/tiered_flat_rate.rb +3 -2
  32. data/app/models/spree/calculator/tiered_percent.rb +4 -3
  33. data/app/models/spree/calculator.rb +4 -4
  34. data/app/models/spree/classification.rb +2 -2
  35. data/app/models/spree/credit_card.rb +1 -1
  36. data/app/models/spree/exchange.rb +4 -5
  37. data/app/models/spree/gateway/bogus.rb +20 -20
  38. data/app/models/spree/gateway/bogus_simple.rb +2 -4
  39. data/app/models/spree/gateway.rb +4 -4
  40. data/app/models/spree/image.rb +3 -3
  41. data/app/models/spree/inventory_unit.rb +30 -30
  42. data/app/models/spree/line_item.rb +7 -9
  43. data/app/models/spree/option_type.rb +1 -1
  44. data/app/models/spree/order/checkout.rb +5 -5
  45. data/app/models/spree/order/currency_updater.rb +1 -4
  46. data/app/models/spree/order/payments.rb +4 -4
  47. data/app/models/spree/order/store_credit.rb +2 -2
  48. data/app/models/spree/order.rb +11 -29
  49. data/app/models/spree/order_contents.rb +6 -5
  50. data/app/models/spree/order_inventory.rb +3 -4
  51. data/app/models/spree/order_updater.rb +13 -14
  52. data/app/models/spree/payment/processing.rb +25 -26
  53. data/app/models/spree/payment.rb +72 -79
  54. data/app/models/spree/payment_capture_event.rb +1 -1
  55. data/app/models/spree/payment_method/check.rb +1 -1
  56. data/app/models/spree/payment_method/store_credit.rb +5 -5
  57. data/app/models/spree/payment_method.rb +7 -7
  58. data/app/models/spree/preferences/configuration.rb +6 -9
  59. data/app/models/spree/preferences/preferable.rb +11 -11
  60. data/app/models/spree/preferences/preferable_class_methods.rb +2 -3
  61. data/app/models/spree/preferences/scoped_store.rb +6 -5
  62. data/app/models/spree/preferences/store.rb +9 -14
  63. data/app/models/spree/price.rb +1 -1
  64. data/app/models/spree/product/scopes.rb +49 -49
  65. data/app/models/spree/product.rb +16 -16
  66. data/app/models/spree/promotion/actions/create_item_adjustments.rb +2 -1
  67. data/app/models/spree/promotion/actions/free_shipping.rb +1 -1
  68. data/app/models/spree/promotion/rules/first_order.rb +7 -6
  69. data/app/models/spree/promotion/rules/item_total.rb +3 -5
  70. data/app/models/spree/promotion/rules/one_use_per_user.rb +1 -2
  71. data/app/models/spree/promotion/rules/option_value.rb +14 -6
  72. data/app/models/spree/promotion/rules/product.rb +4 -4
  73. data/app/models/spree/promotion/rules/taxon.rb +6 -6
  74. data/app/models/spree/promotion/rules/user.rb +3 -3
  75. data/app/models/spree/promotion/rules/user_logged_in.rb +1 -1
  76. data/app/models/spree/promotion.rb +15 -16
  77. data/app/models/spree/promotion_action.rb +1 -1
  78. data/app/models/spree/promotion_handler/cart.rb +3 -2
  79. data/app/models/spree/promotion_handler/free_shipping.rb +1 -3
  80. data/app/models/spree/promotion_handler/page.rb +3 -3
  81. data/app/models/spree/promotion_rule.rb +5 -4
  82. data/app/models/spree/refund.rb +8 -8
  83. data/app/models/spree/reimbursement/credit.rb +1 -1
  84. data/app/models/spree/reimbursement/reimbursement_type_engine.rb +1 -3
  85. data/app/models/spree/reimbursement.rb +4 -8
  86. data/app/models/spree/reimbursement_performer.rb +0 -5
  87. data/app/models/spree/reimbursement_tax_calculator.rb +5 -12
  88. data/app/models/spree/reimbursement_type.rb +2 -2
  89. data/app/models/spree/return_authorization.rb +22 -26
  90. data/app/models/spree/return_item/eligibility_validator/default.rb +3 -3
  91. data/app/models/spree/return_item/eligibility_validator/inventory_shipped.rb +2 -2
  92. data/app/models/spree/return_item/eligibility_validator/no_reimbursements.rb +2 -2
  93. data/app/models/spree/return_item/eligibility_validator/order_completed.rb +2 -2
  94. data/app/models/spree/return_item/eligibility_validator/rma_required.rb +2 -3
  95. data/app/models/spree/return_item/eligibility_validator/time_since_purchase.rb +2 -2
  96. data/app/models/spree/return_item.rb +15 -19
  97. data/app/models/spree/returns_calculator.rb +1 -2
  98. data/app/models/spree/shipment.rb +14 -35
  99. data/app/models/spree/shipment_handler.rb +10 -12
  100. data/app/models/spree/shipping_calculator.rb +5 -6
  101. data/app/models/spree/shipping_method.rb +3 -3
  102. data/app/models/spree/shipping_rate.rb +2 -2
  103. data/app/models/spree/state.rb +2 -2
  104. data/app/models/spree/stock/availability_validator.rb +1 -1
  105. data/app/models/spree/stock/content_item.rb +2 -3
  106. data/app/models/spree/stock/coordinator.rb +3 -2
  107. data/app/models/spree/stock/differentiator.rb +3 -2
  108. data/app/models/spree/stock/estimator.rb +7 -5
  109. data/app/models/spree/stock/package.rb +5 -5
  110. data/app/models/spree/stock/packer.rb +1 -1
  111. data/app/models/spree/stock/prioritizer.rb +5 -7
  112. data/app/models/spree/stock/quantifier.rb +0 -1
  113. data/app/models/spree/stock/splitter/backordered.rb +2 -4
  114. data/app/models/spree/stock/splitter/base.rb +3 -2
  115. data/app/models/spree/stock/splitter/shipping_category.rb +2 -1
  116. data/app/models/spree/stock_item.rb +1 -1
  117. data/app/models/spree/stock_location.rb +12 -11
  118. data/app/models/spree/stock_movement.rb +1 -3
  119. data/app/models/spree/stock_transfer.rb +1 -1
  120. data/app/models/spree/store.rb +4 -4
  121. data/app/models/spree/store_credit.rb +3 -3
  122. data/app/models/spree/tax_category.rb +1 -1
  123. data/app/models/spree/tax_rate.rb +10 -10
  124. data/app/models/spree/taxon.rb +13 -13
  125. data/app/models/spree/taxonomy.rb +9 -8
  126. data/app/models/spree/validations/db_maximum_length_validator.rb +2 -3
  127. data/app/models/spree/variant.rb +30 -41
  128. data/app/models/spree/zone.rb +10 -10
  129. data/app/validators/db_maximum_length_validator.rb +5 -5
  130. data/config/initializers/acts_as_taggable_on.rb +3 -3
  131. data/config/initializers/assets.rb +1 -1
  132. data/config/initializers/friendly_id.rb +1 -1
  133. data/config/initializers/premailer_assets.rb +1 -1
  134. data/config/locales/en.yml +8 -2
  135. data/db/default/spree/states.rb +1 -0
  136. data/lib/generators/spree/custom_user/custom_user_generator.rb +12 -15
  137. data/lib/generators/spree/install/install_generator.rb +45 -32
  138. data/lib/spree/core/components.rb +3 -3
  139. data/lib/spree/core/controller_helpers/auth.rb +5 -10
  140. data/lib/spree/core/controller_helpers/common.rb +2 -3
  141. data/lib/spree/core/controller_helpers/order.rb +3 -7
  142. data/lib/spree/core/controller_helpers/respond_with.rb +4 -4
  143. data/lib/spree/core/engine.rb +3 -3
  144. data/lib/spree/core/environment/calculators.rb +0 -1
  145. data/lib/spree/core/environment_extension.rb +8 -8
  146. data/lib/spree/core/importer/order.rb +64 -67
  147. data/lib/spree/core/importer/product.rb +10 -9
  148. data/lib/spree/core/product_filters.rb +17 -18
  149. data/lib/spree/core/routes.rb +2 -6
  150. data/lib/spree/core/search/base.rb +62 -59
  151. data/lib/spree/core/version.rb +1 -1
  152. data/lib/spree/core.rb +4 -6
  153. data/lib/spree/i18n.rb +3 -5
  154. data/lib/spree/localized_number.rb +0 -2
  155. data/lib/spree/migrations.rb +8 -7
  156. data/lib/spree/money.rb +3 -7
  157. data/lib/spree/permitted_attributes.rb +2 -2
  158. data/lib/spree/responder.rb +4 -5
  159. data/lib/spree/testing_support/authorization_helpers.rb +3 -3
  160. data/lib/spree/testing_support/caching.rb +5 -5
  161. data/lib/spree/testing_support/capybara_ext.rb +16 -18
  162. data/lib/spree/testing_support/common_rake.rb +8 -9
  163. data/lib/spree/testing_support/controller_requests.rb +6 -6
  164. data/lib/spree/testing_support/extension_rake.rb +2 -3
  165. data/lib/spree/testing_support/factories/address_factory.rb +1 -1
  166. data/lib/spree/testing_support/factories/adjustment_factory.rb +1 -1
  167. data/lib/spree/testing_support/factories/calculator_factory.rb +1 -1
  168. data/lib/spree/testing_support/factories/country_factory.rb +1 -1
  169. data/lib/spree/testing_support/factories/credit_card_factory.rb +1 -1
  170. data/lib/spree/testing_support/factories/customer_return_factory.rb +1 -3
  171. data/lib/spree/testing_support/factories/image_factory.rb +2 -2
  172. data/lib/spree/testing_support/factories/inventory_unit_factory.rb +1 -1
  173. data/lib/spree/testing_support/factories/line_item_factory.rb +2 -2
  174. data/lib/spree/testing_support/factories/options_factory.rb +1 -1
  175. data/lib/spree/testing_support/factories/order_factory.rb +1 -1
  176. data/lib/spree/testing_support/factories/payment_factory.rb +1 -1
  177. data/lib/spree/testing_support/factories/payment_method_factory.rb +4 -4
  178. data/lib/spree/testing_support/factories/price_factory.rb +1 -1
  179. data/lib/spree/testing_support/factories/product_factory.rb +1 -1
  180. data/lib/spree/testing_support/factories/product_option_type_factory.rb +1 -1
  181. data/lib/spree/testing_support/factories/product_property_factory.rb +1 -1
  182. data/lib/spree/testing_support/factories/promotion_category_factory.rb +1 -2
  183. data/lib/spree/testing_support/factories/promotion_factory.rb +1 -2
  184. data/lib/spree/testing_support/factories/promotion_rule_factory.rb +1 -1
  185. data/lib/spree/testing_support/factories/property_factory.rb +1 -1
  186. data/lib/spree/testing_support/factories/prototype_factory.rb +1 -1
  187. data/lib/spree/testing_support/factories/refund_factory.rb +1 -1
  188. data/lib/spree/testing_support/factories/reimbursement_factory.rb +2 -2
  189. data/lib/spree/testing_support/factories/reimbursement_type_factory.rb +1 -1
  190. data/lib/spree/testing_support/factories/return_authorization_factory.rb +1 -1
  191. data/lib/spree/testing_support/factories/return_item_factory.rb +1 -1
  192. data/lib/spree/testing_support/factories/role_factory.rb +1 -1
  193. data/lib/spree/testing_support/factories/shipment_factory.rb +2 -2
  194. data/lib/spree/testing_support/factories/shipping_category_factory.rb +1 -1
  195. data/lib/spree/testing_support/factories/shipping_method_factory.rb +3 -3
  196. data/lib/spree/testing_support/factories/state_factory.rb +1 -1
  197. data/lib/spree/testing_support/factories/stock_factory.rb +1 -1
  198. data/lib/spree/testing_support/factories/stock_item_factory.rb +1 -1
  199. data/lib/spree/testing_support/factories/stock_location_factory.rb +2 -2
  200. data/lib/spree/testing_support/factories/stock_movement_factory.rb +1 -1
  201. data/lib/spree/testing_support/factories/store_credit_category_factory.rb +2 -2
  202. data/lib/spree/testing_support/factories/store_credit_event_factory.rb +1 -1
  203. data/lib/spree/testing_support/factories/store_credit_factory.rb +1 -1
  204. data/lib/spree/testing_support/factories/store_credit_type_factory.rb +1 -1
  205. data/lib/spree/testing_support/factories/store_factory.rb +1 -1
  206. data/lib/spree/testing_support/factories/tag_factory.rb +1 -1
  207. data/lib/spree/testing_support/factories/tax_category_factory.rb +2 -2
  208. data/lib/spree/testing_support/factories/tax_rate_factory.rb +1 -1
  209. data/lib/spree/testing_support/factories/taxon_factory.rb +1 -1
  210. data/lib/spree/testing_support/factories/taxonomy_factory.rb +1 -1
  211. data/lib/spree/testing_support/factories/tracker_factory.rb +1 -1
  212. data/lib/spree/testing_support/factories/user_factory.rb +1 -1
  213. data/lib/spree/testing_support/factories/variant_factory.rb +1 -2
  214. data/lib/spree/testing_support/factories/zone_factory.rb +1 -1
  215. data/lib/spree/testing_support/factories/zone_member_factory.rb +1 -1
  216. data/lib/spree/testing_support/factories.rb +3 -3
  217. data/lib/spree/testing_support/flash.rb +1 -3
  218. data/lib/spree/testing_support/i18n.rb +5 -6
  219. data/lib/spree/testing_support/kernel.rb +1 -2
  220. data/lib/spree/testing_support/order_walkthrough.rb +12 -15
  221. data/lib/spree/testing_support/preferences.rb +0 -1
  222. data/lib/tasks/core.rake +47 -56
  223. data/lib/tasks/email.rake +2 -2
  224. data/lib/tasks/exchanges.rake +5 -5
  225. data/spree_core.gemspec +1 -1
  226. metadata +5 -9
  227. data/app/models/spree/calculator/percent_per_item.rb +0 -51
  228. data/config/initializers/premailer_rails.rb +0 -3
  229. data/lib/spree/core/delegate_belongs_to.rb +0 -99
  230. data/lib/spree/testing_support/microdata.rb +0 -192
data/lib/spree/money.rb CHANGED
@@ -15,17 +15,13 @@ module Spree
15
15
 
16
16
  attr_reader :money
17
17
 
18
- delegate :cents, :currency, to: :money
18
+ delegate :cents, to: :money
19
19
 
20
- def initialize(amount, options={})
20
+ def initialize(amount, options = {})
21
21
  @money = Monetize.parse([amount, (options[:currency] || Spree::Config[:currency])].join)
22
22
  @options = Spree::Money.default_formatting_rules.merge(options)
23
23
  end
24
24
 
25
- def amount_in_cents
26
- (cents / currency.subunit_to_unit.to_f * 100).round
27
- end
28
-
29
25
  def to_s
30
26
  @money.format(@options)
31
27
  end
@@ -35,7 +31,7 @@ module Spree
35
31
  if options[:html]
36
32
  # 1) prevent blank, breaking spaces
37
33
  # 2) prevent escaping of HTML character entities
38
- output = output.sub(" ", " ").html_safe
34
+ output = output.sub(' ', ' ').html_safe
39
35
  end
40
36
  output
41
37
  end
@@ -91,7 +91,7 @@ module Spree
91
91
  :quantity, :stock_item, :stock_item_id, :originator, :action]
92
92
 
93
93
  @@store_attributes = [:name, :url, :seo_title, :meta_keywords,
94
- :meta_description, :default_currency, :mail_from_address]
94
+ :meta_description, :default_currency, :mail_from_address]
95
95
 
96
96
  @@store_credit_attributes = [:amount, :category_id, :memo]
97
97
 
@@ -101,7 +101,7 @@ module Spree
101
101
  :name, :parent_id, :position, :icon, :description, :permalink, :taxonomy_id,
102
102
  :meta_description, :meta_keywords, :meta_title, :child_index]
103
103
 
104
- # TODO Should probably use something like Spree.user_class.attributes
104
+ # TODO: Should probably use something like Spree.user_class.attributes
105
105
  @@user_attributes = [:email, :password, :password_confirmation]
106
106
 
107
107
  @@variant_attributes = [
@@ -1,27 +1,26 @@
1
1
  module Spree
2
2
  class Responder < ::ActionController::Responder #:nodoc:
3
-
4
3
  attr_accessor :on_success, :on_failure
5
4
 
6
- def initialize(controller, resources, options={})
5
+ def initialize(controller, resources, options = {})
7
6
  super
8
7
 
9
8
  class_name = controller.class.name.to_sym
10
9
  action_name = options.delete(:action_name)
11
10
 
12
- if result = Spree::BaseController.spree_responders[class_name].try(:[], action_name).try(:[], self.format.to_sym)
11
+ if result = Spree::BaseController.spree_responders[class_name].try(:[], action_name).try(:[], format.to_sym)
13
12
  self.on_success = handler(controller, result, :success)
14
13
  self.on_failure = handler(controller, result, :failure)
15
14
  end
16
15
  end
17
16
 
18
17
  def to_html
19
- super and return if !(on_success || on_failure)
18
+ super && return unless on_success || on_failure
20
19
  has_errors? ? controller.instance_exec(&on_failure) : controller.instance_exec(&on_success)
21
20
  end
22
21
 
23
22
  def to_format
24
- super and return if !(on_success || on_failure)
23
+ super && return unless on_success || on_failure
25
24
  has_errors? ? controller.instance_exec(&on_failure) : controller.instance_exec(&on_success)
26
25
  end
27
26
 
@@ -3,7 +3,7 @@ module Spree
3
3
  module AuthorizationHelpers
4
4
  module CustomAbility
5
5
  def build_ability(&block)
6
- block ||= proc{ |u| can :manage, :all }
6
+ block ||= proc { |_u| can :manage, :all }
7
7
  Class.new do
8
8
  include CanCan::Ability
9
9
  define_method(:initialize, block)
@@ -38,8 +38,8 @@ module Spree
38
38
 
39
39
  before do
40
40
  allow(Spree.user_class).to receive(:find_by).
41
- with(hash_including(:spree_api_key)).
42
- and_return(Spree.user_class.new)
41
+ with(hash_including(:spree_api_key)).
42
+ and_return(Spree.user_class.new)
43
43
  end
44
44
  end
45
45
 
@@ -7,7 +7,7 @@ module Spree
7
7
 
8
8
  def assert_written_to_cache(key)
9
9
  unless @cache_write_events.detect { |event| event[:key].starts_with?(key) }
10
- fail %Q{Expected to find #{key} in the cache, but didn't.
10
+ raise %Q{Expected to find #{key} in the cache, but didn't.
11
11
 
12
12
  Cache writes:
13
13
  #{@cache_write_events.join("\n")}
@@ -29,12 +29,12 @@ RSpec.configure do |config|
29
29
  config.before(:each, caching: true) do
30
30
  ActionController::Base.perform_caching = true
31
31
 
32
- ActiveSupport::Notifications.subscribe("read_fragment.action_controller") do |event, start_time, finish_time, _, details|
32
+ ActiveSupport::Notifications.subscribe('read_fragment.action_controller') do |_event, _start_time, _finish_time, _, details|
33
33
  @cache_read_events ||= []
34
- @cache_read_events << details
34
+ @cache_read_events << details
35
35
  end
36
36
 
37
- ActiveSupport::Notifications.subscribe("write_fragment.action_controller") do |event, start_time, finish_time, _, details|
37
+ ActiveSupport::Notifications.subscribe('write_fragment.action_controller') do |_event, _start_time, _finish_time, _, details|
38
38
  @cache_write_events ||= []
39
39
  @cache_write_events << details
40
40
  end
@@ -44,4 +44,4 @@ RSpec.configure do |config|
44
44
  ActionController::Base.perform_caching = false
45
45
  Rails.cache.clear
46
46
  end
47
- end
47
+ end
@@ -7,7 +7,7 @@ module CapybaraExt
7
7
  find(".icon-#{type}").click
8
8
  end
9
9
 
10
- def eventually_fill_in(field, options={})
10
+ def eventually_fill_in(field, options = {})
11
11
  expect(page).to have_css('#' + field)
12
12
  fill_in field, options
13
13
  end
@@ -16,7 +16,7 @@ module CapybaraExt
16
16
  if RSpec.current_example.metadata[:js]
17
17
  within("table.table tbody tr:nth-child(#{num})", &block)
18
18
  else
19
- within(:xpath, all("table.table tbody tr")[num-1].path, &block)
19
+ within(:xpath, all('table.table tbody tr')[num - 1].path, &block)
20
20
  end
21
21
  end
22
22
 
@@ -24,7 +24,7 @@ module CapybaraExt
24
24
  if RSpec.current_example.metadata[:js]
25
25
  find("td:nth-child(#{num})").text
26
26
  else
27
- all("td")[num-1].text
27
+ all('td')[num - 1].text
28
28
  end
29
29
  end
30
30
 
@@ -34,8 +34,8 @@ module CapybaraExt
34
34
 
35
35
  def select2_search(value, options)
36
36
  label = find_label_by_text(options[:from])
37
- within label.first(:xpath,".//..") do
38
- options[:from] = "##{find(".select2-container")["id"]}"
37
+ within label.first(:xpath, './/..') do
38
+ options[:from] = "##{find('.select2-container')['id']}"
39
39
  end
40
40
  targetted_select2_search(value, options)
41
41
  end
@@ -49,14 +49,14 @@ module CapybaraExt
49
49
  def select2(value, options)
50
50
  label = find_label_by_text(options[:from])
51
51
 
52
- within label.first(:xpath,".//..") do
53
- options[:from] = "##{find(".select2-container")["id"]}"
52
+ within label.first(:xpath, './/..') do
53
+ options[:from] = "##{find('.select2-container')['id']}"
54
54
  end
55
55
  targetted_select2(value, options)
56
56
  end
57
57
 
58
- def select2_no_label value, options={}
59
- raise "Must pass a hash containing 'from'" if not options.is_a?(Hash) or not options.has_key?(:from)
58
+ def select2_no_label(value, options = {})
59
+ raise "Must pass a hash containing 'from'" if !options.is_a?(Hash) || !options.key?(:from)
60
60
 
61
61
  placeholder = options[:from]
62
62
  minlength = options[:minlength] || 4
@@ -75,7 +75,7 @@ module CapybaraExt
75
75
  def select_select2_result(value)
76
76
  # results are in a div appended to the end of the document
77
77
  within(:xpath, '//body') do
78
- page.find("div.select2-result-label", text: %r{#{Regexp.escape(value)}}i).click
78
+ page.find('div.select2-result-label', text: %r{#{Regexp.escape(value)}}i).click
79
79
  end
80
80
  end
81
81
 
@@ -90,9 +90,7 @@ module CapybaraExt
90
90
  label = find_label(text)
91
91
  end
92
92
 
93
- if label.nil?
94
- raise "Could not find label by text #{text}"
95
- end
93
+ raise "Could not find label by text #{text}" if label.nil?
96
94
 
97
95
  label
98
96
  end
@@ -119,7 +117,7 @@ module CapybaraExt
119
117
  def wait_for_condition(delay = Capybara.default_max_wait_time)
120
118
  counter = 0
121
119
  delay_threshold = delay * 10
122
- while !yield
120
+ until yield
123
121
  counter += 1
124
122
  sleep(0.1)
125
123
  raise "Could not achieve condition within #{delay} seconds." if counter >= delay_threshold
@@ -145,7 +143,7 @@ Capybara.configure do |config|
145
143
  end
146
144
 
147
145
  RSpec::Matchers.define :have_meta do |name, expected|
148
- match do |actual|
146
+ match do |_actual|
149
147
  has_css?("meta[name='#{name}'][content='#{expected}']", visible: false)
150
148
  end
151
149
 
@@ -160,12 +158,12 @@ RSpec::Matchers.define :have_meta do |name, expected|
160
158
  end
161
159
 
162
160
  RSpec::Matchers.define :have_title do |expected|
163
- match do |actual|
164
- has_css?("title", text: expected, visible: false)
161
+ match do |_actual|
162
+ has_css?('title', text: expected, visible: false)
165
163
  end
166
164
 
167
165
  failure_message do |actual|
168
- actual = first("title")
166
+ actual = first('title')
169
167
  if actual
170
168
  "expected that title would have been '#{expected}' but was '#{actual.text}'"
171
169
  else
@@ -3,37 +3,36 @@ unless defined?(Spree::InstallGenerator)
3
3
  end
4
4
 
5
5
  require 'generators/spree/dummy/dummy_generator'
6
- require 'rails'
7
6
 
8
- desc "Generates a dummy app for testing"
7
+ desc 'Generates a dummy app for testing'
9
8
  namespace :common do
10
9
  task :test_app, :user_class do |_t, args|
11
- args.with_defaults(user_class: "Spree::LegacyUser")
10
+ args.with_defaults(user_class: 'Spree::LegacyUser')
12
11
  require ENV['LIB_NAME'].to_s
13
12
 
14
13
  ENV['RAILS_ENV'] = 'test'
15
14
  Rails.env = 'test'
16
15
 
17
- Spree::DummyGenerator.start ["--lib_name=#{ENV['LIB_NAME']}", "--quiet"]
18
- Spree::InstallGenerator.start ["--lib_name=#{ENV['LIB_NAME']}", "--auto-accept", "--migrate=false", "--seed=false", "--sample=false", "--quiet", "--user_class=#{args[:user_class]}"]
16
+ Spree::DummyGenerator.start ["--lib_name=#{ENV['LIB_NAME']}", '--quiet']
17
+ Spree::InstallGenerator.start ["--lib_name=#{ENV['LIB_NAME']}", '--auto-accept', '--migrate=false', '--seed=false', '--sample=false', '--quiet', '--copy_views=false', "--user_class=#{args[:user_class]}"]
19
18
 
20
- puts "Setting up dummy database..."
19
+ puts 'Setting up dummy database...'
21
20
  system("bundle exec rake db:drop db:create db:migrate > #{File::NULL}")
22
21
 
23
22
  begin
24
23
  require "generators/#{ENV['LIB_NAME']}/install/install_generator"
25
24
  puts 'Running extension installation generator...'
26
- "#{ENV['LIB_NAME'].camelize}::Generators::InstallGenerator".constantize.start(["--auto-run-migrations"])
25
+ "#{ENV['LIB_NAME'].camelize}::Generators::InstallGenerator".constantize.start(['--auto-run-migrations'])
27
26
  rescue LoadError
28
27
  puts 'Skipping installation no generator to run...'
29
28
  end
30
29
 
31
- puts "Precompiling assets..."
30
+ puts 'Precompiling assets...'
32
31
  system("bundle exec rake assets:precompile > #{File::NULL}")
33
32
  end
34
33
 
35
34
  task :seed do |_t|
36
- puts "Seeding ..."
35
+ puts 'Seeding ...'
37
36
  system("bundle exec rake db:seed RAILS_ENV=test > #{File::NULL}")
38
37
  end
39
38
  end
@@ -33,27 +33,27 @@ module Spree
33
33
  end
34
34
 
35
35
  def spree_get(action, parameters = nil, session = nil, flash = nil)
36
- process_spree_action(action, parameters, session, flash, "GET")
36
+ process_spree_action(action, parameters, session, flash, 'GET')
37
37
  end
38
38
 
39
39
  # Executes a request simulating POST HTTP method and set/volley the response
40
40
  def spree_post(action, parameters = nil, session = nil, flash = nil)
41
- process_spree_action(action, parameters, session, flash, "POST")
41
+ process_spree_action(action, parameters, session, flash, 'POST')
42
42
  end
43
43
 
44
44
  # Executes a request simulating PUT HTTP method and set/volley the response
45
45
  def spree_put(action, parameters = nil, session = nil, flash = nil)
46
- process_spree_action(action, parameters, session, flash, "PUT")
46
+ process_spree_action(action, parameters, session, flash, 'PUT')
47
47
  end
48
48
 
49
49
  # Executes a request simulating PATCH HTTP method and set/volley the response
50
50
  def spree_patch(action, parameters = nil, session = nil, flash = nil)
51
- process_spree_action(action, parameters, session, flash, "PATCH")
51
+ process_spree_action(action, parameters, session, flash, 'PATCH')
52
52
  end
53
53
 
54
54
  # Executes a request simulating DELETE HTTP method and set/volley the response
55
55
  def spree_delete(action, parameters = nil, session = nil, flash = nil)
56
- process_spree_action(action, parameters, session, flash, "DELETE")
56
+ process_spree_action(action, parameters, session, flash, 'DELETE')
57
57
  end
58
58
 
59
59
  def spree_xhr_get(action, parameters = nil, session = nil, flash = nil)
@@ -78,7 +78,7 @@ module Spree
78
78
 
79
79
  private
80
80
 
81
- def process_spree_action(action, parameters = nil, session = nil, flash = nil, method = "GET")
81
+ def process_spree_action(action, parameters = nil, session = nil, flash = nil, method = 'GET')
82
82
  parameters ||= {}
83
83
  process(action, method: method, params: parameters, session: session, flash: flash)
84
84
  end
@@ -1,10 +1,9 @@
1
1
  require 'spree/testing_support/common_rake'
2
2
 
3
- desc "Generates a dummy app for testing an extension"
3
+ desc 'Generates a dummy app for testing an extension'
4
4
  namespace :extension do
5
- task :test_app, [:user_class] do |t, args|
5
+ task :test_app, [:user_class] do |_t, _args|
6
6
  Spree::DummyGeneratorHelper.inject_extension_requirements = true
7
7
  Rake::Task['common:test_app'].invoke
8
8
  end
9
9
  end
10
-
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :address, aliases: [:bill_address, :ship_address], class: Spree::Address do
3
3
  firstname 'John'
4
4
  lastname 'Doe'
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :adjustment, class: Spree::Adjustment do
3
3
  association(:adjustable, factory: :order)
4
4
  amount 100.0
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :calculator, class: Spree::Calculator::FlatRate do
3
3
  after(:create) { |c| c.set_preference(:amount, 10.0) }
4
4
  end
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :country, class: Spree::Country do
3
3
  sequence(:iso_name) { |n| "ISO_NAME_#{n}" }
4
4
  sequence(:name) { |n| "NAME_#{n}" }
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :credit_card, class: Spree::CreditCard do
3
3
  verification_value 123
4
4
  month 12
@@ -1,5 +1,4 @@
1
- FactoryBot.define do
2
-
1
+ FactoryGirl.define do
3
2
  factory :customer_return, class: Spree::CustomerReturn do
4
3
  association(:stock_location, factory: :stock_location)
5
4
 
@@ -27,5 +26,4 @@ FactoryBot.define do
27
26
  factory :customer_return_without_return_items, class: Spree::CustomerReturn do
28
27
  association(:stock_location, factory: :stock_location)
29
28
  end
30
-
31
29
  end
@@ -1,5 +1,5 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :image, class: Spree::Image do
3
- attachment { File.new(Spree::Core::Engine.root + "spec/fixtures" + 'thinking-cat.jpg') }
3
+ attachment { File.new(Spree::Core::Engine.root + 'spec/fixtures' + 'thinking-cat.jpg') }
4
4
  end
5
5
  end
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :inventory_unit, class: Spree::InventoryUnit do
3
3
  variant
4
4
  order
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :line_item, class: Spree::LineItem do
3
3
  quantity 1
4
4
  price { BigDecimal.new('10.00') }
@@ -6,6 +6,6 @@ FactoryBot.define do
6
6
  transient do
7
7
  association :product
8
8
  end
9
- variant{ product.master }
9
+ variant { product.master }
10
10
  end
11
11
  end
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :option_value, class: Spree::OptionValue do
3
3
  sequence(:name) { |n| "Size-#{n}" }
4
4
 
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :order, class: Spree::Order do
3
3
  user
4
4
  bill_address
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :payment, class: Spree::Payment do
3
3
  amount 45.75
4
4
  association(:payment_method, factory: :credit_card_payment_method)
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :check_payment_method, class: Spree::PaymentMethod::Check do
3
3
  name 'Check'
4
4
  end
@@ -14,9 +14,9 @@ FactoryBot.define do
14
14
  end
15
15
 
16
16
  factory :store_credit_payment_method, class: Spree::PaymentMethod::StoreCredit do
17
- type "Spree::PaymentMethod::StoreCredit"
18
- name "Store Credit"
19
- description "Store Credit"
17
+ type 'Spree::PaymentMethod::StoreCredit'
18
+ name 'Store Credit'
19
+ description 'Store Credit'
20
20
  active true
21
21
  auto_capture true
22
22
  end
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :price, class: Spree::Price do
3
3
  variant
4
4
  amount 19.99
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :base_product, class: Spree::Product do
3
3
  sequence(:name) { |n| "Product ##{n} - #{Kernel.rand(9999)}" }
4
4
  description { generate(:random_description) }
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :product_option_type, class: Spree::ProductOptionType do
3
3
  product
4
4
  option_type
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :product_property, class: Spree::ProductProperty do
3
3
  product
4
4
  property
@@ -1,6 +1,5 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :promotion_category, class: Spree::PromotionCategory do
3
3
  name 'Promotion Category'
4
4
  end
5
5
  end
6
-
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :promotion, class: Spree::Promotion do
3
3
  name 'Promo'
4
4
 
@@ -47,6 +47,5 @@ FactoryBot.define do
47
47
  end
48
48
  end
49
49
  factory :promotion_with_item_total_rule, traits: [:with_item_total_rule]
50
-
51
50
  end
52
51
  end
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :promotion_rule, class: Spree::PromotionRule do
3
3
  association :promotion
4
4
  end
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :property, class: Spree::Property do
3
3
  name 'baseball_cap_color'
4
4
  presentation 'cap color'
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :prototype, class: Spree::Prototype do
3
3
  name 'Baseball Cap'
4
4
  properties { [create(:property)] }
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  sequence(:refund_transaction_id) { |n| "fake-refund-transaction-#{n}" }
3
3
 
4
4
  factory :refund, class: Spree::Refund do
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :reimbursement, class: Spree::Reimbursement do
3
3
  transient do
4
4
  return_items_count 1
@@ -6,7 +6,7 @@ FactoryBot.define do
6
6
 
7
7
  customer_return { create(:customer_return_with_accepted_items, line_items_count: return_items_count) }
8
8
 
9
- before(:create) do |reimbursement, evaluator|
9
+ before(:create) do |reimbursement, _evaluator|
10
10
  reimbursement.order ||= reimbursement.customer_return.order
11
11
  if reimbursement.return_items.empty?
12
12
  reimbursement.return_items = reimbursement.customer_return.return_items
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :reimbursement_type, class: Spree::ReimbursementType do
3
3
  sequence(:name) { |n| "Reimbursement Type #{n}" }
4
4
  active true
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :return_authorization, class: Spree::ReturnAuthorization do
3
3
  association(:order, factory: :shipped_order)
4
4
  association(:stock_location, factory: :stock_location)
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :return_item, class: Spree::ReturnItem do
3
3
  association(:inventory_unit, factory: :inventory_unit, state: :shipped)
4
4
  association(:return_authorization, factory: :return_authorization)
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :role, class: Spree::Role do
3
3
  sequence(:name) { |n| "Role ##{n}" }
4
4
 
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :shipment, class: Spree::Shipment do
3
3
  tracking 'U10000'
4
4
  cost 100.00
@@ -6,7 +6,7 @@ FactoryBot.define do
6
6
  order
7
7
  stock_location
8
8
 
9
- after(:create) do |shipment, evalulator|
9
+ after(:create) do |shipment, _evalulator|
10
10
  shipment.add_shipping_method(create(:shipping_method), true)
11
11
 
12
12
  shipment.order.line_items.each do |line_item|
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :shipping_category, class: Spree::ShippingCategory do
3
3
  sequence(:name) { |n| "ShippingCategory ##{n}" }
4
4
  end
@@ -1,11 +1,11 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :base_shipping_method, class: Spree::ShippingMethod do
3
- zones { |a| [Spree::Zone.global] }
3
+ zones { |_a| [Spree::Zone.global] }
4
4
  name 'UPS Ground'
5
5
  code 'UPS_GROUND'
6
6
  display_on 'both'
7
7
 
8
- before(:create) do |shipping_method, evaluator|
8
+ before(:create) do |shipping_method, _evaluator|
9
9
  if shipping_method.shipping_categories.empty?
10
10
  shipping_method.shipping_categories << (Spree::ShippingCategory.first || create(:shipping_category))
11
11
  end
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  factory :state, class: Spree::State do
3
3
  sequence(:name) { |n| "STATE_NAME_#{n}" }
4
4
  sequence(:abbr) { |n| "STATE_ABBR_#{n}" }
@@ -1,4 +1,4 @@
1
- FactoryBot.define do
1
+ FactoryGirl.define do
2
2
  # must use build()
3
3
  factory :stock_packer, class: Spree::Stock::Packer do
4
4
  transient do