solidus_core 4.6.1 → 4.7.0

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 (331) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +13 -13
  3. data/app/controllers/spree/base_controller.rb +2 -2
  4. data/app/helpers/spree/base_helper.rb +24 -24
  5. data/app/helpers/spree/checkout_helper.rb +7 -7
  6. data/app/helpers/spree/core/controller_helpers/auth.rb +1 -1
  7. data/app/helpers/spree/core/controller_helpers/common.rb +3 -2
  8. data/app/helpers/spree/core/controller_helpers/order.rb +3 -5
  9. data/app/helpers/spree/core/controller_helpers/payment_parameters.rb +1 -2
  10. data/app/helpers/spree/core/controller_helpers/strong_parameters.rb +10 -10
  11. data/app/helpers/spree/products_helper.rb +5 -5
  12. data/app/helpers/spree/store_helper.rb +1 -1
  13. data/app/mailers/spree/carton_mailer.rb +3 -3
  14. data/app/mailers/spree/order_mailer.rb +4 -4
  15. data/app/mailers/spree/reimbursement_mailer.rb +2 -2
  16. data/app/models/concerns/spree/active_storage_adapter/attachment.rb +5 -5
  17. data/app/models/concerns/spree/active_storage_adapter/normalization.rb +5 -5
  18. data/app/models/concerns/spree/active_storage_adapter.rb +2 -2
  19. data/app/models/concerns/spree/adjustment_source.rb +4 -4
  20. data/app/models/concerns/spree/display_money.rb +2 -2
  21. data/app/models/concerns/spree/named_type.rb +1 -1
  22. data/app/models/concerns/spree/ordered_property_value_list.rb +2 -2
  23. data/app/models/concerns/spree/preferences/persistable.rb +1 -1
  24. data/app/models/concerns/spree/ransackable_attributes.rb +1 -0
  25. data/app/models/concerns/spree/soft_deletable.rb +2 -1
  26. data/app/models/concerns/spree/state_change_tracking.rb +11 -7
  27. data/app/models/concerns/spree/user_address_book.rb +12 -12
  28. data/app/models/concerns/spree/user_methods.rb +9 -9
  29. data/app/models/concerns/spree/user_reporting.rb +1 -0
  30. data/app/models/spree/ability.rb +1 -1
  31. data/app/models/spree/address/name.rb +1 -1
  32. data/app/models/spree/address.rb +7 -7
  33. data/app/models/spree/adjustment.rb +11 -10
  34. data/app/models/spree/adjustment_reason.rb +2 -2
  35. data/app/models/spree/billing_integration.rb +2 -2
  36. data/app/models/spree/calculator/default_tax.rb +2 -2
  37. data/app/models/spree/calculator/flat_fee.rb +1 -1
  38. data/app/models/spree/calculator/flat_rate.rb +2 -2
  39. data/app/models/spree/calculator/returns/default_refund_amount.rb +3 -3
  40. data/app/models/spree/calculator/shipping/flat_percent_item_total.rb +2 -2
  41. data/app/models/spree/calculator/shipping/flat_rate.rb +3 -3
  42. data/app/models/spree/calculator/shipping/flexi_rate.rb +8 -8
  43. data/app/models/spree/calculator/shipping/per_item.rb +3 -3
  44. data/app/models/spree/calculator/shipping/price_sack.rb +3 -3
  45. data/app/models/spree/calculator.rb +31 -6
  46. data/app/models/spree/carton.rb +4 -4
  47. data/app/models/spree/classification.rb +2 -2
  48. data/app/models/spree/core/state_machines/order/class_methods.rb +3 -3
  49. data/app/models/spree/core/state_machines/return_item/acceptance_status.rb +1 -1
  50. data/app/models/spree/country.rb +1 -1
  51. data/app/models/spree/credit_card.rb +27 -27
  52. data/app/models/spree/customer_return.rb +5 -4
  53. data/app/models/spree/distributed_amounts_handler.rb +1 -1
  54. data/app/models/spree/fulfilment_changer.rb +22 -22
  55. data/app/models/spree/image/active_storage_attachment.rb +2 -2
  56. data/app/models/spree/image/paperclip_attachment.rb +8 -8
  57. data/app/models/spree/in_memory_order_updater.rb +262 -0
  58. data/app/models/spree/inventory_unit.rb +11 -11
  59. data/app/models/spree/item_total.rb +1 -1
  60. data/app/models/spree/legacy_user.rb +2 -2
  61. data/app/models/spree/line_item.rb +21 -11
  62. data/app/models/spree/log_entry.rb +3 -3
  63. data/app/models/spree/mergeable_orders_finder.rb +44 -0
  64. data/app/models/spree/money.rb +2 -1
  65. data/app/models/spree/null_promotion_adjuster.rb +1 -1
  66. data/app/models/spree/option_type.rb +1 -1
  67. data/app/models/spree/option_value.rb +2 -2
  68. data/app/models/spree/order/number_generator.rb +1 -1
  69. data/app/models/spree/order.rb +66 -64
  70. data/app/models/spree/order_cancellations.rb +1 -3
  71. data/app/models/spree/order_inventory.rb +5 -8
  72. data/app/models/spree/order_mutex.rb +1 -1
  73. data/app/models/spree/order_shipping.rb +1 -1
  74. data/app/models/spree/order_updater.rb +59 -37
  75. data/app/models/spree/payment/cancellation.rb +2 -2
  76. data/app/models/spree/payment/processing.rb +22 -22
  77. data/app/models/spree/payment.rb +26 -26
  78. data/app/models/spree/payment_capture_event.rb +2 -2
  79. data/app/models/spree/payment_create.rb +1 -1
  80. data/app/models/spree/payment_method/bogus_credit_card.rb +18 -18
  81. data/app/models/spree/payment_method/check.rb +3 -3
  82. data/app/models/spree/payment_method/credit_card.rb +1 -1
  83. data/app/models/spree/payment_method/simple_bogus_credit_card.rb +3 -3
  84. data/app/models/spree/payment_method/store_credit.rb +13 -13
  85. data/app/models/spree/payment_method.rb +12 -11
  86. data/app/models/spree/payment_source.rb +2 -2
  87. data/app/models/spree/permission_sets/dashboard_display.rb +3 -3
  88. data/app/models/spree/permission_sets/default_customer.rb +1 -1
  89. data/app/models/spree/preference.rb +1 -1
  90. data/app/models/spree/price.rb +7 -6
  91. data/app/models/spree/product/scopes.rb +23 -23
  92. data/app/models/spree/product.rb +37 -41
  93. data/app/models/spree/product_option_type.rb +2 -2
  94. data/app/models/spree/product_property.rb +3 -3
  95. data/app/models/spree/refund.rb +10 -10
  96. data/app/models/spree/refund_reason.rb +2 -2
  97. data/app/models/spree/reimbursement/credit.rb +1 -1
  98. data/app/models/spree/reimbursement.rb +8 -8
  99. data/app/models/spree/reimbursement_tax_calculator.rb +1 -1
  100. data/app/models/spree/reimbursement_type/reimbursement_helpers.rb +1 -1
  101. data/app/models/spree/reimbursement_type.rb +2 -2
  102. data/app/models/spree/return_authorization.rb +7 -6
  103. data/app/models/spree/return_item/eligibility_validator/base_validator.rb +2 -2
  104. data/app/models/spree/return_item/eligibility_validator/default.rb +1 -1
  105. data/app/models/spree/return_item/eligibility_validator/inventory_shipped.rb +1 -1
  106. data/app/models/spree/return_item/eligibility_validator/no_reimbursements.rb +1 -1
  107. data/app/models/spree/return_item/eligibility_validator/order_completed.rb +1 -1
  108. data/app/models/spree/return_item/eligibility_validator/rma_required.rb +1 -1
  109. data/app/models/spree/return_item/eligibility_validator/time_since_purchase.rb +1 -1
  110. data/app/models/spree/return_item/exchange_variant_eligibility/same_option_value.rb +6 -6
  111. data/app/models/spree/return_item.rb +31 -30
  112. data/app/models/spree/return_reason.rb +1 -1
  113. data/app/models/spree/role.rb +1 -1
  114. data/app/models/spree/role_user.rb +1 -1
  115. data/app/models/spree/shipment.rb +37 -29
  116. data/app/models/spree/shipping_method.rb +9 -9
  117. data/app/models/spree/shipping_method_category.rb +2 -2
  118. data/app/models/spree/shipping_rate.rb +12 -10
  119. data/app/models/spree/shipping_rate_tax.rb +5 -4
  120. data/app/models/spree/simple_order_contents.rb +2 -2
  121. data/app/models/spree/state.rb +1 -1
  122. data/app/models/spree/state_change_tracker.rb +31 -0
  123. data/app/models/spree/stock/availability.rb +9 -9
  124. data/app/models/spree/stock/availability_validator.rb +3 -3
  125. data/app/models/spree/stock/differentiator.rb +2 -2
  126. data/app/models/spree/stock/estimator.rb +4 -4
  127. data/app/models/spree/stock/inventory_validator.rb +1 -1
  128. data/app/models/spree/stock/package.rb +3 -3
  129. data/app/models/spree/stock_item.rb +5 -5
  130. data/app/models/spree/stock_location.rb +6 -6
  131. data/app/models/spree/stock_movement.rb +2 -2
  132. data/app/models/spree/stock_quantities.rb +2 -2
  133. data/app/models/spree/store.rb +3 -3
  134. data/app/models/spree/store_credit.rb +30 -29
  135. data/app/models/spree/store_credit_category.rb +2 -2
  136. data/app/models/spree/store_credit_event.rb +6 -6
  137. data/app/models/spree/store_credit_reason.rb +1 -1
  138. data/app/models/spree/store_credit_type.rb +3 -3
  139. data/app/models/spree/store_selector/by_server_name.rb +1 -1
  140. data/app/models/spree/store_selector/legacy.rb +1 -1
  141. data/app/models/spree/tax/item_tax.rb +1 -0
  142. data/app/models/spree/tax/order_tax.rb +1 -0
  143. data/app/models/spree/tax_category.rb +3 -3
  144. data/app/models/spree/tax_rate.rb +5 -5
  145. data/app/models/spree/tax_rate_tax_category.rb +2 -2
  146. data/app/models/spree/taxon/active_storage_attachment.rb +2 -2
  147. data/app/models/spree/taxon/paperclip_attachment.rb +4 -4
  148. data/app/models/spree/taxon.rb +16 -17
  149. data/app/models/spree/taxon_brand_selector.rb +3 -3
  150. data/app/models/spree/unauthorized_redirect_handler.rb +1 -1
  151. data/app/models/spree/unit_cancel.rb +4 -4
  152. data/app/models/spree/user_address.rb +3 -3
  153. data/app/models/spree/user_last_url_storer/rules/authentication_rule.rb +6 -8
  154. data/app/models/spree/user_last_url_storer.rb +1 -1
  155. data/app/models/spree/variant/price_selector.rb +1 -1
  156. data/app/models/spree/variant/scopes.rb +9 -9
  157. data/app/models/spree/variant.rb +25 -25
  158. data/app/models/spree/variant_property_rule.rb +2 -2
  159. data/app/models/spree/variant_property_rule_condition.rb +1 -1
  160. data/app/models/spree/wallet/add_payment_sources_to_wallet.rb +4 -4
  161. data/app/models/spree/wallet/default_payment_builder.rb +1 -1
  162. data/app/models/spree/wallet_payment_source.rb +2 -2
  163. data/app/models/spree/zone.rb +18 -18
  164. data/app/models/spree/zone_member.rb +1 -1
  165. data/app/subscribers/spree/carton_shipped_mailer_subscriber.rb +2 -2
  166. data/app/subscribers/spree/order_cancel_mailer_subscriber.rb +2 -2
  167. data/app/subscribers/spree/order_confirmation_mailer_subscriber.rb +2 -2
  168. data/app/subscribers/spree/order_inventory_cancellation_mailer_subscriber.rb +2 -2
  169. data/app/subscribers/spree/reimbursement_mailer_subscriber.rb +2 -2
  170. data/config/initializers/assets.rb +1 -1
  171. data/config/initializers/db_query_matchers.rb +9 -0
  172. data/config/initializers/friendly_id.rb +2 -2
  173. data/config/initializers/inflections.rb +1 -1
  174. data/config/initializers/money.rb +1 -1
  175. data/config/locales/en.yml +1 -0
  176. data/db/default/spree/countries.rb +7 -7
  177. data/db/default/spree/return_reasons.rb +11 -11
  178. data/db/default/spree/stock_locations.rb +1 -1
  179. data/db/default/spree/store_credit.rb +3 -4
  180. data/db/default/spree/stores.rb +1 -1
  181. data/db/default/spree/zones.rb +5 -5
  182. data/db/migrate/20160101010000_solidus_one_four.rb +16 -16
  183. data/db/migrate/20160420044191_create_spree_wallet_payment_sources.rb +3 -3
  184. data/db/migrate/20160420181916_migrate_credit_cards_to_wallet_payment_sources.rb +7 -6
  185. data/db/migrate/20161014221052_add_available_to_columns_and_remove_display_on_from_payment_methods.rb +10 -10
  186. data/db/migrate/20161123154034_add_available_to_users_and_remove_display_on_from_shipping_methods.rb +6 -6
  187. data/db/migrate/20161129035810_add_index_to_spree_payments_number.rb +1 -1
  188. data/db/migrate/20170319191942_remove_order_id_from_inventory_units.rb +4 -4
  189. data/db/migrate/20180322142651_add_amount_remaining_to_store_credit_events.rb +9 -16
  190. data/db/migrate/20200320144521_add_default_billng_flag_to_user_addresses.rb +1 -0
  191. data/db/migrate/20210815004823_add_unique_index_to_option_values_variants.rb +3 -3
  192. data/db/migrate/20250207104016_add_primary_taxon_to_products.rb +1 -1
  193. data/db/migrate/20250214094207_add_reverse_charge_status_to_store.rb +1 -1
  194. data/db/migrate/20250225051308_add_vat_id_email_and_reverse_charge_status_to_addresses.rb +1 -1
  195. data/db/migrate/20250605105424_add_shipping_category_foreign_keys.rb +3 -3
  196. data/db/seeds.rb +3 -3
  197. data/lib/generators/solidus/install/app_templates/authentication/custom.rb +2 -2
  198. data/lib/generators/solidus/install/app_templates/authentication/devise.rb +3 -3
  199. data/lib/generators/solidus/install/app_templates/authentication/existing.rb +3 -1
  200. data/lib/generators/solidus/install/app_templates/frontend/starter.rb +1 -1
  201. data/lib/generators/solidus/install/app_templates/payment_method/braintree.rb +1 -1
  202. data/lib/generators/solidus/install/app_templates/payment_method/paypal.rb +1 -1
  203. data/lib/generators/solidus/install/app_templates/payment_method/stripe.rb +2 -2
  204. data/lib/generators/solidus/install/install_generator.rb +51 -51
  205. data/lib/generators/solidus/install/templates/config/initializers/spree.rb.tt +3 -0
  206. data/lib/generators/solidus/update/update_generator.rb +29 -29
  207. data/lib/generators/spree/custom_user/custom_user_generator.rb +6 -6
  208. data/lib/generators/spree/dummy/dummy_generator.rb +22 -24
  209. data/lib/generators/spree/dummy/templates/rails/boot.rb +3 -3
  210. data/lib/generators/spree/dummy/templates/rails/test.rb +4 -4
  211. data/lib/solidus_core.rb +1 -1
  212. data/lib/spree/app_configuration.rb +66 -47
  213. data/lib/spree/bus.rb +1 -1
  214. data/lib/spree/config.rb +1 -1
  215. data/lib/spree/core/active_merchant_dependencies.rb +8 -8
  216. data/lib/spree/core/class_constantizer.rb +1 -1
  217. data/lib/spree/core/engine.rb +15 -15
  218. data/lib/spree/core/environment.rb +1 -1
  219. data/lib/spree/core/environment_extension.rb +2 -2
  220. data/lib/spree/core/importer/order.rb +15 -15
  221. data/lib/spree/core/importer/product.rb +4 -4
  222. data/lib/spree/core/importer.rb +2 -2
  223. data/lib/spree/core/null_promotion_configuration.rb +7 -7
  224. data/lib/spree/core/permalinks.rb +1 -1
  225. data/lib/spree/core/product_filters.rb +94 -93
  226. data/lib/spree/core/role_configuration.rb +3 -3
  227. data/lib/spree/core/search/base.rb +5 -6
  228. data/lib/spree/core/search/variant.rb +3 -3
  229. data/lib/spree/core/stock_configuration.rb +10 -49
  230. data/lib/spree/core/validators/email.rb +1 -1
  231. data/lib/spree/core/version.rb +3 -3
  232. data/lib/spree/core/versioned_value.rb +4 -6
  233. data/lib/spree/core.rb +49 -49
  234. data/lib/spree/deprecated_instance_variable_proxy.rb +1 -1
  235. data/lib/spree/deprecation.rb +1 -1
  236. data/lib/spree/deprecator.rb +2 -2
  237. data/lib/spree/i18n.rb +2 -2
  238. data/lib/spree/localized_number.rb +3 -3
  239. data/lib/spree/manipulative_query_monitor.rb +19 -0
  240. data/lib/spree/migrations.rb +2 -2
  241. data/lib/spree/permitted_attributes.rb +10 -10
  242. data/lib/spree/preferences/configuration.rb +5 -5
  243. data/lib/spree/preferences/preferable.rb +8 -10
  244. data/lib/spree/preferences/preferable_class_methods.rb +16 -16
  245. data/lib/spree/preferences/preference_differentiator.rb +1 -1
  246. data/lib/spree/preferences/scoped_store.rb +2 -2
  247. data/lib/spree/preferences/static_model_preferences.rb +2 -2
  248. data/lib/spree/preferences/store.rb +6 -6
  249. data/lib/spree/testing_support/ability_helpers.rb +30 -30
  250. data/lib/spree/testing_support/authorization_helpers.rb +6 -5
  251. data/lib/spree/testing_support/blacklist_urls.rb +1 -1
  252. data/lib/spree/testing_support/bus_helpers.rb +1 -1
  253. data/lib/spree/testing_support/capybara_driver.rb +1 -1
  254. data/lib/spree/testing_support/capybara_ext.rb +12 -12
  255. data/lib/spree/testing_support/common_rake.rb +17 -16
  256. data/lib/spree/testing_support/dummy_ability.rb +1 -1
  257. data/lib/spree/testing_support/dummy_app/migrations.rb +1 -1
  258. data/lib/spree/testing_support/dummy_app/rake_tasks.rb +5 -5
  259. data/lib/spree/testing_support/dummy_app/routes.rb +1 -1
  260. data/lib/spree/testing_support/dummy_app.rb +34 -34
  261. data/lib/spree/testing_support/extension_rake.rb +2 -2
  262. data/lib/spree/testing_support/factories/address_factory.rb +12 -12
  263. data/lib/spree/testing_support/factories/adjustment_factory.rb +7 -7
  264. data/lib/spree/testing_support/factories/adjustment_reason_factory.rb +1 -1
  265. data/lib/spree/testing_support/factories/calculator_factory.rb +6 -6
  266. data/lib/spree/testing_support/factories/carton_factory.rb +1 -1
  267. data/lib/spree/testing_support/factories/country_factory.rb +3 -3
  268. data/lib/spree/testing_support/factories/credit_card_factory.rb +3 -3
  269. data/lib/spree/testing_support/factories/customer_return_factory.rb +2 -2
  270. data/lib/spree/testing_support/factories/image_factory.rb +2 -2
  271. data/lib/spree/testing_support/factories/inventory_unit_factory.rb +4 -4
  272. data/lib/spree/testing_support/factories/line_item_factory.rb +2 -2
  273. data/lib/spree/testing_support/factories/option_type_factory.rb +2 -2
  274. data/lib/spree/testing_support/factories/option_value_factory.rb +2 -2
  275. data/lib/spree/testing_support/factories/order_factory.rb +16 -16
  276. data/lib/spree/testing_support/factories/payment_factory.rb +9 -9
  277. data/lib/spree/testing_support/factories/payment_method_factory.rb +10 -10
  278. data/lib/spree/testing_support/factories/price_factory.rb +2 -2
  279. data/lib/spree/testing_support/factories/product_factory.rb +2 -2
  280. data/lib/spree/testing_support/factories/product_option_type_factory.rb +1 -1
  281. data/lib/spree/testing_support/factories/product_property_factory.rb +1 -1
  282. data/lib/spree/testing_support/factories/property_factory.rb +3 -3
  283. data/lib/spree/testing_support/factories/refund_factory.rb +2 -2
  284. data/lib/spree/testing_support/factories/refund_reason_factory.rb +1 -1
  285. data/lib/spree/testing_support/factories/reimbursement_factory.rb +1 -1
  286. data/lib/spree/testing_support/factories/reimbursement_type_factory.rb +1 -1
  287. data/lib/spree/testing_support/factories/return_authorization_factory.rb +3 -3
  288. data/lib/spree/testing_support/factories/return_item_factory.rb +1 -1
  289. data/lib/spree/testing_support/factories/return_reason_factory.rb +1 -1
  290. data/lib/spree/testing_support/factories/role_factory.rb +2 -2
  291. data/lib/spree/testing_support/factories/shipment_factory.rb +3 -3
  292. data/lib/spree/testing_support/factories/shipping_category_factory.rb +1 -1
  293. data/lib/spree/testing_support/factories/shipping_method_factory.rb +7 -7
  294. data/lib/spree/testing_support/factories/shipping_rate_factory.rb +1 -1
  295. data/lib/spree/testing_support/factories/state_factory.rb +4 -4
  296. data/lib/spree/testing_support/factories/stock_item_factory.rb +1 -1
  297. data/lib/spree/testing_support/factories/stock_location_factory.rb +7 -7
  298. data/lib/spree/testing_support/factories/stock_movement_factory.rb +3 -3
  299. data/lib/spree/testing_support/factories/stock_package_factory.rb +3 -3
  300. data/lib/spree/testing_support/factories/store_credit_category_factory.rb +1 -1
  301. data/lib/spree/testing_support/factories/store_credit_event_factory.rb +8 -8
  302. data/lib/spree/testing_support/factories/store_credit_factory.rb +1 -1
  303. data/lib/spree/testing_support/factories/store_credit_reason_factory.rb +1 -1
  304. data/lib/spree/testing_support/factories/store_credit_type_factory.rb +6 -6
  305. data/lib/spree/testing_support/factories/store_factory.rb +2 -2
  306. data/lib/spree/testing_support/factories/tax_category_factory.rb +1 -1
  307. data/lib/spree/testing_support/factories/tax_rate_factory.rb +1 -1
  308. data/lib/spree/testing_support/factories/taxon_factory.rb +3 -3
  309. data/lib/spree/testing_support/factories/taxonomy_factory.rb +1 -1
  310. data/lib/spree/testing_support/factories/user_factory.rb +2 -2
  311. data/lib/spree/testing_support/factories/variant_factory.rb +2 -2
  312. data/lib/spree/testing_support/factories/variant_property_rule_condition_factory.rb +1 -1
  313. data/lib/spree/testing_support/factories/variant_property_rule_factory.rb +1 -1
  314. data/lib/spree/testing_support/factories/variant_property_rule_value_factory.rb +1 -1
  315. data/lib/spree/testing_support/factories/zone_factory.rb +3 -3
  316. data/lib/spree/testing_support/factory_bot.rb +1 -1
  317. data/lib/spree/testing_support/flaky.rb +3 -2
  318. data/lib/spree/testing_support/flash.rb +2 -2
  319. data/lib/spree/testing_support/order_walkthrough.rb +7 -7
  320. data/lib/spree/testing_support/preferences.rb +1 -1
  321. data/lib/spree/testing_support/rake.rb +1 -1
  322. data/lib/spree/testing_support/shared_examples/calculator.rb +1 -1
  323. data/lib/spree/testing_support/shared_examples/gallery.rb +7 -7
  324. data/lib/spree/testing_support/shared_examples/order_factory.rb +9 -9
  325. data/lib/spree/testing_support/shared_examples/state_change_tracking.rb +25 -0
  326. data/lib/spree/testing_support/shared_examples/working_factory.rb +1 -1
  327. data/lib/spree/testing_support/translations.rb +1 -1
  328. data/lib/spree_core.rb +1 -1
  329. data/lib/tasks/payment_method.rake +2 -2
  330. data/solidus_core.gemspec +49 -49
  331. metadata +62 -54
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :inventory_unit, class: 'Spree::InventoryUnit' do
4
+ factory :inventory_unit, class: "Spree::InventoryUnit" do
5
5
  transient do
