solidus_core 1.1.4 → 1.2.0.beta1

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 (296) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/logo/solidus_logo.png +0 -0
  3. data/app/helpers/spree/base_helper.rb +2 -3
  4. data/app/models/concerns/spree/adjustment_source.rb +1 -1
  5. data/app/models/concerns/spree/default_price.rb +3 -1
  6. data/app/models/concerns/spree/named_type.rb +1 -1
  7. data/app/models/concerns/spree/user_methods.rb +10 -0
  8. data/app/models/spree/adjustment.rb +1 -1
  9. data/app/models/spree/adjustment_reason.rb +2 -4
  10. data/app/models/spree/app_configuration.rb +36 -0
  11. data/app/models/spree/base.rb +10 -1
  12. data/app/models/spree/calculator/tiered_percent.rb +2 -1
  13. data/app/models/spree/classification.rb +1 -1
  14. data/app/models/spree/country.rb +3 -3
  15. data/app/models/spree/credit_card.rb +2 -2
  16. data/app/models/spree/customer_return.rb +3 -4
  17. data/app/models/spree/inventory_unit.rb +13 -24
  18. data/app/models/spree/item_adjustments.rb +5 -5
  19. data/app/models/spree/line_item.rb +6 -15
  20. data/app/models/spree/log_entry.rb +1 -1
  21. data/app/models/spree/option_type.rb +4 -2
  22. data/app/models/spree/option_type_prototype.rb +6 -0
  23. data/app/models/spree/option_value.rb +1 -1
  24. data/app/models/spree/order.rb +18 -63
  25. data/app/models/spree/order/checkout.rb +4 -2
  26. data/app/models/spree/order_cancellations.rb +52 -1
  27. data/app/models/spree/order_contents.rb +1 -1
  28. data/app/models/spree/order_merger.rb +143 -0
  29. data/app/models/spree/order_shipping.rb +3 -3
  30. data/app/models/spree/order_update_attributes.rb +42 -0
  31. data/app/models/spree/order_updater.rb +1 -1
  32. data/app/models/spree/payment.rb +16 -10
  33. data/app/models/spree/payment_create.rb +68 -0
  34. data/app/models/spree/payment_method.rb +0 -1
  35. data/app/models/spree/preference.rb +1 -1
  36. data/app/models/spree/price.rb +1 -8
  37. data/app/models/spree/product.rb +9 -44
  38. data/app/models/spree/product/scopes.rb +9 -7
  39. data/app/models/spree/promotion/rules/nth_order.rb +1 -1
  40. data/app/models/spree/promotion/rules/taxon.rb +2 -1
  41. data/app/models/spree/promotion_chooser.rb +1 -0
  42. data/app/models/spree/promotion_code.rb +1 -1
  43. data/app/models/spree/promotion_rule_taxon.rb +6 -0
  44. data/app/models/spree/property.rb +2 -1
  45. data/app/models/spree/property_prototype.rb +6 -0
  46. data/app/models/spree/prototype.rb +6 -2
  47. data/app/models/spree/reimbursement.rb +10 -0
  48. data/app/models/spree/return_item/eligibility_validator/time_since_purchase.rb +1 -1
  49. data/app/models/spree/return_reason.rb +1 -7
  50. data/app/models/spree/role_user.rb +3 -5
  51. data/app/models/spree/shipment.rb +6 -11
  52. data/app/models/spree/shipping_method.rb +1 -7
  53. data/app/models/spree/shipping_rate.rb +3 -14
  54. data/app/models/spree/stock/coordinator.rb +48 -4
  55. data/app/models/spree/stock/estimator.rb +3 -6
  56. data/app/models/spree/stock/packer.rb +18 -2
  57. data/app/models/spree/stock/shipping_rate_selector.rb +16 -0
  58. data/app/models/spree/stock/shipping_rate_sorter.rb +16 -0
  59. data/app/models/spree/stock_item.rb +19 -15
  60. data/app/models/spree/stock_location.rb +2 -12
  61. data/app/models/spree/stock_transfer.rb +3 -3
  62. data/app/models/spree/store_credit.rb +2 -2
  63. data/app/models/spree/tax_category.rb +3 -2
  64. data/app/models/spree/tax_rate.rb +7 -14
  65. data/app/models/spree/taxon.rb +4 -1
  66. data/app/models/spree/taxonomy.rb +1 -1
  67. data/app/models/spree/transfer_item.rb +2 -2
  68. data/app/models/spree/unit_cancel.rb +2 -0
  69. data/app/models/spree/variant.rb +9 -14
  70. data/app/models/spree/zone.rb +6 -0
  71. data/app/models/spree/zone_member.rb +1 -4
  72. data/app/views/spree/order_mailer/cancel_email.text.erb +0 -0
  73. data/config/locales/en.yml +7 -5
  74. data/db/default/spree/countries.rb +1 -1
  75. data/db/default/spree/zones.rb +5 -11
  76. data/db/migrate/20130213191427_create_default_stock.rb +1 -1
  77. data/db/migrate/20130306181701_add_address_fields_to_stock_location.rb +1 -1
  78. data/db/migrate/20140309033438_create_store_from_preferences.rb +5 -2
  79. data/db/migrate/20141009204607_add_store_id_to_orders.rb +6 -2
  80. data/db/migrate/20141215235502_remove_extra_products_slug_index.rb +5 -0
  81. data/db/migrate/20141217215630_update_product_slug_index.rb +6 -0
  82. data/db/migrate/20150225205344_move_promotion_code_to_promotion_code_value.rb +2 -2
  83. data/db/migrate/20150609093816_increase_scale_on_pre_tax_amounts.rb +10 -0
  84. data/db/migrate/20151117063249_convert_habtm_to_hmt_for_properties_prototypes.rb +17 -0
  85. data/db/migrate/20151124062500_convert_habtm_to_hmt_for_option_type_prototypes.rb +17 -0
  86. data/db/migrate/20151126063028_convert_habtm_to_hmt_for_taxons_promotion_rules.rb +15 -0
  87. data/db/migrate/20151219020209_add_stock_item_unique_index.rb +9 -0
  88. data/lib/generators/spree/dummy/dummy_generator.rb +1 -1
  89. data/lib/generators/spree/dummy/templates/rails/database.yml +1 -1
  90. data/lib/generators/spree/install/templates/config/initializers/spree.rb +25 -1
  91. data/lib/generators/spree/install/templates/vendor/assets/javascripts/spree/backend/all.js +3 -0
  92. data/lib/generators/spree/install/templates/vendor/assets/javascripts/spree/frontend/all.js +3 -0
  93. data/lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/backend/all.css +3 -0
  94. data/lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/frontend/all.css +3 -0
  95. data/lib/spree/core/controller_helpers/common.rb +1 -1
  96. data/lib/spree/core/controller_helpers/order.rb +1 -1
  97. data/lib/spree/core/controller_helpers/payment_parameters.rb +104 -5
  98. data/lib/spree/core/engine.rb +3 -2
  99. data/lib/spree/core/stock_configuration.rb +11 -0
  100. data/lib/spree/core/unreturned_item_charger.rb +4 -4
  101. data/lib/spree/core/version.rb +9 -1
  102. data/lib/spree/permission_sets/restricted_stock_transfer_management.rb +15 -24
  103. data/lib/spree/permitted_attributes.rb +3 -1
  104. data/lib/spree/testing_support/capybara_ext.rb +14 -40
  105. data/lib/spree/testing_support/factories.rb +0 -15
  106. data/lib/spree/testing_support/factories/address_factory.rb +3 -0
  107. data/lib/spree/testing_support/factories/adjustment_factory.rb +9 -1
  108. data/lib/spree/testing_support/factories/carton_factory.rb +4 -1
  109. data/lib/spree/testing_support/factories/customer_return_factory.rb +4 -0
  110. data/lib/spree/testing_support/factories/inventory_unit_factory.rb +5 -0
  111. data/lib/spree/testing_support/factories/line_item_factory.rb +3 -0
  112. data/lib/spree/testing_support/factories/option_type_factory.rb +6 -0
  113. data/lib/spree/testing_support/factories/{options_factory.rb → option_value_factory.rb} +0 -5
  114. data/lib/spree/testing_support/factories/order_factory.rb +13 -3
  115. data/lib/spree/testing_support/factories/order_promotion_factory.rb +3 -0
  116. data/lib/spree/testing_support/factories/payment_factory.rb +13 -5
  117. data/lib/spree/testing_support/factories/price_factory.rb +2 -0
  118. data/lib/spree/testing_support/factories/product_factory.rb +7 -1
  119. data/lib/spree/testing_support/factories/product_option_type_factory.rb +3 -0
  120. data/lib/spree/testing_support/factories/product_property_factory.rb +3 -0
  121. data/lib/spree/testing_support/factories/promotion_code_factory.rb +3 -0
  122. data/lib/spree/testing_support/factories/promotion_factory.rb +3 -0
  123. data/lib/spree/testing_support/factories/prototype_factory.rb +2 -0
  124. data/lib/spree/testing_support/factories/refund_factory.rb +10 -5
  125. data/lib/spree/testing_support/factories/refund_reason_factory.rb +5 -0
  126. data/lib/spree/testing_support/factories/reimbursement_factory.rb +2 -0
  127. data/lib/spree/testing_support/factories/return_authorization_factory.rb +4 -4
  128. data/lib/spree/testing_support/factories/return_item_factory.rb +4 -0
  129. data/lib/spree/testing_support/factories/return_reason_factory.rb +5 -0
  130. data/lib/spree/testing_support/factories/shipment_factory.rb +6 -1
  131. data/lib/spree/testing_support/factories/shipping_method_factory.rb +22 -10
  132. data/lib/spree/testing_support/factories/shipping_rate_factory.rb +9 -0
  133. data/lib/spree/testing_support/factories/state_factory.rb +2 -0
  134. data/lib/spree/testing_support/factories/stock_item_factory.rb +4 -1
  135. data/lib/spree/testing_support/factories/stock_location_factory.rb +8 -0
  136. data/lib/spree/testing_support/factories/stock_movement_factory.rb +2 -0
  137. data/lib/spree/testing_support/factories/{stock_factory.rb → stock_package_factory.rb} +5 -10
  138. data/lib/spree/testing_support/factories/stock_packer_factory.rb +13 -0
  139. data/lib/spree/testing_support/factories/stock_transfer_factory.rb +2 -2
  140. data/lib/spree/testing_support/factories/store_credit_event_factory.rb +4 -1
  141. data/lib/spree/testing_support/factories/store_credit_factory.rb +10 -6
  142. data/lib/spree/testing_support/factories/tax_category_factory.rb +2 -0
  143. data/lib/spree/testing_support/factories/tax_rate_factory.rb +4 -0
  144. data/lib/spree/testing_support/factories/taxon_factory.rb +2 -0
  145. data/lib/spree/testing_support/factories/user_factory.rb +6 -2
  146. data/lib/spree/testing_support/factories/variant_factory.rb +5 -0
  147. data/lib/spree/testing_support/factories/variant_property_rule_condition_factory.rb +3 -0
  148. data/lib/spree/testing_support/factories/variant_property_rule_factory.rb +4 -0
  149. data/lib/spree/testing_support/factories/variant_property_rule_value_factory.rb +3 -0
  150. data/lib/spree/testing_support/factories/zone_factory.rb +6 -0
  151. data/lib/spree/testing_support/sequences.rb +9 -0
  152. data/lib/tasks/exchanges.rake +4 -3
  153. data/lib/tasks/migrations/copy_shipped_shipments_to_cartons.rake +2 -2
  154. data/solidus_core.gemspec +4 -5
  155. data/spec/helpers/base_helper_spec.rb +6 -6
  156. data/spec/helpers/order_helper_spec.rb +1 -1
  157. data/spec/helpers/products_helper_spec.rb +2 -2
  158. data/spec/helpers/taxons_helper_spec.rb +1 -1
  159. data/spec/lib/spree/core/controller_helpers/payment_parameters_spec.rb +107 -7
  160. data/spec/lib/spree/core/importer/order_spec.rb +1 -1
  161. data/spec/lib/spree/core/stock_configuration_spec.rb +16 -0
  162. data/spec/lib/spree/core/testing_support/factories/address_factory_spec.rb +24 -0
  163. data/spec/lib/spree/core/testing_support/factories/adjustment_factory_spec.rb +18 -0
  164. data/spec/lib/spree/core/testing_support/factories/adjustment_reason_factory_spec.rb +12 -0
  165. data/spec/lib/spree/core/testing_support/factories/calculator_factory_spec.rb +42 -0
  166. data/spec/lib/spree/core/testing_support/factories/carton_factory_spec.rb +12 -0
  167. data/spec/lib/spree/core/testing_support/factories/country_factory_spec.rb +12 -0
  168. data/spec/lib/spree/core/testing_support/factories/credit_card_factory_spec.rb +12 -0
  169. data/spec/lib/spree/core/testing_support/factories/customer_return_factory_spec.rb +28 -0
  170. data/spec/lib/spree/core/testing_support/factories/image_factory_spec.rb +12 -0
  171. data/spec/lib/spree/core/testing_support/factories/inventory_unit_factory_spec.rb +12 -0
  172. data/spec/lib/spree/core/testing_support/factories/line_item_factory_spec.rb +12 -0
  173. data/spec/lib/spree/core/testing_support/factories/option_type_factory_spec.rb +12 -0
  174. data/spec/lib/spree/core/testing_support/factories/option_value_factory_spec.rb +12 -0
  175. data/spec/lib/spree/core/testing_support/factories/order_factory_spec.rb +49 -0
  176. data/spec/lib/spree/core/testing_support/factories/order_promotion_factory_spec.rb +12 -0
  177. data/spec/lib/spree/core/testing_support/factories/payment_factory_spec.rb +24 -0
  178. data/spec/lib/spree/core/testing_support/factories/payment_method_factory_spec.rb +30 -0
  179. data/spec/lib/spree/core/testing_support/factories/price_factory_spec.rb +12 -0
  180. data/spec/lib/spree/core/testing_support/factories/product_factory_spec.rb +30 -0
  181. data/spec/lib/spree/core/testing_support/factories/product_option_type_factory_spec.rb +12 -0
  182. data/spec/lib/spree/core/testing_support/factories/product_property_factory_spec.rb +12 -0
  183. data/spec/lib/spree/core/testing_support/factories/promotion_category_factory_spec.rb +12 -0
  184. data/spec/lib/spree/core/testing_support/factories/promotion_code_factory_spec.rb +12 -0
  185. data/spec/lib/spree/core/testing_support/factories/promotion_factory_spec.rb +30 -0
  186. data/spec/lib/spree/core/testing_support/factories/property_factory_spec.rb +12 -0
  187. data/spec/lib/spree/core/testing_support/factories/prototype_factory_spec.rb +12 -0
  188. data/spec/lib/spree/core/testing_support/factories/refund_factory_spec.rb +12 -0
  189. data/spec/lib/spree/core/testing_support/factories/refund_reason_factory_spec.rb +12 -0
  190. data/spec/lib/spree/core/testing_support/factories/reimbursement_factory_spec.rb +12 -0
  191. data/spec/lib/spree/core/testing_support/factories/reimbursement_type_factory_spec.rb +12 -0
  192. data/spec/lib/spree/core/testing_support/factories/return_authorization_factory_spec.rb +12 -0
  193. data/spec/lib/spree/core/testing_support/factories/return_item_factory_spec.rb +18 -0
  194. data/spec/lib/spree/core/testing_support/factories/return_reason_factory_spec.rb +12 -0
  195. data/spec/lib/spree/core/testing_support/factories/role_factory_spec.rb +18 -0
  196. data/spec/lib/spree/core/testing_support/factories/shipment_factory_spec.rb +12 -0
  197. data/spec/lib/spree/core/testing_support/factories/shipping_category_factory_spec.rb +12 -0
  198. data/spec/lib/spree/core/testing_support/factories/shipping_method_factory_spec.rb +28 -0
  199. data/spec/lib/spree/core/testing_support/factories/shipping_rate_factory_spec.rb +12 -0
  200. data/spec/lib/spree/core/testing_support/factories/state_factory_spec.rb +12 -0
  201. data/spec/lib/spree/core/testing_support/factories/stock_item_factory_spec.rb +12 -0
  202. data/spec/lib/spree/core/testing_support/factories/stock_location_factory_spec.rb +24 -0
  203. data/spec/lib/spree/core/testing_support/factories/stock_movement_factory_spec.rb +12 -0
  204. data/spec/lib/spree/core/testing_support/factories/stock_package_factory_spec.rb +26 -0
  205. data/spec/lib/spree/core/testing_support/factories/stock_packer_factory_spec.rb +16 -0
  206. data/spec/lib/spree/core/testing_support/factories/stock_transfer_factory_spec.rb +12 -0
  207. data/spec/lib/spree/core/testing_support/factories/store_credit_category_factory_spec.rb +12 -0
  208. data/spec/lib/spree/core/testing_support/factories/store_credit_event_factory_spec.rb +42 -0
  209. data/spec/lib/spree/core/testing_support/factories/store_credit_factory_spec.rb +12 -0
  210. data/spec/lib/spree/core/testing_support/factories/store_credit_type_factory_spec.rb +18 -0
  211. data/spec/lib/spree/core/testing_support/factories/store_credit_update_reason_factory_spec.rb +12 -0
  212. data/spec/lib/spree/core/testing_support/factories/store_factory_spec.rb +12 -0
  213. data/spec/lib/spree/core/testing_support/factories/tax_category_factory_spec.rb +12 -0
  214. data/spec/lib/spree/core/testing_support/factories/tax_rate_factory_spec.rb +12 -0
  215. data/spec/lib/spree/core/testing_support/factories/taxon_factory_spec.rb +12 -0
  216. data/spec/lib/spree/core/testing_support/factories/taxonomy_factory_spec.rb +12 -0
  217. data/spec/lib/spree/core/testing_support/factories/tracker_factory_spec.rb +12 -0
  218. data/spec/lib/spree/core/testing_support/factories/user_factory_spec.rb +22 -0
  219. data/spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb +36 -0
  220. data/spec/lib/spree/core/testing_support/factories/variant_property_rule_condition_factory_spec.rb +12 -0
  221. data/spec/lib/spree/core/testing_support/factories/variant_property_rule_factory_spec.rb +12 -0
  222. data/spec/lib/spree/core/testing_support/factories/variant_property_rule_value_factory_spec.rb +12 -0
  223. data/spec/lib/spree/core/testing_support/factories/zone_factory_spec.rb +18 -0
  224. data/spec/lib/spree/core/unreturned_item_charger_spec.rb +1 -1
  225. data/spec/lib/spree/core/version_spec.rb +17 -0
  226. data/spec/lib/spree/money_spec.rb +1 -1
  227. data/spec/mailers/carton_mailer_spec.rb +1 -1
  228. data/spec/mailers/order_mailer_spec.rb +1 -1
  229. data/spec/mailers/reimbursement_mailer_spec.rb +1 -3
  230. data/spec/mailers/test_mailer_spec.rb +1 -3
  231. data/spec/models/spree/address_spec.rb +4 -4
  232. data/spec/models/spree/adjustment_reason_spec.rb +1 -3
  233. data/spec/models/spree/app_configuration_spec.rb +4 -0
  234. data/spec/models/spree/calculator/price_sack_spec.rb +3 -3
  235. data/spec/models/spree/calculator/shipping/price_sack_spec.rb +3 -3
  236. data/spec/models/spree/calculator/tiered_percent_spec.rb +86 -10
  237. data/spec/models/spree/carton_spec.rb +3 -1
  238. data/spec/models/spree/classification_spec.rb +3 -3
  239. data/spec/models/spree/credit_card_spec.rb +16 -16
  240. data/spec/models/spree/customer_return_spec.rb +1 -1
  241. data/spec/models/spree/gateway/bogus_simple.rb +1 -1
  242. data/spec/models/spree/inventory_unit_spec.rb +3 -3
  243. data/spec/models/spree/item_adjustments_spec.rb +1 -1
  244. data/spec/models/spree/line_item_spec.rb +2 -2
  245. data/spec/models/spree/option_type_spec.rb +2 -2
  246. data/spec/models/spree/option_value_spec.rb +2 -2
  247. data/spec/models/spree/order/callbacks_spec.rb +1 -1
  248. data/spec/models/spree/order/checkout_spec.rb +16 -11
  249. data/spec/models/spree/order/payment_spec.rb +24 -22
  250. data/spec/models/spree/order/state_machine_spec.rb +1 -1
  251. data/spec/models/spree/order/validations_spec.rb +1 -1
  252. data/spec/models/spree/order_cancellations_spec.rb +63 -0
  253. data/spec/models/spree/order_contents_spec.rb +1 -1
  254. data/spec/models/spree/order_merger_spec.rb +133 -0
  255. data/spec/models/spree/order_spec.rb +39 -159
  256. data/spec/models/spree/order_update_attributes_spec.rb +82 -0
  257. data/spec/models/spree/order_updater_spec.rb +6 -4
  258. data/spec/models/spree/payment_create_spec.rb +131 -0
  259. data/spec/models/spree/payment_spec.rb +130 -48
  260. data/spec/models/spree/permission_sets/restricted_stock_transfer_management_spec.rb +91 -33
  261. data/spec/models/spree/product_filter_spec.rb +3 -3
  262. data/spec/models/spree/product_spec.rb +80 -26
  263. data/spec/models/spree/promotion/actions/create_adjustment_spec.rb +1 -1
  264. data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +2 -2
  265. data/spec/models/spree/promotion/rules/nth_order_spec.rb +1 -1
  266. data/spec/models/spree/promotion/rules/user_spec.rb +2 -2
  267. data/spec/models/spree/promotion_handler/coupon_spec.rb +2 -2
  268. data/spec/models/spree/promotion_spec.rb +18 -18
  269. data/spec/models/spree/reimbursement_spec.rb +22 -0
  270. data/spec/models/spree/return_item_spec.rb +2 -2
  271. data/spec/models/spree/shipment_spec.rb +28 -12
  272. data/spec/models/spree/shipping_method_spec.rb +2 -2
  273. data/spec/models/spree/shipping_rate_spec.rb +3 -3
  274. data/spec/models/spree/stock/coordinator_spec.rb +5 -0
  275. data/spec/models/spree/stock/estimator_spec.rb +35 -1
  276. data/spec/models/spree/stock/package_spec.rb +1 -1
  277. data/spec/models/spree/stock/packer_spec.rb +2 -3
  278. data/spec/models/spree/stock/shipping_rate_selector_spec.rb +16 -0
  279. data/spec/models/spree/stock/shipping_rate_sorter_spec.rb +16 -0
  280. data/spec/models/spree/stock_item_spec.rb +5 -7
  281. data/spec/models/spree/stock_location_spec.rb +5 -9
  282. data/spec/models/spree/stock_transfer_spec.rb +33 -13
  283. data/spec/models/spree/store_credit_event_spec.rb +1 -1
  284. data/spec/models/spree/store_credit_spec.rb +1 -1
  285. data/spec/models/spree/tax_rate_spec.rb +381 -120
  286. data/spec/models/spree/taxon_spec.rb +3 -3
  287. data/spec/models/spree/transfer_item_spec.rb +4 -4
  288. data/spec/models/spree/unit_cancel_spec.rb +1 -1
  289. data/spec/models/spree/variant_spec.rb +3 -3
  290. data/spec/models/spree/zone_spec.rb +35 -1
  291. data/spec/support/concerns/working_factories.rb +9 -0
  292. data/vendor/assets/javascripts/jquery-migrate-1.0.0.js +498 -0
  293. data/vendor/assets/javascripts/jquery.payment.js +231 -80
  294. metadata +103 -27
  295. data/app/models/spree/order/currency_updater.rb +0 -40
  296. data/spec/models/spree/order/currency_updater_spec.rb +0 -32
