solidus_core 2.10.0 → 2.11.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 (495) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spree.js.erb +31 -2
  3. data/app/controllers/spree/base_controller.rb +1 -0
  4. data/app/mailers/spree/base_mailer.rb +4 -0
  5. data/app/mailers/spree/order_mailer.rb +1 -1
  6. data/app/models/concerns/spree/active_storage_adapter/attachment.rb +69 -0
  7. data/app/models/concerns/spree/active_storage_adapter/normalization.rb +39 -0
  8. data/app/models/concerns/spree/active_storage_adapter.rb +116 -0
  9. data/app/models/concerns/spree/default_price.rb +1 -1
  10. data/app/models/concerns/spree/soft_deletable.rb +18 -0
  11. data/app/models/concerns/spree/user_address_book.rb +86 -32
  12. data/app/models/concerns/spree/user_methods.rb +3 -2
  13. data/app/models/spree/ability.rb +34 -10
  14. data/app/models/spree/address/name.rb +49 -0
  15. data/app/models/spree/address/state_validator.rb +71 -0
  16. data/app/models/spree/address.rb +94 -17
  17. data/app/models/spree/adjustment.rb +1 -1
  18. data/app/models/spree/base.rb +1 -0
  19. data/app/models/spree/calculator/default_tax.rb +1 -1
  20. data/app/models/spree/calculator/percent_per_item.rb +4 -4
  21. data/app/models/spree/calculator/price_sack.rb +1 -1
  22. data/app/models/spree/credit_card.rb +2 -2
  23. data/app/models/spree/customer_return.rb +4 -2
  24. data/app/models/spree/exchange.rb +1 -1
  25. data/app/models/spree/image/active_storage_attachment.rb +21 -0
  26. data/app/models/spree/inventory_unit.rb +1 -1
  27. data/app/models/spree/line_item.rb +13 -4
  28. data/app/models/spree/option_type.rb +1 -1
  29. data/app/models/spree/option_value.rb +2 -2
  30. data/app/models/spree/order/checkout.rb +1 -0
  31. data/app/models/spree/order.rb +91 -20
  32. data/app/models/spree/order_inventory.rb +16 -4
  33. data/app/models/spree/order_merger.rb +6 -4
  34. data/app/models/spree/order_promotion.rb +1 -1
  35. data/app/models/spree/order_updater.rb +11 -10
  36. data/app/models/spree/payment/cancellation.rb +3 -3
  37. data/app/models/spree/payment/processing.rb +54 -30
  38. data/app/models/spree/payment.rb +3 -3
  39. data/app/models/spree/payment_method.rb +8 -9
  40. data/app/models/spree/preference.rb +1 -1
  41. data/app/models/spree/price.rb +2 -8
  42. data/app/models/spree/product/scopes.rb +10 -5
  43. data/app/models/spree/product.rb +19 -14
  44. data/app/models/spree/promotion/actions/free_shipping.rb +6 -5
  45. data/app/models/spree/promotion.rb +18 -7
  46. data/app/models/spree/promotion_action.rb +1 -7
  47. data/app/models/spree/promotion_code.rb +6 -1
  48. data/app/models/spree/promotion_code_batch.rb +1 -1
  49. data/app/models/spree/promotion_handler/coupon.rb +2 -2
  50. data/app/models/spree/promotion_rule.rb +1 -1
  51. data/app/models/spree/promotion_rule_role.rb +1 -1
  52. data/app/models/spree/refund.rb +54 -12
  53. data/app/models/spree/reimbursement.rb +27 -0
  54. data/app/models/spree/reimbursement_type/reimbursement_helpers.rb +10 -3
  55. data/app/models/spree/return_authorization.rb +1 -1
  56. data/app/models/spree/return_item/exchange_variant_eligibility/same_option_value.rb +1 -1
  57. data/app/models/spree/return_item.rb +21 -10
  58. data/app/models/spree/role.rb +1 -1
  59. data/app/models/spree/shipment.rb +2 -2
  60. data/app/models/spree/shipping_calculator.rb +1 -1
  61. data/app/models/spree/shipping_manifest.rb +2 -2
  62. data/app/models/spree/shipping_method.rb +2 -9
  63. data/app/models/spree/shipping_rate.rb +1 -1
  64. data/app/models/spree/shipping_rate_tax.rb +1 -1
  65. data/app/models/spree/stock/inventory_unit_builder.rb +18 -7
  66. data/app/models/spree/stock/inventory_units_finalizer.rb +3 -5
  67. data/app/models/spree/stock/package.rb +1 -1
  68. data/app/models/spree/stock/simple_coordinator.rb +1 -3
  69. data/app/models/spree/stock_item.rb +2 -8
  70. data/app/models/spree/stock_movement.rb +2 -0
  71. data/app/models/spree/store.rb +1 -1
  72. data/app/models/spree/store_credit.rb +1 -7
  73. data/app/models/spree/store_credit_category.rb +30 -3
  74. data/app/models/spree/store_credit_event.rb +1 -7
  75. data/app/models/spree/store_credit_reason.rb +0 -4
  76. data/app/models/spree/tax/tax_helpers.rb +1 -1
  77. data/app/models/spree/tax_category.rb +2 -8
  78. data/app/models/spree/tax_rate.rb +7 -7
  79. data/app/models/spree/taxon/active_storage_attachment.rb +19 -0
  80. data/app/models/spree/taxon.rb +1 -1
  81. data/app/models/spree/user_address.rb +8 -2
  82. data/app/models/spree/variant.rb +7 -13
  83. data/app/models/spree/variant_property_rule.rb +5 -1
  84. data/app/models/spree/wallet/add_payment_sources_to_wallet.rb +8 -3
  85. data/app/models/spree/zone.rb +1 -1
  86. data/config/locales/en.yml +44 -5
  87. data/db/default/spree/countries.rb +1 -1
  88. data/db/default/spree/states.rb +12 -4
  89. data/db/default/spree/store_credit.rb +2 -2
  90. data/db/migrate/20180416083007_add_apply_to_all_to_variant_property_rule.rb +12 -0
  91. data/db/migrate/20200320144521_add_default_billng_flag_to_user_addresses.rb +6 -0
  92. data/db/migrate/20200530111458_add_bcc_email_to_spree_stores.rb +7 -0
  93. data/db/migrate/20201008213609_add_discontinue_on_to_spree_products.rb +7 -0
  94. data/lib/generators/solidus/install/install_generator.rb +253 -0
  95. data/lib/generators/{spree → solidus}/install/templates/config/initializers/spree.rb.tt +36 -5
  96. data/lib/generators/spree/install/install_generator.rb +7 -189
  97. data/lib/solidus/migrations/promotions_with_code_handlers.rb +1 -1
  98. data/lib/spree/app_configuration.rb +117 -51
  99. data/lib/spree/awesome_nested_set_override.rb +44 -0
  100. data/lib/spree/core/controller_helpers/auth.rb +17 -4
  101. data/lib/spree/core/controller_helpers/current_host.rb +17 -0
  102. data/lib/spree/core/controller_helpers/order.rb +8 -7
  103. data/lib/spree/core/controller_helpers/strong_parameters.rb +21 -7
  104. data/lib/spree/core/engine.rb +39 -2
  105. data/lib/spree/core/importer/order.rb +26 -11
  106. data/lib/spree/core/permalinks.rb +1 -3
  107. data/lib/spree/core/product_filters.rb +6 -5
  108. data/lib/spree/core/state_machines/order.rb +249 -0
  109. data/lib/spree/core/state_machines/return_item/reception_status.rb +2 -2
  110. data/lib/spree/core/state_machines.rb +20 -1
  111. data/lib/spree/core/version.rb +1 -1
  112. data/lib/spree/core.rb +5 -11
  113. data/lib/spree/encryptor.rb +25 -0
  114. data/lib/spree/event/adapters/active_support_notifications.rb +32 -0
  115. data/lib/spree/event/configuration.rb +11 -6
  116. data/lib/spree/event/subscriber.rb +38 -18
  117. data/lib/spree/event/subscriber_registry.rb +92 -0
  118. data/lib/spree/event.rb +40 -7
  119. data/lib/spree/i18n.rb +1 -1
  120. data/lib/spree/mailer_previews/carton_preview.rb +2 -1
  121. data/lib/spree/paranoia_deprecations.rb +32 -12
  122. data/lib/spree/permission_sets/configuration_display.rb +14 -14
  123. data/lib/spree/permission_sets/default_customer.rb +16 -16
  124. data/lib/spree/permission_sets/order_display.rb +11 -11
  125. data/lib/spree/permission_sets/order_management.rb +1 -1
  126. data/lib/spree/permission_sets/product_display.rb +9 -9
  127. data/lib/spree/permission_sets/promotion_display.rb +5 -5
  128. data/lib/spree/permission_sets/restricted_stock_display.rb +2 -2
  129. data/lib/spree/permission_sets/restricted_stock_management.rb +1 -1
  130. data/lib/spree/permission_sets/stock_display.rb +2 -2
  131. data/lib/spree/permission_sets/stock_management.rb +1 -1
  132. data/lib/spree/permission_sets/user_display.rb +3 -3
  133. data/lib/spree/permission_sets/user_management.rb +4 -3
  134. data/lib/spree/permitted_attributes.rb +79 -9
  135. data/lib/spree/preferences/preferable.rb +4 -3
  136. data/lib/spree/preferences/preferable_class_methods.rb +22 -3
  137. data/lib/spree/testing_support/ability_helpers.rb +9 -9
  138. data/lib/spree/testing_support/authorization_helpers.rb +1 -0
  139. data/lib/spree/testing_support/blacklist_urls.rb +23 -0
  140. data/lib/spree/testing_support/capybara_ext.rb +3 -0
  141. data/lib/spree/testing_support/common_rake.rb +3 -3
  142. data/lib/spree/testing_support/dummy_app/migrations.rb +5 -6
  143. data/lib/spree/testing_support/dummy_app/rake_tasks.rb +1 -3
  144. data/lib/spree/testing_support/dummy_app.rb +44 -23
  145. data/lib/spree/testing_support/factories/address_factory.rb +1 -2
  146. data/lib/spree/testing_support/factories/image_factory.rb +1 -1
  147. data/lib/spree/testing_support/factories/promotion_factory.rb +6 -0
  148. data/lib/spree/testing_support/factories/refund_factory.rb +1 -0
  149. data/lib/spree/testing_support/factories/reimbursement_factory.rb +1 -1
  150. data/lib/spree/testing_support/factories/return_item_factory.rb +0 -1
  151. data/lib/spree/testing_support/factories/store_credit_category_factory.rb +8 -0
  152. data/lib/spree/testing_support/factories/store_credit_event_factory.rb +1 -0
  153. data/lib/spree/testing_support/factories/store_credit_reason_factory.rb +3 -1
  154. data/lib/spree/testing_support/factories/taxon_factory.rb +4 -0
  155. data/lib/spree/testing_support/factories/user_factory.rb +4 -1
  156. data/lib/spree/testing_support/factories/zone_factory.rb +1 -1
  157. data/lib/spree/testing_support/job_helpers.rb +24 -0
  158. data/lib/spree/testing_support/precompiled_assets.rb +15 -0
  159. data/lib/spree/testing_support/preferences.rb +3 -1
  160. data/lib/spree/testing_support/shared_examples/gallery.rb +1 -1
  161. data/lib/spree/testing_support/translations.rb +25 -0
  162. data/solidus_core.gemspec +8 -5
  163. metadata +81 -359
  164. data/script/rails +0 -10
  165. data/spec/fixtures/thinking-cat.jpg +0 -0
  166. data/spec/helpers/base_helper_spec.rb +0 -168
  167. data/spec/helpers/products_helper_spec.rb +0 -202
  168. data/spec/helpers/taxons_helper_spec.rb +0 -43
  169. data/spec/jobs/promotion_code_batch_job_spec.rb +0 -96
  170. data/spec/lib/calculated_adjustments_spec.rb +0 -133
  171. data/spec/lib/i18n_spec.rb +0 -97
  172. data/spec/lib/search/base_spec.rb +0 -91
  173. data/spec/lib/search/variant_spec.rb +0 -115
  174. data/spec/lib/spree/app_configuration_spec.rb +0 -140
  175. data/spec/lib/spree/core/class_constantizer_spec.rb +0 -91
  176. data/spec/lib/spree/core/controller_helpers/auth_spec.rb +0 -73
  177. data/spec/lib/spree/core/controller_helpers/order_spec.rb +0 -126
  178. data/spec/lib/spree/core/controller_helpers/payment_parameters_spec.rb +0 -195
  179. data/spec/lib/spree/core/controller_helpers/pricing_spec.rb +0 -94
  180. data/spec/lib/spree/core/controller_helpers/search_spec.rb +0 -21
  181. data/spec/lib/spree/core/controller_helpers/store_spec.rb +0 -18
  182. data/spec/lib/spree/core/controller_helpers/strong_parameters_spec.rb +0 -41
  183. data/spec/lib/spree/core/current_store_spec.rb +0 -33
  184. data/spec/lib/spree/core/environment_extension_spec.rb +0 -46
  185. data/spec/lib/spree/core/importer/order_spec.rb +0 -484
  186. data/spec/lib/spree/core/role_configuration_spec.rb +0 -155
  187. data/spec/lib/spree/core/stock_configuration_spec.rb +0 -95
  188. data/spec/lib/spree/core/testing_support/factories/address_factory_spec.rb +0 -61
  189. data/spec/lib/spree/core/testing_support/factories/adjustment_factory_spec.rb +0 -20
  190. data/spec/lib/spree/core/testing_support/factories/adjustment_reason_factory_spec.rb +0 -14
  191. data/spec/lib/spree/core/testing_support/factories/calculator_factory_spec.rb +0 -44
  192. data/spec/lib/spree/core/testing_support/factories/carton_factory_spec.rb +0 -14
  193. data/spec/lib/spree/core/testing_support/factories/country_factory_spec.rb +0 -14
  194. data/spec/lib/spree/core/testing_support/factories/credit_card_factory_spec.rb +0 -14
  195. data/spec/lib/spree/core/testing_support/factories/customer_return_factory_spec.rb +0 -39
  196. data/spec/lib/spree/core/testing_support/factories/image_factory_spec.rb +0 -14
  197. data/spec/lib/spree/core/testing_support/factories/inventory_unit_factory_spec.rb +0 -14
  198. data/spec/lib/spree/core/testing_support/factories/line_item_factory_spec.rb +0 -14
  199. data/spec/lib/spree/core/testing_support/factories/option_type_factory_spec.rb +0 -14
  200. data/spec/lib/spree/core/testing_support/factories/option_value_factory_spec.rb +0 -14
  201. data/spec/lib/spree/core/testing_support/factories/order_factory_spec.rb +0 -376
  202. data/spec/lib/spree/core/testing_support/factories/order_promotion_factory_spec.rb +0 -14
  203. data/spec/lib/spree/core/testing_support/factories/payment_factory_spec.rb +0 -40
  204. data/spec/lib/spree/core/testing_support/factories/payment_method_factory_spec.rb +0 -32
  205. data/spec/lib/spree/core/testing_support/factories/price_factory_spec.rb +0 -14
  206. data/spec/lib/spree/core/testing_support/factories/product_factory_spec.rb +0 -32
  207. data/spec/lib/spree/core/testing_support/factories/product_option_type_factory_spec.rb +0 -14
  208. data/spec/lib/spree/core/testing_support/factories/product_property_factory_spec.rb +0 -14
  209. data/spec/lib/spree/core/testing_support/factories/promotion_category_factory_spec.rb +0 -14
  210. data/spec/lib/spree/core/testing_support/factories/promotion_code_factory_spec.rb +0 -14
  211. data/spec/lib/spree/core/testing_support/factories/promotion_factory_spec.rb +0 -32
  212. data/spec/lib/spree/core/testing_support/factories/property_factory_spec.rb +0 -14
  213. data/spec/lib/spree/core/testing_support/factories/refund_factory_spec.rb +0 -14
  214. data/spec/lib/spree/core/testing_support/factories/refund_reason_factory_spec.rb +0 -14
  215. data/spec/lib/spree/core/testing_support/factories/reimbursement_factory_spec.rb +0 -20
  216. data/spec/lib/spree/core/testing_support/factories/reimbursement_type_factory_spec.rb +0 -14
  217. data/spec/lib/spree/core/testing_support/factories/return_authorization_factory_spec.rb +0 -14
  218. data/spec/lib/spree/core/testing_support/factories/return_item_factory_spec.rb +0 -20
  219. data/spec/lib/spree/core/testing_support/factories/return_reason_factory_spec.rb +0 -14
  220. data/spec/lib/spree/core/testing_support/factories/role_factory_spec.rb +0 -20
  221. data/spec/lib/spree/core/testing_support/factories/shipment_factory_spec.rb +0 -14
  222. data/spec/lib/spree/core/testing_support/factories/shipping_category_factory_spec.rb +0 -14
  223. data/spec/lib/spree/core/testing_support/factories/shipping_method_factory_spec.rb +0 -44
  224. data/spec/lib/spree/core/testing_support/factories/shipping_rate_factory_spec.rb +0 -14
  225. data/spec/lib/spree/core/testing_support/factories/state_factory_spec.rb +0 -59
  226. data/spec/lib/spree/core/testing_support/factories/stock_item_factory_spec.rb +0 -14
  227. data/spec/lib/spree/core/testing_support/factories/stock_location_factory_spec.rb +0 -35
  228. data/spec/lib/spree/core/testing_support/factories/stock_movement_factory_spec.rb +0 -14
  229. data/spec/lib/spree/core/testing_support/factories/stock_package_factory_spec.rb +0 -28
  230. data/spec/lib/spree/core/testing_support/factories/store_credit_category_factory_spec.rb +0 -14
  231. data/spec/lib/spree/core/testing_support/factories/store_credit_event_factory_spec.rb +0 -43
  232. data/spec/lib/spree/core/testing_support/factories/store_credit_factory_spec.rb +0 -14
  233. data/spec/lib/spree/core/testing_support/factories/store_credit_reason_factory_spec.rb +0 -14
  234. data/spec/lib/spree/core/testing_support/factories/store_credit_type_factory_spec.rb +0 -20
  235. data/spec/lib/spree/core/testing_support/factories/store_factory_spec.rb +0 -14
  236. data/spec/lib/spree/core/testing_support/factories/tax_category_factory_spec.rb +0 -14
  237. data/spec/lib/spree/core/testing_support/factories/tax_rate_factory_spec.rb +0 -14
  238. data/spec/lib/spree/core/testing_support/factories/taxon_factory_spec.rb +0 -14
  239. data/spec/lib/spree/core/testing_support/factories/taxonomy_factory_spec.rb +0 -14
  240. data/spec/lib/spree/core/testing_support/factories/user_factory_spec.rb +0 -24
  241. data/spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb +0 -56
  242. data/spec/lib/spree/core/testing_support/factories/variant_property_rule_condition_factory_spec.rb +0 -14
  243. data/spec/lib/spree/core/testing_support/factories/variant_property_rule_factory_spec.rb +0 -14
  244. data/spec/lib/spree/core/testing_support/factories/variant_property_rule_value_factory_spec.rb +0 -14
  245. data/spec/lib/spree/core/testing_support/factories/zone_factory_spec.rb +0 -20
  246. data/spec/lib/spree/core/testing_support/preferences_spec.rb +0 -61
  247. data/spec/lib/spree/core/validators/email_spec.rb +0 -53
  248. data/spec/lib/spree/core/version_spec.rb +0 -19
  249. data/spec/lib/spree/event/subscriber_spec.rb +0 -85
  250. data/spec/lib/spree/event_spec.rb +0 -130
  251. data/spec/lib/spree/localized_number_spec.rb +0 -45
  252. data/spec/lib/spree/migrations_spec.rb +0 -32
  253. data/spec/lib/spree/money_spec.rb +0 -298
  254. data/spec/lib/spree/permission_sets/default_customer_spec.rb +0 -22
  255. data/spec/lib/spree/promo/environment_spec.rb +0 -53
  256. data/spec/lib/tasks/dummy_task.rake +0 -12
  257. data/spec/lib/tasks/dummy_task_spec.rb +0 -30
  258. data/spec/lib/tasks/migrations/migrate_shipping_rate_taxes_spec.rb +0 -21
  259. data/spec/mailers/carton_mailer_spec.rb +0 -44
  260. data/spec/mailers/order_mailer_spec.rb +0 -117
  261. data/spec/mailers/promotion_code_batch_mailer_spec.rb +0 -47
  262. data/spec/mailers/reimbursement_mailer_spec.rb +0 -36
  263. data/spec/mailers/test_mailer_spec.rb +0 -13
  264. data/spec/models/spree/ability_spec.rb +0 -279
  265. data/spec/models/spree/address_spec.rb +0 -399
  266. data/spec/models/spree/adjustment_reason_spec.rb +0 -11
  267. data/spec/models/spree/adjustment_spec.rb +0 -339
  268. data/spec/models/spree/asset_spec.rb +0 -25
  269. data/spec/models/spree/calculator/default_tax_spec.rb +0 -260
  270. data/spec/models/spree/calculator/distributed_amount_spec.rb +0 -82
  271. data/spec/models/spree/calculator/flat_percent_item_total_spec.rb +0 -39
  272. data/spec/models/spree/calculator/flat_rate_spec.rb +0 -52
  273. data/spec/models/spree/calculator/flexi_rate_spec.rb +0 -158
  274. data/spec/models/spree/calculator/free_shipping_spec.rb +0 -8
  275. data/spec/models/spree/calculator/percent_on_line_item_spec.rb +0 -20
  276. data/spec/models/spree/calculator/percent_per_item_spec.rb +0 -12
  277. data/spec/models/spree/calculator/price_sack_spec.rb +0 -35
  278. data/spec/models/spree/calculator/refunds/default_refund_amount_spec.rb +0 -70
  279. data/spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb +0 -44
  280. data/spec/models/spree/calculator/shipping/flat_rate_spec.rb +0 -18
  281. data/spec/models/spree/calculator/shipping/flexi_rate_spec.rb +0 -56
  282. data/spec/models/spree/calculator/shipping/per_item_spec.rb +0 -25
  283. data/spec/models/spree/calculator/shipping/price_sack_spec.rb +0 -44
  284. data/spec/models/spree/calculator/tiered_flat_rate_spec.rb +0 -99
  285. data/spec/models/spree/calculator/tiered_percent_spec.rb +0 -197
  286. data/spec/models/spree/calculator_spec.rb +0 -43
  287. data/spec/models/spree/carton_spec.rb +0 -145
  288. data/spec/models/spree/classification_spec.rb +0 -126
  289. data/spec/models/spree/concerns/display_money_spec.rb +0 -44
  290. data/spec/models/spree/concerns/ordered_property_value_list_spec.rb +0 -52
  291. data/spec/models/spree/concerns/user_address_book_spec.rb +0 -358
  292. data/spec/models/spree/concerns/user_methods_spec.rb +0 -122
  293. data/spec/models/spree/country_spec.rb +0 -154
  294. data/spec/models/spree/credit_card_spec.rb +0 -373
  295. data/spec/models/spree/customer_return_spec.rb +0 -294
  296. data/spec/models/spree/distributed_amounts_handler_spec.rb +0 -83
  297. data/spec/models/spree/exchange_spec.rb +0 -76
  298. data/spec/models/spree/fulfilment_changer_spec.rb +0 -340
  299. data/spec/models/spree/gallery/product_gallery_spec.rb +0 -21
  300. data/spec/models/spree/gallery/variant_gallery_spec.rb +0 -21
  301. data/spec/models/spree/gateway/bogus_simple.rb +0 -14
  302. data/spec/models/spree/gateway/bogus_spec.rb +0 -14
  303. data/spec/models/spree/gateway_spec.rb +0 -14
  304. data/spec/models/spree/image_spec.rb +0 -25
  305. data/spec/models/spree/inventory_unit_spec.rb +0 -309
  306. data/spec/models/spree/line_item_spec.rb +0 -240
  307. data/spec/models/spree/option_type_spec.rb +0 -16
  308. data/spec/models/spree/option_value_spec.rb +0 -52
  309. data/spec/models/spree/order/address_spec.rb +0 -52
  310. data/spec/models/spree/order/adjustments_spec.rb +0 -29
  311. data/spec/models/spree/order/callbacks_spec.rb +0 -44
  312. data/spec/models/spree/order/checkout_spec.rb +0 -740
  313. data/spec/models/spree/order/finalizing_spec.rb +0 -92
  314. data/spec/models/spree/order/number_generator_spec.rb +0 -47
  315. data/spec/models/spree/order/outstanding_balance_integration_spec.rb +0 -138
  316. data/spec/models/spree/order/payment_spec.rb +0 -280
  317. data/spec/models/spree/order/risk_assessment_spec.rb +0 -70
  318. data/spec/models/spree/order/state_machine_spec.rb +0 -122
  319. data/spec/models/spree/order/totals_spec.rb +0 -26
  320. data/spec/models/spree/order/validations_spec.rb +0 -17
  321. data/spec/models/spree/order_cancellations_spec.rb +0 -233
  322. data/spec/models/spree/order_capturing_spec.rb +0 -16
  323. data/spec/models/spree/order_contents_spec.rb +0 -362
  324. data/spec/models/spree/order_inventory_spec.rb +0 -285
  325. data/spec/models/spree/order_merger_spec.rb +0 -162
  326. data/spec/models/spree/order_mutex_spec.rb +0 -89
  327. data/spec/models/spree/order_promotion_spec.rb +0 -33
  328. data/spec/models/spree/order_shipping_spec.rb +0 -247
  329. data/spec/models/spree/order_spec.rb +0 -1687
  330. data/spec/models/spree/order_taxation_spec.rb +0 -128
  331. data/spec/models/spree/order_update_attributes_spec.rb +0 -49
  332. data/spec/models/spree/order_updater_spec.rb +0 -556
  333. data/spec/models/spree/payment/cancellation_spec.rb +0 -84
  334. data/spec/models/spree/payment_create_spec.rb +0 -195
  335. data/spec/models/spree/payment_method/bogus_credit_card_spec.rb +0 -10
  336. data/spec/models/spree/payment_method/check_spec.rb +0 -80
  337. data/spec/models/spree/payment_method/credit_card_spec.rb +0 -68
  338. data/spec/models/spree/payment_method/simple_bogus_credit_card_spec.rb +0 -20
  339. data/spec/models/spree/payment_method/store_credit_spec.rb +0 -325
  340. data/spec/models/spree/payment_method_spec.rb +0 -408
  341. data/spec/models/spree/payment_spec.rb +0 -1270
  342. data/spec/models/spree/permission_sets/base_spec.rb +0 -14
  343. data/spec/models/spree/permission_sets/configuration_display.rb +0 -79
  344. data/spec/models/spree/permission_sets/configuration_management_spec.rb +0 -49
  345. data/spec/models/spree/permission_sets/dashboard_display_spec.rb +0 -23
  346. data/spec/models/spree/permission_sets/order_display_spec.rb +0 -56
  347. data/spec/models/spree/permission_sets/order_management_spec.rb +0 -43
  348. data/spec/models/spree/permission_sets/product_display_spec.rb +0 -57
  349. data/spec/models/spree/permission_sets/product_management_spec.rb +0 -39
  350. data/spec/models/spree/permission_sets/promotion_display_spec.rb +0 -41
  351. data/spec/models/spree/permission_sets/promotion_management_spec.rb +0 -29
  352. data/spec/models/spree/permission_sets/restricted_stock_display_spec.rb +0 -42
  353. data/spec/models/spree/permission_sets/restricted_stock_management_spec.rb +0 -42
  354. data/spec/models/spree/permission_sets/stock_display_spec.rb +0 -25
  355. data/spec/models/spree/permission_sets/stock_management_spec.rb +0 -23
  356. data/spec/models/spree/permission_sets/user_display_spec.rb +0 -39
  357. data/spec/models/spree/permission_sets/user_management_spec.rb +0 -58
  358. data/spec/models/spree/preference_spec.rb +0 -79
  359. data/spec/models/spree/preferences/configuration_spec.rb +0 -27
  360. data/spec/models/spree/preferences/preferable_spec.rb +0 -334
  361. data/spec/models/spree/preferences/scoped_store_spec.rb +0 -62
  362. data/spec/models/spree/preferences/static_model_preferences_spec.rb +0 -79
  363. data/spec/models/spree/preferences/statically_configurable_spec.rb +0 -67
  364. data/spec/models/spree/preferences/store_spec.rb +0 -40
  365. data/spec/models/spree/price_spec.rb +0 -150
  366. data/spec/models/spree/product/scopes_spec.rb +0 -164
  367. data/spec/models/spree/product_duplicator_spec.rb +0 -92
  368. data/spec/models/spree/product_filter_spec.rb +0 -28
  369. data/spec/models/spree/product_property_spec.rb +0 -20
  370. data/spec/models/spree/product_spec.rb +0 -584
  371. data/spec/models/spree/promotion/actions/create_adjustment_spec.rb +0 -126
  372. data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +0 -198
  373. data/spec/models/spree/promotion/actions/create_quantity_adjustments_spec.rb +0 -298
  374. data/spec/models/spree/promotion/actions/free_shipping_spec.rb +0 -61
  375. data/spec/models/spree/promotion/rules/first_order_spec.rb +0 -87
  376. data/spec/models/spree/promotion/rules/first_repeat_purchase_since_spec.rb +0 -71
  377. data/spec/models/spree/promotion/rules/item_total_spec.rb +0 -128
  378. data/spec/models/spree/promotion/rules/nth_order_spec.rb +0 -72
  379. data/spec/models/spree/promotion/rules/one_use_per_user_spec.rb +0 -54
  380. data/spec/models/spree/promotion/rules/option_value_spec.rb +0 -96
  381. data/spec/models/spree/promotion/rules/product_spec.rb +0 -193
  382. data/spec/models/spree/promotion/rules/store_spec.rb +0 -35
  383. data/spec/models/spree/promotion/rules/taxon_spec.rb +0 -226
  384. data/spec/models/spree/promotion/rules/user_logged_in_spec.rb +0 -33
  385. data/spec/models/spree/promotion/rules/user_role_spec.rb +0 -88
  386. data/spec/models/spree/promotion/rules/user_spec.rb +0 -39
  387. data/spec/models/spree/promotion_action_spec.rb +0 -44
  388. data/spec/models/spree/promotion_category_spec.rb +0 -19
  389. data/spec/models/spree/promotion_code/batch_builder_spec.rb +0 -107
  390. data/spec/models/spree/promotion_code_batch_spec.rb +0 -54
  391. data/spec/models/spree/promotion_code_spec.rb +0 -206
  392. data/spec/models/spree/promotion_handler/cart_spec.rb +0 -132
  393. data/spec/models/spree/promotion_handler/coupon_spec.rb +0 -419
  394. data/spec/models/spree/promotion_handler/page_spec.rb +0 -45
  395. data/spec/models/spree/promotion_handler/shipping_spec.rb +0 -96
  396. data/spec/models/spree/promotion_rule_spec.rb +0 -34
  397. data/spec/models/spree/promotion_spec.rb +0 -945
  398. data/spec/models/spree/refund_spec.rb +0 -200
  399. data/spec/models/spree/reimbursement/credit_spec.rb +0 -38
  400. data/spec/models/spree/reimbursement/reimbursement_type_engine_spec.rb +0 -144
  401. data/spec/models/spree/reimbursement/reimbursement_type_validator_spec.rb +0 -85
  402. data/spec/models/spree/reimbursement_performer_spec.rb +0 -33
  403. data/spec/models/spree/reimbursement_spec.rb +0 -278
  404. data/spec/models/spree/reimbursement_tax_calculator_spec.rb +0 -52
  405. data/spec/models/spree/reimbursement_type/credit_spec.rb +0 -56
  406. data/spec/models/spree/reimbursement_type/exchange_spec.rb +0 -48
  407. data/spec/models/spree/reimbursement_type/original_payment_spec.rb +0 -110
  408. data/spec/models/spree/reimbursement_type/store_credit_spec.rb +0 -111
  409. data/spec/models/spree/return_authorization_spec.rb +0 -226
  410. data/spec/models/spree/return_item/eligibility_validator/default_spec.rb +0 -79
  411. data/spec/models/spree/return_item/eligibility_validator/inventory_shipped_spec.rb +0 -59
  412. data/spec/models/spree/return_item/eligibility_validator/no_reimbursements_spec.rb +0 -86
  413. data/spec/models/spree/return_item/eligibility_validator/order_completed_spec.rb +0 -35
  414. data/spec/models/spree/return_item/eligibility_validator/rma_required_spec.rb +0 -31
  415. data/spec/models/spree/return_item/eligibility_validator/time_since_purchase_spec.rb +0 -42
  416. data/spec/models/spree/return_item/exchange_variant_eligibility/same_option_value_spec.rb +0 -66
  417. data/spec/models/spree/return_item/exchange_variant_eligibility/same_product_spec.rb +0 -43
  418. data/spec/models/spree/return_item_spec.rb +0 -785
  419. data/spec/models/spree/returns_calculator_spec.rb +0 -16
  420. data/spec/models/spree/shipment_spec.rb +0 -914
  421. data/spec/models/spree/shipping_calculator_spec.rb +0 -45
  422. data/spec/models/spree/shipping_manifest_spec.rb +0 -110
  423. data/spec/models/spree/shipping_method_spec.rb +0 -292
  424. data/spec/models/spree/shipping_rate_spec.rb +0 -154
  425. data/spec/models/spree/shipping_rate_tax_spec.rb +0 -79
  426. data/spec/models/spree/state_spec.rb +0 -43
  427. data/spec/models/spree/stock/allocator/on_hand_first_spec.rb +0 -146
  428. data/spec/models/spree/stock/availability_spec.rb +0 -143
  429. data/spec/models/spree/stock/availability_validator_spec.rb +0 -140
  430. data/spec/models/spree/stock/content_item_spec.rb +0 -70
  431. data/spec/models/spree/stock/differentiator_spec.rb +0 -41
  432. data/spec/models/spree/stock/estimator_spec.rb +0 -241
  433. data/spec/models/spree/stock/inventory_unit_builder_spec.rb +0 -34
  434. data/spec/models/spree/stock/inventory_units_finalizer_spec.rb +0 -58
  435. data/spec/models/spree/stock/location_filter/active_spec.rb +0 -22
  436. data/spec/models/spree/stock/location_sorter/default_first_spec.rb +0 -22
  437. data/spec/models/spree/stock/location_sorter/unsorted_spec.rb +0 -21
  438. data/spec/models/spree/stock/package_spec.rb +0 -182
  439. data/spec/models/spree/stock/quantifier_spec.rb +0 -113
  440. data/spec/models/spree/stock/shipping_rate_selector_spec.rb +0 -18
  441. data/spec/models/spree/stock/shipping_rate_sorter_spec.rb +0 -18
  442. data/spec/models/spree/stock/simple_coordinator_spec.rb +0 -264
  443. data/spec/models/spree/stock/splitter/backordered_spec.rb +0 -31
  444. data/spec/models/spree/stock/splitter/base_spec.rb +0 -22
  445. data/spec/models/spree/stock/splitter/shipping_category_spec.rb +0 -48
  446. data/spec/models/spree/stock/splitter/weight_spec.rb +0 -31
  447. data/spec/models/spree/stock/splitter_chain_spec.rb +0 -66
  448. data/spec/models/spree/stock_item_spec.rb +0 -348
  449. data/spec/models/spree/stock_location_spec.rb +0 -288
  450. data/spec/models/spree/stock_movement_spec.rb +0 -58
  451. data/spec/models/spree/stock_quantities_spec.rb +0 -249
  452. data/spec/models/spree/store_credit_category_spec.rb +0 -19
  453. data/spec/models/spree/store_credit_event_spec.rb +0 -328
  454. data/spec/models/spree/store_credit_spec.rb +0 -900
  455. data/spec/models/spree/store_selector/by_server_name_spec.rb +0 -28
  456. data/spec/models/spree/store_selector/legacy_spec.rb +0 -46
  457. data/spec/models/spree/store_spec.rb +0 -156
  458. data/spec/models/spree/tax/order_adjuster_spec.rb +0 -35
  459. data/spec/models/spree/tax/shipping_rate_taxer_spec.rb +0 -59
  460. data/spec/models/spree/tax/tax_location_spec.rb +0 -79
  461. data/spec/models/spree/tax/taxation_integration_spec.rb +0 -815
  462. data/spec/models/spree/tax_calculator/default_spec.rb +0 -56
  463. data/spec/models/spree/tax_category_spec.rb +0 -50
  464. data/spec/models/spree/tax_rate_spec.rb +0 -317
  465. data/spec/models/spree/taxon_spec.rb +0 -197
  466. data/spec/models/spree/taxonomy_spec.rb +0 -15
  467. data/spec/models/spree/taxons/paperclip_attachment_spec.rb +0 -29
  468. data/spec/models/spree/unit_cancel_spec.rb +0 -126
  469. data/spec/models/spree/user_last_url_storer/rules/authentication_rule_spec.rb +0 -31
  470. data/spec/models/spree/user_last_url_storer_spec.rb +0 -60
  471. data/spec/models/spree/user_spec.rb +0 -247
  472. data/spec/models/spree/validations/db_maximum_length_validator_spec.rb +0 -33
  473. data/spec/models/spree/variant/price_selector_spec.rb +0 -90
  474. data/spec/models/spree/variant/pricing_options_spec.rb +0 -204
  475. data/spec/models/spree/variant/scopes_spec.rb +0 -94
  476. data/spec/models/spree/variant/vat_price_generator_spec.rb +0 -77
  477. data/spec/models/spree/variant_property_rule_condition_spec.rb +0 -17
  478. data/spec/models/spree/variant_property_rule_spec.rb +0 -85
  479. data/spec/models/spree/variant_property_rule_value_spec.rb +0 -20
  480. data/spec/models/spree/variant_spec.rb +0 -862
  481. data/spec/models/spree/wallet_payment_source_spec.rb +0 -77
  482. data/spec/models/spree/wallet_spec.rb +0 -155
  483. data/spec/models/spree/zone_spec.rb +0 -248
  484. data/spec/rails_helper.rb +0 -46
  485. data/spec/shared_examples/calculator_shared_examples.rb +0 -10
  486. data/spec/spec_helper.rb +0 -36
  487. data/spec/support/big_decimal.rb +0 -7
  488. data/spec/support/concerns/default_price.rb +0 -44
  489. data/spec/support/concerns/payment_source.rb +0 -66
  490. data/spec/support/concerns/working_factories.rb +0 -15
  491. data/spec/support/dummy_ability.rb +0 -7
  492. /data/lib/generators/{spree → solidus}/install/templates/vendor/assets/javascripts/spree/backend/all.js +0 -0
  493. /data/lib/generators/{spree → solidus}/install/templates/vendor/assets/javascripts/spree/frontend/all.js +0 -0
  494. /data/lib/generators/{spree → solidus}/install/templates/vendor/assets/stylesheets/spree/backend/all.css +0 -0
  495. /data/lib/generators/{spree → solidus}/install/templates/vendor/assets/stylesheets/spree/frontend/all.css +0 -0