6
6
  order { nil }
7
7
  stock_location { nil }
@@ -15,12 +15,12 @@ FactoryBot.define do
15
15
  build(:line_item, variant:)
16
16
  end
17
17
  end
18
- state { 'on_hand' }
18
+ state { "on_hand" }
19
19
  shipment do
20
20
  if stock_location
21
- build(:shipment, state: 'pending', order: line_item.order, stock_location:)
21
+ build(:shipment, state: "pending", order: line_item.order, stock_location:)
22
22
  else
23
- build(:shipment, state: 'pending', order: line_item.order)
23
+ build(:shipment, state: "pending", order: line_item.order)
24
24
  end
25
25
  end
26
26
  # return_authorization
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :line_item, class: 'Spree::LineItem' do
4
+ factory :line_item, class: "Spree::LineItem" do
5
5
  quantity { 1 }
6
- price { BigDecimal('10.00') }
6
+ price { BigDecimal("10.00") }
7
7
  order
8
8
  transient do
9
9
  product { nil }
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :option_type, class: 'Spree::OptionType' do
4
+ factory :option_type, class: "Spree::OptionType" do
5
5
  sequence(:name) { |n| "foo-size-#{n}" }
6
- presentation { 'Size' }
6
+ presentation { "Size" }
7
7
  end