@@ -42,7 +42,7 @@ module Spree
42
42
  let(:variant_price) { 15 }
43
43
 
44
44
  it { is_expected.to eq("(Add: $5.00)") }
45
- # Regression test for #2737
45
+ # Regression test for https://github.com/spree/spree/issues/2737
46
46
  it { is_expected.to be_html_safe }
47
47
  end
48
48
 
@@ -119,7 +119,7 @@ module Spree
119
119
 
120
120
 
121
121
  context "#product_description" do
122
- # Regression test for #1607
122
+ # Regression test for https://github.com/spree/spree/issues/1607
123
123
  it "renders a product description without excessive paragraph breaks" do
124
124
  product.description = %Q{
125
125
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus a ligula leo. Proin eu arcu at ipsum dapibus ullamcorper. Pellentesque egestas orci nec magna condimentum luctus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Ut ac ante et mauris bibendum ultricies non sed massa. Fusce facilisis dui eget lacus scelerisque eget aliquam urna ultricies. Duis et rhoncus quam. Praesent tellus nisi, ultrices sed iaculis quis, euismod interdum ipsum.</p>
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::TaxonsHelper, :type => :helper do
4
- # Regression test for #4382
4
+ # Regression test for https://github.com/spree/spree/issues/4382
5
5
  it "#taxon_preview" do
6
6
  taxon = create(:taxon)
7
7
  child_taxon = create(:taxon, parent: taxon)
@@ -5,17 +5,13 @@ class FakeController < ApplicationController
5
5
  end
6
6
 
7
7
  describe Spree::Core::ControllerHelpers::PaymentParameters, type: :controller do
8
- subject do
9
- controller.move_payment_source_into_payments_attributes(params)
10
- end
11
8
 
12
9
  controller(FakeController) { }
13
10
 
14
11
  describe '#move_payment_source_into_payments_attributes' do
15
- let(:payment_method_1) { create(:credit_card_payment_method) }
16
- let(:payment_method_2) { create(:credit_card_payment_method) }
17
- let(:credit_card_1_params) { attributes_for(:credit_card, name: 'Jordan1') }
18
- let(:credit_card_2_params) { attributes_for(:credit_card, name: 'Jordan2') }
12
+ subject do
13
+ controller.move_payment_source_into_payments_attributes(params)
14
+ end
19
15
 
20
16
  let(:params) do
21
17
  ActionController::Parameters.new(
@@ -35,6 +31,11 @@ describe Spree::Core::ControllerHelpers::PaymentParameters, type: :controller do
35
31
  )
36
32
  end
37
33
 
34
+ let(:payment_method_1) { create(:credit_card_payment_method) }
35
+ let(:payment_method_2) { create(:credit_card_payment_method) }
36
+ let(:credit_card_1_params) { attributes_for(:credit_card, name: 'Jordan1') }
37
+ let(:credit_card_2_params) { attributes_for(:credit_card, name: 'Jordan2') }
38
+
38
39
  it 'produces the expected hash' do
39
40
  expect(subject).to eq(
40
41
  ActionController::Parameters.new(
@@ -77,4 +78,103 @@ describe Spree::Core::ControllerHelpers::PaymentParameters, type: :controller do
77
78
  it('returns the original hash') { expect(subject).to eq(params) }
78
79
  end
79
80
  end
81
+
82
+ describe '#move_existing_card_into_payments_attributes' do
83
+ subject do
84
+ controller.move_existing_card_into_payments_attributes(params)
85
+ end
86
+
87
+ let(:params) do
88
+ ActionController::Parameters.new(
89
+ order: {
90
+ existing_card: '123',
91
+ other_order_param: 1,
92
+ },
93
+ cvc_confirm: '456',
94
+ other_param: 2,
95
+ )
96
+ end
97
+
98
+ it 'produces the expected hash' do
99
+ expect(subject).to eq(
100
+ ActionController::Parameters.new(
101
+ order: {
102
+ payments_attributes: [
103
+ {
104
+ source_attributes: {
105
+ existing_card_id: '123',
106
+ verification_value: '456'
107
+ },
108
+ },
109
+ ],
110
+ other_order_param: 1,
111
+ },
112
+ other_param: 2,
113
+ )
114
+ )
115
+ end
116
+
117
+ context 'when cvc_confirm is missing' do
118
+ before { params.delete(:cvc_confirm) }
119
+
120
+ it 'produces the expected hash' do
121
+ expect(subject).to eq(
122
+ ActionController::Parameters.new(
123
+ order: {
124
+ payments_attributes: [
125
+ {
126
+ source_attributes: {
127
+ existing_card_id: '123',
128
+ verification_value: nil,
129
+ },
130
+ },
131
+ ],
132
+ other_order_param: 1,
133
+ },
134
+ other_param: 2,
135
+ )
136
+ )
137
+ end
138
+ end
139
+
140
+ context 'when order params are missing' do
141
+ before { params.delete(:order) }
142
+ it('returns the original hash') { expect(subject).to eq(params) }
143
+ end
144
+
145
+ context 'when existing_card is missing' do
146
+ before { params[:order].delete(:existing_card) }
147
+ it('returns the original hash') { expect(subject).to eq(params) }
148
+ end
149
+
150
+ end
151
+
152
+ describe '#set_payment_parameters_amount' do
153
+ subject do
154
+ controller.set_payment_parameters_amount(params, order)
155
+ end
156
+
157
+ let(:params) do
158
+ ActionController::Parameters.new(
159
+ order: {
160
+ payments_attributes: [{}],
161
+ other_order_param: 1,
162
+ },
163
+ other_param: 2,
164
+ )
165
+ end
166
+ let(:order) { create(:order_with_line_items, line_items_price: 101.00, line_items_count: 1, shipment_cost: 0) }
167
+
168
+ it 'produces the expected hash' do
169
+ expect(subject).to eq(
170
+ ActionController::Parameters.new(
171
+ order: {
172
+ payments_attributes: [{amount: 101}],
173
+ other_order_param: 1,
174
+ },
175
+ other_param: 2,
176
+ )
177
+ )
178
+ end
179
+ end
80
180
  end
@@ -46,7 +46,7 @@ module Spree
46
46
 
47
47
  it 'optionally add completed at' do
48
48
  params = { email: 'test@test.com',
49
- completed_at: Time.now,
49
+ completed_at: Time.current,
50
50
  line_items_attributes: line_items }
51
51
  order = Importer::Order.import(user,params)
52
52
  expect(order).to be_completed
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Spree::StockConfiguration do
4
+ before(:all) { @estimator_class = described_class.estimator_class.to_s }
5
+ after(:all) { described_class.estimator_class = @estimator_class }
6
+
7
+ describe '.estimator_class' do
8
+ subject { described_class.estimator_class }
9
+ let(:foo) { Struct.new :foo }
10
+
11
+ before { described_class.estimator_class = 'Foo' }
12
+ before { Foo = foo }
13
+
14
+ it { is_expected.to eq foo }
15
+ end
16
+ end
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+ require 'spree/testing_support/factories/address_factory'
3
+
4
+ RSpec.describe 'address factory' do
5
+ let(:factory_class) { Spree::Address }
6
+
7
+ describe 'plain address' do
8
+ let(:factory) { :address }
9
+
10
+ it_behaves_like 'a working factory'
11
+ end
12
+
13
+ describe 'ship_address' do
14
+ let(:factory) { :ship_address }
15
+
16
+ it_behaves_like 'a working factory'
17
+ end
18
+
19
+ describe 'bill address' do
20
+ let(:factory) { :bill_address }
21
+
22
+ it_behaves_like 'a working factory'
23
+ end
24
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+ require 'spree/testing_support/factories/adjustment_factory'
3
+
4
+ RSpec.describe 'adjustment factory' do
5
+ let(:factory_class) { Spree::Adjustment }
6
+
7
+ describe 'plain adjustment' do
8
+ let(:factory) { :adjustment }
9
+
10
+ it_behaves_like 'a working factory'
11
+ end
12
+
13
+ describe 'tax adjustment' do
14
+ let(:factory) { :tax_adjustment }
15
+
16
+ it_behaves_like 'a working factory'
17
+ end
18
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+ require 'spree/testing_support/factories/adjustment_reason_factory'
3
+
4
+ RSpec.describe 'adjustment reason factory' do
5
+ let(:factory_class) { Spree::AdjustmentReason }
6
+
7
+ describe 'adjustment reason' do
8
+ let(:factory) { :adjustment_reason }
9
+
10
+ it_behaves_like 'a working factory'
11
+ end
12
+ end
@@ -0,0 +1,42 @@
1
+ require 'spec_helper'
2
+ require 'spree/testing_support/factories/calculator_factory'
3
+
4
+ RSpec.describe 'calculator factory' do
5
+ let(:factory_class) { Spree::Calculator }
6
+
7
+ describe 'calculator' do
8
+ let(:factory) { :calculator }
9
+
10
+ it_behaves_like 'a working factory'
11
+ end
12
+
13
+ describe 'no amount calculator' do
14
+ let(:factory) { :no_amount_calculator }
15
+
16
+ it_behaves_like 'a working factory'
17
+ end
18
+
19
+ describe 'default_tax_calculator' do
20
+ let(:factory) { :default_tax_calculator }
21
+
22
+ it_behaves_like 'a working factory'
23
+ end
24
+
25
+ describe 'shipping calculator' do
26
+ let(:factory) { :shipping_calculator }
27
+
28
+ it_behaves_like 'a working factory'
29
+ end
30
+
31
+ describe 'shipping no amount calculator' do
32
+ let(:factory) { :shipping_no_amount_calculator }
33
+
34
+ it_behaves_like 'a working factory'
35
+ end
36
+
37
+ describe 'percent on item calculator' do
38
+ let(:factory) { :percent_on_item_calculator }
39
+
40
+ it_behaves_like 'a working factory'
41
+ end
42
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+ require 'spree/testing_support/factories/carton_factory'
3
+
4
+ RSpec.describe 'carton factory' do
5
+ let(:factory_class) { Spree::Carton }
6
+
7
+ describe 'plain adjustment' do
8
+ let(:factory) { :carton }
9
+
10
+ it_behaves_like 'a working factory'
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+ require 'spree/testing_support/factories/country_factory'
3
+
4
+ RSpec.describe 'country factory' do
5
+ let(:factory_class) { Spree::Country }
6
+
7
+ describe 'plain adjustment' do
8
+ let(:factory) { :country }
9
+
10
+ it_behaves_like 'a working factory'
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+ require 'spree/testing_support/factories/credit_card_factory'
3
+
4
+ RSpec.describe 'credit card factory' do
5
+ let(:factory_class) { Spree::CreditCard }
6
+
7
+ describe 'plain credit card' do
8
+ let(:factory) { :credit_card }
9
+
10
+ it_behaves_like 'a working factory'
11
+ end
12
+ end
@@ -0,0 +1,28 @@
1
+ require 'spec_helper'
2
+ require 'spree/testing_support/factories/customer_return_factory'
3
+
4
+ RSpec.describe 'customer return factory' do
5
+ let(:factory_class) { Spree::CustomerReturn }
6
+
7
+ describe 'customer return' do
8
+ let(:factory) { :customer_return }
9
+
10
+ it_behaves_like 'a working factory'
11
+ end
12
+
13
+ describe 'customer return with accepted items' do
14
+ let(:factory) { :customer_return_with_accepted_items }
15
+
16
+ it_behaves_like 'a working factory'
17
+ end
18
+
19
+ describe 'customer return without return items' do
20
+ let(:factory) { :customer_return_without_return_items }
21
+
22
+ it "builds successfully" do
23
+ expect(build factory).to be_a(factory_class)
24
+ end
25
+
26
+ # No create test, because this factory is (intentionally) invalid
27
+ end
28
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+ require 'spree/testing_support/factories/image_factory'
3
+
4
+ RSpec.describe 'image factory' do
5
+ let(:factory_class) { Spree::Image }
6
+
7
+ describe 'plain adjustment' do
8
+ let(:factory) { :image }
9
+
10
+ it_behaves_like 'a working factory'
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+ require 'spree/testing_support/factories/inventory_unit_factory'
3
+
4
+ RSpec.describe 'inventory unit factory' do
5
+ let(:factory_class) { Spree::InventoryUnit }
6
+
7
+ describe 'plain inventory unit' do
8
+ let(:factory) { :inventory_unit }
9
+
10
+ it_behaves_like 'a working factory'
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+ require 'spree/testing_support/factories/line_item_factory'
3
+
4
+ RSpec.describe 'line item factory' do
5
+ let(:factory_class) { Spree::LineItem }
6
+
7
+ describe 'plain inventory unit' do
8
+ let(:factory) { :line_item }
9
+
10
+ it_behaves_like 'a working factory'
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+ require 'spree/testing_support/factories/option_type_factory'
3
+
4
+ RSpec.describe 'option type factory' do
5
+ let(:factory_class) { Spree::OptionType }
6
+
7
+ describe 'plain option type' do
8
+ let(:factory) { :option_type }
9
+
10
+ it_behaves_like 'a working factory'
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+ require 'spree/testing_support/factories/option_value_factory'
3
+
4
+ RSpec.describe 'option value factory' do
5
+ let(:factory_class) { Spree::OptionValue }
6
+
7
+ describe 'plain option value' do
8
+ let(:factory) { :option_value }
9
+
10
+ it_behaves_like 'a working factory'
11
+ end
12
+ end
@@ -0,0 +1,49 @@
1
+ require 'spec_helper'
2
+ require 'spree/testing_support/factories/order_factory'
3
+
4
+ RSpec.describe 'order factory' do
5
+ let(:factory_class) { Spree::Order }
6
+
7
+ describe 'plain order' do
8
+ let(:factory) { :order }
9
+
10
+ it_behaves_like 'a working factory'
11
+ end
12
+
13
+
14
+ describe 'order with totals' do
15
+ let(:factory) { :order_with_totals }
16
+
17
+ it_behaves_like 'a working factory'
18
+ end
19
+
20
+ describe 'order with line items' do
21
+ let(:factory) { :order_with_line_items }
22
+
23
+ it_behaves_like 'a working factory'
24
+ end
25
+
26
+ describe 'completed order with totals' do
27
+ let(:factory) { :completed_order_with_totals }
28
+
29
+ it_behaves_like 'a working factory'
30
+ end
31
+
32
+ describe 'completed order with pending payment' do
33
+ let(:factory) { :completed_order_with_pending_payment }
34
+
35
+ it_behaves_like 'a working factory'
36
+ end
37
+
38
+ describe 'order ready to ship' do
39
+ let(:factory) { :order_ready_to_ship }
40
+
41
+ it_behaves_like 'a working factory'
42
+ end
43
+
44
+ describe 'shipped order' do
45
+ let(:factory) { :shipped_order }
46
+
47
+ it_behaves_like 'a working factory'
48
+ end
49
+ end