@@ -1,376 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails_helper'
4
- require 'spree/testing_support/factories/order_factory'
5
-
6
- RSpec.shared_examples "shipping methods are assigned" do
7
- context "given a shipping method" do
8
- let(:shipping_method) { create(:shipping_method) }
9
-
10
- it "assigns the shipping method when created" do
11
- expect(
12
- create(
13
- factory,
14
- shipping_method: shipping_method
15
- ).shipments.map(&:shipping_method)
16
- ).to all(eq(shipping_method))
17
- end
18
-
19
- it "assigns the shipping method when built" do
20
- expect(
21
- build(
22
- factory,
23
- shipping_method: shipping_method
24
- ).shipments.map(&:shipping_method)
25
- ).to all(eq(shipping_method))
26
- end
27
- end
28
- end
29
-
30
- RSpec.shared_examples "an order with line items factory" do |expected_order_state, expected_inventory_unit_state|
31
- # This factory cannot be built correctly because Shipment#set_up_inventory
32
- # requires records to be saved.
33
- context "when created" do
34
- let(:stock_location) { create(:stock_location) }
35
- let(:first_variant) { create(:variant) }
36
- let(:second_variant) { create(:variant) }
37
- let(:shipping_method) { create(:shipping_method) }
38
- let(:order) do
39
- create(
40
- factory,
41
- stock_location: stock_location,
42
- line_items_attributes: [
43
- { variant: first_variant, quantity: 1, price: 1 },
44
- { variant: second_variant, quantity: 2, price: 2 }
45
- ],
46
- shipment_cost: 3,
47
- shipping_method: shipping_method
48
- )
49
- end
50
-
51
- it "has the expected attributes" do
52
- aggregate_failures "for line items" do
53
- expect(order.line_items.count).to eq 2
54
- expect(order.line_items[0]).to have_attributes(
55
- quantity: 1,
56
- price: 1.0
57
- )
58
- expect(order.line_items[1]).to have_attributes(
59
- price: 2.0,
60
- quantity: 2
61
- )
62
- end
63
-
64
- aggregate_failures "for shipments" do
65
- expect(order.shipments.count).to eq 1
66
- expect(order.shipments[0]).to have_attributes(
67
- amount: 3.0,
68
- stock_location: stock_location
69
- )
70
-
71
- expect(order.shipments[0].shipping_method).to eq(shipping_method)
72
-
73
- # Explicitly order by line item id, because otherwise these can be in
74
- # an arbitrary order.
75
- inventory_units = order.shipments[0].inventory_units.sort_by(&:line_item_id)
76
-
77
- expect(inventory_units.count).to eq(3)
78
- expect(inventory_units[0]).to have_attributes(
79
- order: order,
80
- shipment: order.shipments[0],
81
- line_item: order.line_items[0],
82
- variant: order.line_items[0].variant,
83
- state: expected_inventory_unit_state
84
- )
85
- expect(inventory_units[1]).to have_attributes(
86
- order: order,
87
- shipment: order.shipments[0],
88
- line_item: order.line_items[1],
89
- variant: order.line_items[1].variant,
90
- state: expected_inventory_unit_state
91
- )
92
- expect(inventory_units[2]).to have_attributes(
93
- order: order,
94
- shipment: order.shipments[0],
95
- line_item: order.line_items[1],
96
- variant: order.line_items[1].variant,
97
- state: expected_inventory_unit_state
98
- )
99
- end
100
-
101
- expect(order).to have_attributes(
102
- item_total: 5.0,
103
- ship_total: 3.0,
104
- total: 8.0,
105
- state: expected_order_state
106
- )
107
- end
108
- end
109
-
110
- context 'when shipments should be taxed' do
111
- let!(:ship_address) { create(:address) }
112
- let!(:tax_zone) { create(:global_zone) } # will include the above address
113
- let!(:tax_rate) { create(:tax_rate, amount: 0.10, zone: tax_zone, tax_categories: [tax_category]) }
114
-
115
- let(:tax_category) { create(:tax_category) }
116
- let(:shipping_method) { create(:shipping_method, tax_category: tax_category, zones: [tax_zone]) }
117
-
118
- it 'shipments get a tax adjustment' do
119
- order = create(factory, ship_address: ship_address, shipping_method: shipping_method)
120
- shipment = order.shipments[0]
121
-
122
- expect(shipment.additional_tax_total).to be > 0
123
- end
124
- end
125
- end
126
- RSpec.describe 'order factory' do
127
- let(:factory_class) { Spree::Order }
128
-
129
- describe 'plain order' do
130
- let(:factory) { :order }
131
-
132
- it_behaves_like 'a working factory'
133
-
134
- shared_examples "it has the expected attributes" do
135
- it do
136
- aggregate_failures do
137
- expect(order.bill_address).to be_present
138
- expect(order.ship_address).to be_present
139
- expect(order.user).to be_present
140
- expect(order.email).to be_present
141
- expect(order.email).to eq(order.user.email)
142
- expect(order.state).to eq "cart"
143
- expect(order.store).to be_present
144
- expect(order).not_to be_completed
145
- end
146
- end
147
- end
148
-
149
- context "when built" do
150
- let(:order) { build(factory) }
151
- it_behaves_like "it has the expected attributes"
152
- end
153
-
154
- context "when created" do
155
- let(:order) { create(factory) }
156
- it_behaves_like "it has the expected attributes"
157
- end
158
- end
159
-
160
- describe 'order with totals' do
161
- let(:factory) { :order_with_totals }
162
-
163
- it_behaves_like 'a working factory'
164
-
165
- context "when built" do
166
- let(:order) { build(factory, line_items_price: 77) }
167
-
168
- it "has all the expected attributes but total" do
169
- aggregate_failures do
170
- expect(order.total).to eq 0
171
- expect(order.line_items.length).to eq 1
172
- expect(order.line_items.first.price).to eq 77
173
- end
174
- end
175
- end
176
-
177
- context "when created" do
178
- let(:order) { create(factory, line_items_price: 77) }
179
-
180
- it "has the expected attributes" do
181
- aggregate_failures do
182
- expect(order.total).to eq order.line_items.sum(&:total)
183
- expect(order.line_items.length).to eq 1
184
- expect(order.line_items.first.price).to eq 77
185
- end
186
- end
187
- end
188
- end
189
-
190
- describe 'order with line items' do
191
- let(:factory) { :order_with_line_items }
192
-
193
- it_behaves_like 'a working factory'
194
- it_behaves_like 'an order with line items factory', "cart", "on_hand"
195
- it_behaves_like 'shipping methods are assigned'
196
- end
197
-
198
- describe 'completed order with promotion' do
199
- let(:factory) { :completed_order_with_promotion }
200
-
201
- it_behaves_like 'a working factory'
202
- it_behaves_like 'an order with line items factory', "complete", "on_hand"
203
- it_behaves_like 'shipping methods are assigned'
204
-
205
- it "has the expected attributes" do
206
- order = create(factory)
207
- aggregate_failures do
208
- expect(order).to be_completed
209
- expect(order).to be_complete
210
-
211
- expect(order.order_promotions.count).to eq(1)
212
- order_promotion = order.order_promotions[0]
213
- expect(order_promotion.promotion_code.promotion).to eq order_promotion.promotion
214
- end
215
- end
216
-
217
- context 'with a promotion with an action' do
218
- let(:promotion) { create(:promotion, :with_line_item_adjustment) }
219
- it "has the expected attributes" do
220
- order = create(factory, promotion: promotion)
221
- aggregate_failures do
222
- expect(order).to be_completed
223
- expect(order).to be_complete
224
-
225
- expect(order.line_items[0].adjustments.count).to eq 1
226
- adjustment = order.line_items[0].adjustments[0]
227
- expect(adjustment).to have_attributes(
228
- amount: -10,
229
- eligible: true,
230
- order_id: order.id
231
- )
232
- end
233
- end
234
- end
235
- end
236
-
237
- describe 'order ready to complete' do
238
- let(:factory) { :order_ready_to_complete }
239
-
240
- it_behaves_like 'a working factory'
241
- it_behaves_like 'an order with line items factory', "confirm", "on_hand"
242
- it_behaves_like 'shipping methods are assigned'
243
-
244
- it "is completable" do
245
- order = create(factory)
246
-
247
- expect { order.complete! }.to change {
248
- order.complete?
249
- }.from(false).to(true)
250
- end
251
- end
252
-
253
- describe 'completed order with totals' do
254
- let(:factory) { :completed_order_with_totals }
255
-
256
- it_behaves_like 'a working factory'
257
- it_behaves_like 'an order with line items factory', "complete", "on_hand"
258
- it_behaves_like 'shipping methods are assigned'
259
-
260
- it "has the expected attributes" do
261
- order = create(factory)
262
- aggregate_failures do
263
- expect(order).to be_completed
264
- expect(order).to have_attributes(
265
- item_total: 10,
266
- ship_total: 100,
267
- total: 110,
268
- state: 'complete'
269
- )
270
- expect(order.inventory_units.where(pending: true)).to be_empty
271
- expect(order.inventory_units.where(pending: false)).to_not be_empty
272
- end
273
- end
274
- end
275
-
276
- describe 'completed order with pending payment' do
277
- let(:factory) { :completed_order_with_pending_payment }
278
-
279
- it_behaves_like 'a working factory'
280
- it_behaves_like 'an order with line items factory', "complete", "on_hand"
281
- it_behaves_like 'shipping methods are assigned'
282
-
283
- it "has the expected attributes" do
284
- order = create(factory)
285
- aggregate_failures do
286
- expect(order).to be_completed
287
- expect(order).to have_attributes(
288
- payment_state: 'balance_due',
289
- total: 110,
290
- payment_total: 0 # payment is still pending
291
- )
292
-
293
- expect(order.payments.count).to eq 1
294
- expect(order.payments[0]).to have_attributes(
295
- amount: 110,
296
- state: 'pending'
297
- )
298
- end
299
- end
300
- end
301
-
302
- describe 'order ready to ship' do
303
- let(:factory) { :order_ready_to_ship }
304
-
305
- it_behaves_like 'a working factory'
306
- it_behaves_like 'an order with line items factory', "complete", "on_hand"
307
- it_behaves_like 'shipping methods are assigned'
308
-
309
- it "has the expected attributes" do
310
- order = create(factory)
311
- aggregate_failures do
312
- expect(order).to be_completed
313
- expect(order).to have_attributes(
314
- total: 110,
315
- payment_total: 110,
316
- payment_state: "paid",
317
- shipment_state: "ready"
318
- )
319
-
320
- expect(order.payments.count).to eq 1
321
- expect(order.payments[0]).to have_attributes(
322
- amount: 110,
323
- state: 'completed'
324
- )
325
-
326
- expect(order.shipments.count).to eq 1
327
- expect(order.shipments[0]).to have_attributes(
328
- state: 'ready'
329
- )
330
- end
331
- end
332
-
333
- it "can be shipped" do
334
- order = create(factory)
335
- order.shipments[0].ship
336
- aggregate_failures do
337
- expect(order.shipment_state).to eq "shipped"
338
- expect(order.shipments[0]).to be_shipped
339
- end
340
- end
341
- end
342
-
343
- describe 'shipped order' do
344
- let(:factory) { :shipped_order }
345
-
346
- it_behaves_like 'a working factory'
347
- it_behaves_like 'an order with line items factory', "complete", "shipped"
348
- it_behaves_like 'shipping methods are assigned'
349
-
350
- it "has the expected attributes" do
351
- order = create(factory)
352
- aggregate_failures do
353
- expect(order).to be_completed
354
- expect(order).to have_attributes(
355
- total: 110,
356
- payment_total: 110,
357
- payment_state: "paid",
358
- shipment_state: "shipped"
359
- )
360
-
361
- expect(order.payments.count).to eq 1
362
- expect(order.payments[0]).to have_attributes(
363
- amount: 110,
364
- state: 'completed'
365
- )
366
-
367
- expect(order.shipments.count).to eq 1
368
- expect(order.shipments[0]).to have_attributes(
369
- state: 'shipped'
370
- )
371
-
372
- expect(order.cartons.count).to eq 1
373
- end
374
- end
375
- end
376
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails_helper'
4
- require 'spree/testing_support/factories/order_promotion_factory'
5
-
6
- RSpec.describe 'order promotion factory' do
7
- let(:factory_class) { Spree::OrderPromotion }
8
-
9
- describe 'plain order promotion' do
10
- let(:factory) { :order_promotion }
11
-
12
- it_behaves_like 'a working factory'
13
- end
14
- end
@@ -1,40 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails_helper'
4
- require 'spree/testing_support/factories/payment_factory'
5
-
6
- RSpec.describe 'payment factory' do
7
- let(:factory_class) { Spree::Payment }
8
-
9
- describe 'plain (credit card) payment' do
10
- let(:factory) { :payment }
11
-
12
- it_behaves_like 'a working factory'
13
-
14
- it "assigns the Order's user to the created Credit Card" do
15
- payment = create(factory)
16
- expect(payment.source.user).to be_present
17
- expect(payment.source.user).to eq payment.order.user
18
- end
19
-
20
- it 'uses the orders bill address for the credit card' do
21
- address = create(:address)
22
- order = create(:order, bill_address: address)
23
- payment = create(factory, order: order)
24
-
25
- expect(payment.source.address).to eq address
26
- end
27
- end
28
-
29
- describe 'check payment' do
30
- let(:factory) { :check_payment }
31
-
32
- it_behaves_like 'a working factory'
33
- end
34
-
35
- describe 'store credit payment' do
36
- let(:factory) { :store_credit_payment }
37
-
38
- it_behaves_like 'a working factory'
39
- end
40
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails_helper'
4
- require 'spree/testing_support/factories/payment_method_factory'
5
-
6
- RSpec.describe 'payment method factory' do
7
- let(:factory_class) { Spree::PaymentMethod }
8
-
9
- describe 'plain payment method' do
10
- let(:factory) { :payment_method }
11
-
12
- it_behaves_like 'a working factory'
13
- end
14
-
15
- describe 'check payment method' do
16
- let(:factory) { :check_payment_method }
17
-
18
- it_behaves_like 'a working factory'
19
- end
20
-
21
- describe 'store credit payment method' do
22
- let(:factory) { :store_credit_payment_method }
23
-
24
- it_behaves_like 'a working factory'
25
- end
26
-
27
- describe 'simple credit card payment method' do
28
- let(:factory) { :simple_credit_card_payment_method }
29
-
30
- it_behaves_like 'a working factory'
31
- end
32
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails_helper'
4
- require 'spree/testing_support/factories/price_factory'
5
-
6
- RSpec.describe 'price factory' do
7
- let(:factory_class) { Spree::Price }
8
-
9
- describe 'plain price' do
10
- let(:factory) { :price }
11
-
12
- it_behaves_like 'a working factory'
13
- end
14
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails_helper'
4
- require 'spree/testing_support/factories/product_factory'
5
-
6
- RSpec.describe 'product factory' do
7
- let(:factory_class) { Spree::Product }
8
-
9
- describe 'plain product' do
10
- let(:factory) { :product }
11
-
12
- it_behaves_like 'a working factory'
13
- end
14
-
15
- describe 'base product' do
16
- let(:factory) { :base_product }
17
-
18
- it_behaves_like 'a working factory'
19
- end
20
-
21
- describe 'custom product' do
22
- let(:factory) { :custom_product }
23
-
24
- it_behaves_like 'a working factory'
25
- end
26
-
27
- describe 'product with option types' do
28
- let(:factory) { :product_with_option_types }
29
-
30
- it_behaves_like 'a working factory'
31
- end
32
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails_helper'
4
- require 'spree/testing_support/factories/product_option_type_factory'
5
-
6
- RSpec.describe 'product option type factory' do
7
- let(:factory_class) { Spree::ProductOptionType }
8
-
9
- describe 'plain product option type' do
10
- let(:factory) { :product_option_type }
11
-
12
- it_behaves_like 'a working factory'
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails_helper'
4
- require 'spree/testing_support/factories/product_property_factory'
5
-
6
- RSpec.describe 'product property factory' do
7
- let(:factory_class) { Spree::ProductProperty }
8
-
9
- describe 'plain product property' do
10
- let(:factory) { :product_property }
11
-
12
- it_behaves_like 'a working factory'
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails_helper'
4
- require 'spree/testing_support/factories/promotion_category_factory'
5
-
6
- RSpec.describe 'promotion category factory' do
7
- let(:factory_class) { Spree::PromotionCategory }
8
-
9
- describe 'plain promotion category' do
10
- let(:factory) { :promotion_category }
11
-
12
- it_behaves_like 'a working factory'
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails_helper'
4
- require 'spree/testing_support/factories/promotion_code_factory'
5
-
6
- RSpec.describe 'promotion code factory' do
7
- let(:factory_class) { Spree::PromotionCode }
8
-
9
- describe 'plain promotion code' do
10
- let(:factory) { :promotion_code }
11
-
12
- it_behaves_like 'a working factory'
13
- end
14
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails_helper'
4
- require 'spree/testing_support/factories/promotion_factory'
5
-
6
- RSpec.describe 'promotion code factory' do
7
- let(:factory_class) { Spree::Promotion }
8
-
9
- describe 'plain promotion' do
10
- let(:factory) { :promotion }
11
-
12
- it_behaves_like 'a working factory'
13
- end
14
-
15
- describe 'promotion with item adjustment' do
16
- let(:factory) { :promotion_with_item_adjustment }
17
-
18
- it_behaves_like 'a working factory'
19
- end
20
-
21
- describe 'promotion with order adjustment' do
22
- let(:factory) { :promotion_with_order_adjustment }
23
-
24
- it_behaves_like 'a working factory'
25
- end
26
-
27
- describe 'promotion with item total rule' do
28
- let(:factory) { :promotion_with_item_total_rule }
29
-
30
- it_behaves_like 'a working factory'
31
- end
32
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails_helper'
4
- require 'spree/testing_support/factories/property_factory'
5
-
6
- RSpec.describe 'property factory' do
7
- let(:factory_class) { Spree::Property }
8
-
9
- describe 'plain property' do
10
- let(:factory) { :property }
11
-
12
- it_behaves_like 'a working factory'
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails_helper'
4
- require 'spree/testing_support/factories/refund_factory'
5
-
6
- RSpec.describe 'refund factory' do
7
- let(:factory_class) { Spree::Refund }
8
-
9
- describe 'plain refund' do
10
- let(:factory) { :refund }
11
-
12
- it_behaves_like 'a working factory'
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails_helper'
4
- require 'spree/testing_support/factories/refund_factory'
5
-
6
- RSpec.describe 'refund factory' do
7
- let(:factory_class) { Spree::Refund }
8
-
9
- describe 'plain refund' do
10
- let(:factory) { :refund }
11
-
12
- it_behaves_like 'a working factory'
13
- end
14
- end
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails_helper'
4
- require 'spree/testing_support/factories/reimbursement_factory'
5
-
6
- RSpec.describe 'reimbursement factory' do
7
- let(:factory_class) { Spree::Reimbursement }
8
-
9
- describe 'plain reimbursement' do
10
- let(:factory) { :reimbursement }
11
-
12
- it_behaves_like 'a working factory'
13
- end
14
-
15
- describe 'total' do
16
- subject { FactoryBot.create(:reimbursement).total }
17
-
18
- it { is_expected.to be_present }
19
- end
20
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails_helper'
4
- require 'spree/testing_support/factories/reimbursement_type_factory'
5
-
6
- RSpec.describe 'reimbursement type factory' do
7
- let(:factory_class) { Spree::ReimbursementType }
8
-
9
- describe 'plain reimbursement type' do
10
- let(:factory) { :reimbursement_type }
11
-
12
- it_behaves_like 'a working factory'
13
- end
14
- end