8
8
  end
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :option_value, class: 'Spree::OptionValue' do
4
+ factory :option_value, class: "Spree::OptionValue" do
5
5
  sequence(:name) { |n| "Size-#{n}" }
6
6
 
7
- presentation { 'S' }
7
+ presentation { "S" }
8
8
  option_type
9
9
  end
10
10
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :order, class: 'Spree::Order' do
4
+ factory :order, class: "Spree::Order" do
5
5
  user
6
6
  bill_address
7
7
  ship_address
@@ -43,12 +43,12 @@ FactoryBot.define do
43
43
  evaluator.stock_location # must evaluate before creating line items
44
44
 
45
45
  evaluator.line_items_attributes.each do |attributes|
46
- attributes = { order:, price: evaluator.line_items_price }.merge(attributes).tap do |attrs|
46
+ attributes = {order:, price: evaluator.line_items_price}.merge(attributes).tap do |attrs|
47
47
  tax_category = attributes.delete(:tax_category)
48
48
  if attrs[:variant] && tax_category
49
- attrs[:variant].update(tax_category: )
49
+ attrs[:variant].update(tax_category:)
50
50
  elsif tax_category
51
- attrs[:variant] = create(:variant, tax_category: )
51
+ attrs[:variant] = create(:variant, tax_category:)
52
52
  end
53
53
  end
54
54
 
@@ -63,8 +63,8 @@ FactoryBot.define do
63
63
  end
64
64
 
65
65
  factory :order_ready_to_complete do
66
- state { 'confirm' }
67
- payment_state { 'checkout' }
66
+ state { "confirm" }
67
+ payment_state { "checkout" }
68
68
 
69
69
  transient do
70
70
  payment_type { :credit_card_payment }
@@ -85,33 +85,33 @@ FactoryBot.define do
85
85
  transient do
86
86
  completed_at { Time.current }
87
87
  end
88
- state { 'complete' }
88
+ state { "complete" }
89
89
 
90
90
  after(:create) do |order, evaluator|
91
91
  order.shipments.each do |shipment|
92
- shipment.inventory_units.update_all state: 'on_hand', pending: false
92
+ shipment.inventory_units.update_all state: "on_hand", pending: false
93
93
  end
94
94
  order.update_column(:completed_at, evaluator.completed_at)
95
95
  end
96
96
 
97
97
  factory :completed_order_with_pending_payment do
98
98
  after(:create) do |order|
99
- create(:payment, amount: order.total, order:, state: 'pending')
99
+ create(:payment, amount: order.total, order:, state: "pending")
100
100
  end
101
101
  end
102
102
 
103
103
  factory :order_ready_to_ship do
104
- payment_state { 'paid' }
105
- shipment_state { 'ready' }
104
+ payment_state { "paid" }
105
+ shipment_state { "ready" }
106
106
 
107
107
  transient do
108
108
  payment_type { :credit_card_payment }
109
109
  end
110
110
 
111
111
  after(:create) do |order, evaluator|
112
- create(evaluator.payment_type, amount: order.total, order:, state: 'completed')
112
+ create(evaluator.payment_type, amount: order.total, order:, state: "completed")
113
113
  order.shipments.each do |shipment|
114
- shipment.update_column('state', 'ready')
114
+ shipment.update_column("state", "ready")
115
115
  end
116
116
  order.reload
117
117
  end
@@ -122,8 +122,8 @@ FactoryBot.define do
122
122
  end
123
123
  after(:create) do |order, evaluator|
124
124
  order.shipments.each do |shipment|
125
- shipment.inventory_units.update_all state: 'shipped'
126
- shipment.update_columns(state: 'shipped', shipped_at: Time.current)
125
+ shipment.inventory_units.update_all state: "shipped"
126
+ shipment.update_columns(state: "shipped", shipped_at: Time.current)
127
127
  next unless evaluator.with_cartons
128
128
  Spree::Carton.create!(
129
129
  stock_location: shipment.stock_location,
@@ -134,7 +134,7 @@ FactoryBot.define do
134
134
  )
135
135
  end
136
136
  # We need to update the shipment_state after all callbacks have run
137
- order.update_columns(shipment_state: 'shipped')
137
+ order.update_columns(shipment_state: "shipped")
138
138
  order.reload
139
139
  end
140
140
  end
@@ -1,20 +1,20 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :payment, aliases: [:credit_card_payment], class: 'Spree::Payment' do
4
+ factory :payment, aliases: [:credit_card_payment], class: "Spree::Payment" do
5
5
  association(:payment_method, factory: :credit_card_payment_method)
6
6
  source { create(:credit_card, user: order.user, address: order.bill_address) }
7
7
  order
8
- state { 'checkout' }
9
- response_code { '12345' }
8
+ state { "checkout" }
9
+ response_code { "12345" }
10
10
 
11
11
  trait :completed do
12
- state { 'completed' }
12
+ state { "completed" }
13
13
  end
14
14
 
15
15
  trait :failing do
16
- response_code { '00000' }
17
- association(:source, :failing, { factory: :credit_card })
16
+ response_code { "00000" }
17
+ association(:source, :failing, {factory: :credit_card})
18
18
  end
19
19
 
20
20
  factory :payment_with_refund do
@@ -24,7 +24,7 @@ FactoryBot.define do
24
24
 
25
25
  amount { refund_amount }
26
26
 
27
- state { 'completed' }
27
+ state { "completed" }
28
28
 
29
29
  refunds { build_list :refund, 1, amount: refund_amount }
30
30
  end
@@ -34,12 +34,12 @@ FactoryBot.define do
34
34
  end
35
35
  end
36
36
 
37
- factory :check_payment, class: 'Spree::Payment' do
37
+ factory :check_payment, class: "Spree::Payment" do
38
38
  association(:payment_method, factory: :check_payment_method)
39
39
  order
40
40
  end
41
41
 
42
- factory :store_credit_payment, class: 'Spree::Payment', parent: :payment do
42
+ factory :store_credit_payment, class: "Spree::Payment", parent: :payment do
43
43
  association(:payment_method, factory: :store_credit_payment_method)
44
44
  association(:source, factory: :store_credit)
45
45
  end
@@ -1,30 +1,30 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :payment_method, aliases: [:credit_card_payment_method], class: 'Spree::PaymentMethod::BogusCreditCard' do
5
- name { 'Credit Card' }
4
+ factory :payment_method, aliases: [:credit_card_payment_method], class: "Spree::PaymentMethod::BogusCreditCard" do
5
+ name { "Credit Card" }
6
6
  available_to_admin { true }
7
7
  available_to_users { true }
8
8
  end
9
9
 
10
- factory :check_payment_method, class: 'Spree::PaymentMethod::Check' do
11
- name { 'Check' }
10
+ factory :check_payment_method, class: "Spree::PaymentMethod::Check" do
11
+ name { "Check" }
12
12
  available_to_admin { true }
13
13
  available_to_users { true }
14
14
  end
15
15
 
16
16
  # authorize.net was moved to spree_gateway.
17
17
  # Leaving this factory in place with bogus in case anyone is using it.
18
- factory :simple_credit_card_payment_method, class: 'Spree::PaymentMethod::SimpleBogusCreditCard' do
19
- name { 'Credit Card' }
18
+ factory :simple_credit_card_payment_method, class: "Spree::PaymentMethod::SimpleBogusCreditCard" do
19
+ name { "Credit Card" }
20
20
  available_to_admin { true }
21
21
  available_to_users { true }
22
22
  end
23
23
 
24
- factory :store_credit_payment_method, class: 'Spree::PaymentMethod::StoreCredit' do
25
- name { "Store Credit" }
26
- description { "Store Credit" }
27
- active { true }
24
+ factory :store_credit_payment_method, class: "Spree::PaymentMethod::StoreCredit" do
25
+ name { "Store Credit" }
26
+ description { "Store Credit" }
27
+ active { true }
28
28
  available_to_admin { false }
29
29
  available_to_users { false }
30
30
  auto_capture { true }
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :price, class: 'Spree::Price' do
4
+ factory :price, class: "Spree::Price" do
5
5
  variant
6
6
  amount { 19.99 }
7
- currency { 'USD' }
7
+ currency { "USD" }
8
8
  end
9
9
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :base_product, class: 'Spree::Product' do
4
+ factory :base_product, class: "Spree::Product" do
5
5
  sequence(:name) { |n| "Product ##{n} - #{Kernel.rand(9999)}" }
6
6
  description { "As seen on TV!" }
7
7
  price { 19.99 }
@@ -18,7 +18,7 @@ FactoryBot.define do
18
18
  before(:create) { create(:stock_location) if Spree::StockLocation.count == 0 }
19
19
 
20
20
  factory :custom_product do
21
- name { 'Custom Product' }
21
+ name { "Custom Product" }
22
22
  price { 17.99 }
23
23
 
24
24
  tax_category { |r| Spree::TaxCategory.first || r.association(:tax_category) }
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :product_option_type, class: 'Spree::ProductOptionType' do
4
+ factory :product_option_type, class: "Spree::ProductOptionType" do
5
5
  product
6
6
  option_type
7
7
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :product_property, class: 'Spree::ProductProperty' do
4
+ factory :product_property, class: "Spree::ProductProperty" do
5
5
  product
6
6
  property
7
7
  end
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :property, class: 'Spree::Property' do
5
- name { 'baseball_cap_color' }
6
- presentation { 'cap color' }
4
+ factory :property, class: "Spree::Property" do
5
+ name { "baseball_cap_color" }
6
+ presentation { "cap color" }
7
7
  end
8
8
  end
@@ -3,7 +3,7 @@
3
3
  FactoryBot.define do
4
4
  sequence(:refund_transaction_id) { |n| "fake-refund-transaction-#{n}" }
5
5
 
6
- factory :refund, class: 'Spree::Refund' do
6
+ factory :refund, class: "Spree::Refund" do
7
7
  transient do
8
8
  payment_amount { 100 }
9
9
  end
@@ -11,7 +11,7 @@ FactoryBot.define do
11
11
  amount { 100.00 }
12
12
  transaction_id { generate(:refund_transaction_id) }
13
13
  payment do
14
- association(:payment, state: 'completed', amount: payment_amount)
14
+ association(:payment, state: "completed", amount: payment_amount)
15
15
  end
16
16
  association(:reason, factory: :refund_reason)
17
17
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :refund_reason, class: 'Spree::RefundReason' do
4
+ factory :refund_reason, class: "Spree::RefundReason" do
5
5
  sequence(:name) { |n| "Refund for return ##{n}" }
6
6
  end
7
7
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :reimbursement, class: 'Spree::Reimbursement' do
4
+ factory :reimbursement, class: "Spree::Reimbursement" do
5
5
  transient do
6
6
  return_items_count { 1 }
7
7
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :reimbursement_type, class: 'Spree::ReimbursementType' do
4
+ factory :reimbursement_type, class: "Spree::ReimbursementType" do
5
5
  sequence(:name) { |n| "Reimbursement Type #{n}" }
6
6
  active { true }
7
7
  mutable { true }
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :return_authorization, class: 'Spree::ReturnAuthorization' do
4
+ factory :return_authorization, class: "Spree::ReturnAuthorization" do
5
5
  association(:order, factory: :shipped_order)
6
6
  association(:stock_location, factory: :stock_location)
7
7
  association(:reason, factory: :return_reason)
8
- memo { 'Items were broken' }
8
+ memo { "Items were broken" }
9
9
  end
10
10
 
11
- factory :new_return_authorization, class: 'Spree::ReturnAuthorization' do
11
+ factory :new_return_authorization, class: "Spree::ReturnAuthorization" do
12
12
  association(:order, factory: :shipped_order)
13
13
  association(:stock_location, factory: :stock_location)
14
14
  association(:reason, factory: :return_reason)
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :return_item, class: 'Spree::ReturnItem' do
4
+ factory :return_item, class: "Spree::ReturnItem" do
5
5
  association(:inventory_unit, factory: :inventory_unit, state: :shipped)
6
6
  association(:return_reason, factory: :return_reason)
7
7
  return_authorization do |_return_item|
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :return_reason, class: 'Spree::ReturnReason' do
4
+ factory :return_reason, class: "Spree::ReturnReason" do
5
5
  sequence(:name) { |n| "Defect ##{n}" }
6
6
  end
7
7
  end
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :role, class: 'Spree::Role' do
4
+ factory :role, class: "Spree::Role" do
5
5
  sequence(:name) { |n| "Role ##{n}" }
6
6
 
7
7
  factory :admin_role do
8
- name { 'admin' }
8
+ name { "admin" }
9
9
  end
10
10
  end
11
11
  end
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :shipment, class: 'Spree::Shipment' do
5
- tracking { 'U10000' }
4
+ factory :shipment, class: "Spree::Shipment" do
5
+ tracking { "U10000" }
6
6
  cost { 100.00 }
7
- state { 'pending' }
7
+ state { "pending" }
8
8
  order
9
9
  stock_location
10
10
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :shipping_category, class: 'Spree::ShippingCategory' do
4
+ factory :shipping_category, class: "Spree::ShippingCategory" do
5
5
  sequence(:name) { |n| "ShippingCategory ##{n}" }
6
6
  end
7
7
  end
@@ -6,16 +6,16 @@ FactoryBot.define do
6
6
  aliases: [
7
7
  :base_shipping_method
8
8
  ],
9
- class: 'Spree::ShippingMethod'
9
+ class: "Spree::ShippingMethod"
10
10
  ) do
11
11
  zones do
12
- [Spree::Zone.find_by(name: 'GlobalZone') || FactoryBot.create(:global_zone)]
12
+ [Spree::Zone.find_by(name: "GlobalZone") || FactoryBot.create(:global_zone)]
13
13
  end
14
14
 
15
- name { 'UPS Ground' }
16
- code { 'UPS_GROUND' }
17
- carrier { 'UPS' }
18
- service_level { '1DAYGROUND' }
15
+ name { "UPS Ground" }
16
+ code { "UPS_GROUND" }
17
+ carrier { "UPS" }
18
+ service_level { "1DAYGROUND" }
19
19
 
20
20
  calculator { |s| s.association(:shipping_calculator, strategy: :build, preferred_amount: s.cost, preferred_currency: s.currency) }
21
21
 
@@ -30,7 +30,7 @@ FactoryBot.define do
30
30
  end
31
31
  end
32
32
 
33
- factory :free_shipping_method, class: 'Spree::ShippingMethod' do
33
+ factory :free_shipping_method, class: "Spree::ShippingMethod" do
34
34
  cost { nil }
35
35
  association(:calculator, factory: :shipping_no_amount_calculator, strategy: :build)
36
36
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :shipping_rate, class: 'Spree::ShippingRate' do
4
+ factory :shipping_rate, class: "Spree::ShippingRate" do
5
5
  shipping_method
6
6
  shipment
7
7
  end
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :state, class: 'Spree::State' do
4
+ factory :state, class: "Spree::State" do
5
5
  transient do
6
- country_iso { 'US' }
7
- state_code { 'AL' }
6
+ country_iso { "US" }
7
+ state_code { "AL" }
8
8
 
9
9
  carmen_subregion do
10
10
  carmen_country = Carmen::Country.coded(country.iso)
@@ -17,7 +17,7 @@ FactoryBot.define do
17
17
  carmen_regions = carmen_regions.flat_map(&:subregions) if carmen_regions.first.subregions?
18
18
  region_collection = Carmen::RegionCollection.new(carmen_regions)
19
19
 
20
- region_collection.coded(state_code) || region_collection.sort_by(&:name).first
20
+ region_collection.coded(state_code) || region_collection.min_by(&:name)
21
21
  end
22
22
  end
23
23
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :stock_item, class: 'Spree::StockItem' do
4
+ factory :stock_item, class: "Spree::StockItem" do
5
5
  backorderable { true }
6
6
  association :stock_location, factory: :stock_location_without_variant_propagation
7
7
  variant
@@ -1,16 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :stock_location, class: 'Spree::StockLocation' do
5
- name { 'NY Warehouse' }
6
- address1 { '1600 Pennsylvania Ave NW' }
7
- city { 'Washington' }
8
- zipcode { '20500' }
9
- phone { '(202) 456-1111' }
4
+ factory :stock_location, class: "Spree::StockLocation" do
5
+ name { "NY Warehouse" }
6
+ address1 { "1600 Pennsylvania Ave NW" }
7
+ city { "Washington" }
8
+ zipcode { "20500" }
9
+ phone { "(202) 456-1111" }
10
10
  active { true }
11
11
  backorderable_default { true }
12
12
 
13
- country { |stock_location| Spree::Country.first || stock_location.association(:country) }
13
+ country { |stock_location| Spree::Country.first || stock_location.association(:country) }
14
14
  state do |stock_location|
15
15
  carmen_country = Carmen::Country.coded(stock_location.country.iso)
16
16
  if carmen_country.subregions?
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :stock_movement, class: 'Spree::StockMovement' do
4
+ factory :stock_movement, class: "Spree::StockMovement" do
5
5
  quantity { 1 }
6
- action { 'sold' }
6
+ action { "sold" }
7
7
  stock_item
8
8
  end
9
9
 
10
10
  trait :received do
11
- action { 'received' }
11
+ action { "received" }
12
12
  end
13
13
  end
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :stock_package, class: 'Spree::Stock::Package' do
4
+ factory :stock_package, class: "Spree::Stock::Package" do
5
5
  skip_create
6
6
 
7
7
  transient do
8
8
  stock_location { build(:stock_location) }
9
- contents { [] }
9
+ contents { [] }
10
10
  variants_contents { {} }
11
11
  end
12
12
 
@@ -19,7 +19,7 @@ FactoryBot.define do
19
19
  end
20
20
 
21
21
  factory :stock_package_fulfilled do
22
- transient { variants_contents { { build(:variant) => 2 } } }
22
+ transient { variants_contents { {build(:variant) => 2} } }
23
23
  end
24
24
  end
25
25
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :store_credit_category, class: 'Spree::StoreCreditCategory' do
4
+ factory :store_credit_category, class: "Spree::StoreCreditCategory" do
5
5
  name { "Exchange" }
6
6
 
7
7
  trait :reimbursement do
@@ -1,27 +1,27 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :store_credit_event, class: 'Spree::StoreCreditEvent' do
4
+ factory :store_credit_event, class: "Spree::StoreCreditEvent" do
5
5
  store_credit
6
- amount { 100.00 }
6
+ amount { 100.00 }
7
7
  authorization_code { "#{store_credit.id}-SC-20140602164814476128" }
8
- action { Spree::StoreCredit::AUTHORIZE_ACTION }
8
+ action { Spree::StoreCredit::AUTHORIZE_ACTION }
9
9
 
10
- factory :store_credit_auth_event, class: 'Spree::StoreCreditEvent' do
11
- action { Spree::StoreCredit::AUTHORIZE_ACTION }
10
+ factory :store_credit_auth_event, class: "Spree::StoreCreditEvent" do
11
+ action { Spree::StoreCredit::AUTHORIZE_ACTION }
12
12
  end
13
13
 
14
14
  factory :store_credit_capture_event do
15
- action { Spree::StoreCredit::CAPTURE_ACTION }
15
+ action { Spree::StoreCredit::CAPTURE_ACTION }
16
16
  end
17
17
 
18
18
  factory :store_credit_adjustment_event do
19
- action { Spree::StoreCredit::ADJUSTMENT_ACTION }
19
+ action { Spree::StoreCredit::ADJUSTMENT_ACTION }
20
20
  store_credit_reason { create(:store_credit_reason) }
21
21
  end
22
22
 
23
23
  factory :store_credit_invalidate_event do
24
- action { Spree::StoreCredit::INVALIDATE_ACTION }
24
+ action { Spree::StoreCredit::INVALIDATE_ACTION }
25
25
  store_credit_reason { create(:store_credit_reason) }
26
26
  end
27
27
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  FactoryBot.define do
4
- factory :store_credit, class: 'Spree::StoreCredit' do
4
+ factory :store_credit, class: "Spree::StoreCredit" do
5
5
  association :user, strategy: :create
6
6
  association :created_by, factory: :user, strategy: :create
7
7
  association :category, factory: :store_credit_category, strategy: :create