solidus_core 1.0.7 → 1.1.0.beta1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of solidus_core might be problematic. Click here for more details.

Files changed (349) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/spree/base_controller.rb +1 -2
  3. data/app/helpers/spree/base_helper.rb +4 -5
  4. data/app/helpers/spree/products_helper.rb +0 -8
  5. data/app/mailers/spree/carton_mailer.rb +17 -5
  6. data/app/mailers/spree/order_mailer.rb +12 -4
  7. data/app/models/concerns/spree/adjustment_source.rb +7 -8
  8. data/app/models/concerns/spree/default_price.rb +8 -2
  9. data/app/models/concerns/spree/named_type.rb +1 -1
  10. data/app/models/concerns/spree/ordered_property_value_list.rb +28 -0
  11. data/app/models/concerns/spree/user_address_book.rb +125 -0
  12. data/app/models/concerns/spree/user_api_authentication.rb +6 -2
  13. data/app/models/concerns/spree/user_methods.rb +5 -6
  14. data/app/models/spree/ability.rb +1 -38
  15. data/app/models/spree/address.rb +79 -36
  16. data/app/models/spree/adjustment.rb +74 -25
  17. data/app/models/spree/adjustment_reason.rb +1 -1
  18. data/app/models/spree/app_configuration.rb +35 -0
  19. data/app/models/spree/carton.rb +3 -3
  20. data/app/models/spree/country.rb +7 -1
  21. data/app/models/spree/credit_card.rb +5 -1
  22. data/app/models/spree/gateway.rb +0 -8
  23. data/app/models/spree/inventory_unit.rb +1 -1
  24. data/app/models/spree/item_adjustments.rb +1 -1
  25. data/app/models/spree/line_item_action.rb +1 -1
  26. data/app/models/spree/option_type.rb +3 -2
  27. data/app/models/spree/option_value.rb +1 -1
  28. data/app/models/spree/option_values_variant.rb +1 -1
  29. data/app/models/spree/order.rb +28 -56
  30. data/app/models/spree/order/checkout.rb +18 -20
  31. data/app/models/spree/order_mutex.rb +1 -1
  32. data/app/models/spree/order_promotion.rb +1 -1
  33. data/app/models/spree/order_shipping.rb +6 -12
  34. data/app/models/spree/order_stock_location.rb +1 -1
  35. data/app/models/spree/payment.rb +3 -14
  36. data/app/models/spree/payment/processing.rb +7 -14
  37. data/app/models/spree/payment_method.rb +5 -5
  38. data/app/models/spree/permission_sets/default_customer.rb +31 -0
  39. data/app/models/spree/permission_sets/order_display.rb +4 -0
  40. data/app/models/spree/permission_sets/order_management.rb +3 -0
  41. data/app/models/spree/permission_sets/promotion_display.rb +2 -1
  42. data/app/models/spree/permission_sets/restricted_stock_display.rb +16 -0
  43. data/app/models/spree/permission_sets/restricted_stock_management.rb +16 -0
  44. data/app/models/spree/permission_sets/restricted_stock_transfer_display.rb +17 -0
  45. data/app/models/spree/permission_sets/restricted_stock_transfer_management.rb +51 -0
  46. data/app/models/spree/permission_sets/stock_display.rb +1 -1
  47. data/app/models/spree/permission_sets/stock_management.rb +1 -2
  48. data/app/models/spree/permission_sets/stock_transfer_display.rb +10 -0
  49. data/app/models/spree/permission_sets/stock_transfer_management.rb +11 -0
  50. data/app/models/spree/permission_sets/super_user.rb +9 -0
  51. data/app/models/spree/product.rb +66 -28
  52. data/app/models/spree/product/scopes.rb +7 -22
  53. data/app/models/spree/product_option_type.rb +1 -1
  54. data/app/models/spree/product_promotion_rule.rb +6 -0
  55. data/app/models/spree/product_property.rb +2 -20
  56. data/app/models/spree/promotion/rules/product.rb +2 -1
  57. data/app/models/spree/refund.rb +0 -10
  58. data/app/models/spree/reimbursement.rb +1 -1
  59. data/app/models/spree/return_item.rb +5 -3
  60. data/app/models/spree/return_item/exchange_variant_eligibility/same_option_value.rb +13 -4
  61. data/app/models/spree/return_item/exchange_variant_eligibility/same_product.rb +2 -2
  62. data/app/models/spree/return_reason.rb +1 -1
  63. data/app/models/spree/role.rb +1 -1
  64. data/app/models/spree/role_user.rb +1 -1
  65. data/app/models/spree/shipment.rb +13 -4
  66. data/app/models/spree/shipping_manifest.rb +9 -3
  67. data/app/models/spree/shipping_method.rb +2 -3
  68. data/app/models/spree/shipping_method_zone.rb +6 -0
  69. data/app/models/spree/state.rb +1 -1
  70. data/app/models/spree/stock_item.rb +15 -3
  71. data/app/models/spree/stock_movement.rb +1 -1
  72. data/app/models/spree/store.rb +3 -0
  73. data/app/models/spree/store_credit.rb +1 -1
  74. data/app/models/spree/store_credit_category.rb +1 -1
  75. data/app/models/spree/store_credit_event.rb +1 -1
  76. data/app/models/spree/store_credit_type.rb +1 -1
  77. data/app/models/spree/store_credit_update_reason.rb +1 -1
  78. data/app/models/spree/store_payment_method.rb +6 -0
  79. data/app/models/spree/tax_rate.rb +3 -10
  80. data/app/models/spree/taxonomy.rb +1 -1
  81. data/app/models/spree/transfer_item.rb +1 -1
  82. data/app/models/spree/unit_cancel.rb +2 -2
  83. data/app/models/spree/user_address.rb +21 -0
  84. data/app/models/spree/user_stock_location.rb +1 -1
  85. data/app/models/spree/variant.rb +28 -13
  86. data/app/models/spree/variant_property_rule.rb +42 -0
  87. data/app/models/spree/variant_property_rule_condition.rb +8 -0
  88. data/app/models/spree/variant_property_rule_value.rb +8 -0
  89. data/app/models/spree/zone.rb +4 -2
  90. data/app/views/spree/carton_mailer/shipped_email.text.erb +1 -1
  91. data/config/locales/en.yml +13 -0
  92. data/db/default/spree/store_credit.rb +0 -1
  93. data/db/default/spree/zones.rb +1 -1
  94. data/db/migrate/20130228210442_create_shipping_method_zone.rb +1 -1
  95. data/db/migrate/20150121022521_remove_environment_from_payment_method.rb +6 -0
  96. data/db/migrate/20150506181611_create_spree_store_credit_payment_method.rb +9 -5
  97. data/db/migrate/20150731201146_add_spree_user_addresses.rb +16 -0
  98. data/db/migrate/20150811210350_remove_mandatory_from_adjustments.rb +5 -0
  99. data/db/migrate/20150811211025_add_finalized_to_spree_adjustments.rb +11 -0
  100. data/db/migrate/20150820160821_add_store_payment_methods.rb +10 -0
  101. data/db/migrate/20150824213633_convert_habtm_to_hmt_for_shipping_methods_zones.rb +17 -0
  102. data/db/migrate/20150824214129_convert_habtm_to_hmt_for_products_promotion_rules.rb +17 -0
  103. data/db/migrate/20150825204216_drop_spree_gateways.rb +20 -0
  104. data/db/migrate/20150909123605_create_variant_properties_and_rules.rb +28 -0
  105. data/lib/generators/spree/dummy/dummy_generator.rb +1 -1
  106. data/lib/generators/spree/install/templates/config/initializers/spree.rb +4 -3
  107. data/lib/spree/core.rb +4 -0
  108. data/lib/spree/core/controller_helpers/payment_parameters.rb +67 -0
  109. data/lib/spree/core/delegate_belongs_to.rb +1 -0
  110. data/lib/spree/core/engine.rb +9 -1
  111. data/lib/spree/core/importer/order.rb +1 -1
  112. data/lib/spree/core/role_configuration.rb +1 -1
  113. data/lib/spree/core/search/variant.rb +20 -2
  114. data/lib/spree/core/unreturned_item_charger.rb +21 -16
  115. data/lib/spree/i18n.rb +6 -24
  116. data/lib/spree/mailer_previews/carton_preview.rb +10 -0
  117. data/lib/spree/mailer_previews/order_preview.rb +18 -0
  118. data/lib/spree/permitted_attributes.rb +4 -1
  119. data/lib/spree/testing_support/capybara_ext.rb +2 -1
  120. data/lib/spree/testing_support/factories/address_factory.rb +9 -1
  121. data/lib/spree/testing_support/factories/credit_card_factory.rb +1 -0
  122. data/lib/spree/testing_support/factories/image_factory.rb +5 -0
  123. data/lib/spree/testing_support/factories/payment_method_factory.rb +4 -8
  124. data/lib/spree/testing_support/factories/user_factory.rb +8 -2
  125. data/lib/spree/testing_support/factories/variant_property_rule_condition_factory.rb +6 -0
  126. data/lib/spree/testing_support/factories/variant_property_rule_factory.rb +16 -0
  127. data/lib/spree/testing_support/factories/variant_property_rule_value_factory.rb +6 -0
  128. data/lib/tasks/migrations/migrate_user_addresses.rake +29 -0
  129. data/vendor/assets/javascripts/jquery-migrate-1.0.0.js +498 -0
  130. metadata +40 -238
  131. data/CHANGELOG.md +0 -1
  132. data/Gemfile +0 -3
  133. data/Rakefile +0 -16
  134. data/app/models/concerns/spree/user_address.rb +0 -30
  135. data/app/models/spree/permission_sets/restricted_transfer_management.rb +0 -35
  136. data/app/views/spree/admin/orders/customer_details/_autocomplete.js.erb +0 -19
  137. data/lib/spree/i18n/base.rb +0 -17
  138. data/lib/spree/i18n/initializer.rb +0 -1
  139. data/lib/spree/testing_support/mail.rb +0 -20
  140. data/script/rails +0 -9
  141. data/solidus_core.gemspec +0 -48
  142. data/spec/fixtures/thinking-cat.jpg +0 -0
  143. data/spec/helpers/base_helper_spec.rb +0 -173
  144. data/spec/helpers/order_helper_spec.rb +0 -12
  145. data/spec/helpers/products_helper_spec.rb +0 -220
  146. data/spec/helpers/taxons_helper_spec.rb +0 -17
  147. data/spec/lib/calculated_adjustments_spec.rb +0 -7
  148. data/spec/lib/i18n_spec.rb +0 -123
  149. data/spec/lib/search/base_spec.rb +0 -86
  150. data/spec/lib/search/variant_spec.rb +0 -92
  151. data/spec/lib/spree/core/controller_helpers/auth_spec.rb +0 -66
  152. data/spec/lib/spree/core/controller_helpers/order_spec.rb +0 -92
  153. data/spec/lib/spree/core/controller_helpers/search_spec.rb +0 -17
  154. data/spec/lib/spree/core/controller_helpers/store_spec.rb +0 -16
  155. data/spec/lib/spree/core/controller_helpers/strong_parameters_spec.rb +0 -39
  156. data/spec/lib/spree/core/current_store_spec.rb +0 -36
  157. data/spec/lib/spree/core/delegate_belongs_to_spec.rb +0 -22
  158. data/spec/lib/spree/core/importer/order_spec.rb +0 -431
  159. data/spec/lib/spree/core/role_configuration_spec.rb +0 -138
  160. data/spec/lib/spree/core/validators/email_spec.rb +0 -48
  161. data/spec/lib/spree/localized_number_spec.rb +0 -38
  162. data/spec/lib/spree/migrations_spec.rb +0 -36
  163. data/spec/lib/spree/money_spec.rb +0 -127
  164. data/spec/lib/tasks/exchanges_spec.rb +0 -231
  165. data/spec/lib/tasks/migrations/copy_shipped_shipments_to_cartons_spec.rb +0 -115
  166. data/spec/lib/tasks/order_capturing_spec.rb +0 -56
  167. data/spec/mailers/carton_mailer_spec.rb +0 -43
  168. data/spec/mailers/order_mailer_spec.rb +0 -122
  169. data/spec/mailers/reimbursement_mailer_spec.rb +0 -40
  170. data/spec/mailers/test_mailer_spec.rb +0 -15
  171. data/spec/models/spree/ability_spec.rb +0 -276
  172. data/spec/models/spree/address_spec.rb +0 -250
  173. data/spec/models/spree/adjustment_reason_spec.rb +0 -13
  174. data/spec/models/spree/adjustment_spec.rb +0 -177
  175. data/spec/models/spree/app_configuration_spec.rb +0 -20
  176. data/spec/models/spree/asset_spec.rb +0 -24
  177. data/spec/models/spree/calculator/default_tax_spec.rb +0 -127
  178. data/spec/models/spree/calculator/flat_percent_item_total_spec.rb +0 -25
  179. data/spec/models/spree/calculator/flat_rate_spec.rb +0 -47
  180. data/spec/models/spree/calculator/flexi_rate_spec.rb +0 -41
  181. data/spec/models/spree/calculator/percent_on_line_item_spec.rb +0 -15
  182. data/spec/models/spree/calculator/price_sack_spec.rb +0 -30
  183. data/spec/models/spree/calculator/refunds/default_refund_amount_spec.rb +0 -51
  184. data/spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb +0 -23
  185. data/spec/models/spree/calculator/shipping/flat_rate_spec.rb +0 -13
  186. data/spec/models/spree/calculator/shipping/flexi_rate_spec.rb +0 -52
  187. data/spec/models/spree/calculator/shipping/per_item_spec.rb +0 -20
  188. data/spec/models/spree/calculator/shipping/price_sack_spec.rb +0 -30
  189. data/spec/models/spree/calculator/tiered_flat_rate_spec.rb +0 -36
  190. data/spec/models/spree/calculator/tiered_percent_spec.rb +0 -47
  191. data/spec/models/spree/calculator_spec.rb +0 -36
  192. data/spec/models/spree/carton_spec.rb +0 -133
  193. data/spec/models/spree/classification_spec.rb +0 -15
  194. data/spec/models/spree/concerns/display_money_spec.rb +0 -43
  195. data/spec/models/spree/concerns/user_methods_spec.rb +0 -41
  196. data/spec/models/spree/credit_card_spec.rb +0 -334
  197. data/spec/models/spree/customer_return_spec.rb +0 -276
  198. data/spec/models/spree/exchange_spec.rb +0 -79
  199. data/spec/models/spree/gateway/bogus_simple.rb +0 -20
  200. data/spec/models/spree/gateway/bogus_spec.rb +0 -13
  201. data/spec/models/spree/gateway_spec.rb +0 -82
  202. data/spec/models/spree/inventory_unit_spec.rb +0 -307
  203. data/spec/models/spree/item_adjustments_spec.rb +0 -256
  204. data/spec/models/spree/line_item_spec.rb +0 -191
  205. data/spec/models/spree/option_type_spec.rb +0 -14
  206. data/spec/models/spree/option_value_spec.rb +0 -22
  207. data/spec/models/spree/order/address_spec.rb +0 -50
  208. data/spec/models/spree/order/adjustments_spec.rb +0 -39
  209. data/spec/models/spree/order/callbacks_spec.rb +0 -42
  210. data/spec/models/spree/order/checkout_spec.rb +0 -902
  211. data/spec/models/spree/order/currency_updater_spec.rb +0 -32
  212. data/spec/models/spree/order/finalizing_spec.rb +0 -111
  213. data/spec/models/spree/order/payment_spec.rb +0 -210
  214. data/spec/models/spree/order/risk_assessment_spec.rb +0 -68
  215. data/spec/models/spree/order/state_machine_spec.rb +0 -221
  216. data/spec/models/spree/order/tax_spec.rb +0 -84
  217. data/spec/models/spree/order/totals_spec.rb +0 -24
  218. data/spec/models/spree/order/updating_spec.rb +0 -18
  219. data/spec/models/spree/order/validations_spec.rb +0 -15
  220. data/spec/models/spree/order_cancellations_spec.rb +0 -120
  221. data/spec/models/spree/order_capturing_spec.rb +0 -116
  222. data/spec/models/spree/order_contents_spec.rb +0 -265
  223. data/spec/models/spree/order_inventory_spec.rb +0 -228
  224. data/spec/models/spree/order_mutex_spec.rb +0 -85
  225. data/spec/models/spree/order_promotion_spec.rb +0 -31
  226. data/spec/models/spree/order_shipping_spec.rb +0 -247
  227. data/spec/models/spree/order_spec.rb +0 -1464
  228. data/spec/models/spree/order_stock_location_spec.rb +0 -18
  229. data/spec/models/spree/order_updater_spec.rb +0 -299
  230. data/spec/models/spree/payment_method/store_credit_spec.rb +0 -294
  231. data/spec/models/spree/payment_method_spec.rb +0 -96
  232. data/spec/models/spree/payment_spec.rb +0 -1045
  233. data/spec/models/spree/permission_sets/base_spec.rb +0 -12
  234. data/spec/models/spree/permission_sets/configuration_display.rb +0 -82
  235. data/spec/models/spree/permission_sets/configuration_management_spec.rb +0 -50
  236. data/spec/models/spree/permission_sets/dashboard_display_spec.rb +0 -22
  237. data/spec/models/spree/permission_sets/order_display_spec.rb +0 -49
  238. data/spec/models/spree/permission_sets/order_management_spec.rb +0 -36
  239. data/spec/models/spree/permission_sets/product_display_spec.rb +0 -60
  240. data/spec/models/spree/permission_sets/product_management_spec.rb +0 -40
  241. data/spec/models/spree/permission_sets/promotion_display_spec.rb +0 -34
  242. data/spec/models/spree/permission_sets/promotion_management_spec.rb +0 -26
  243. data/spec/models/spree/permission_sets/report_display_spec.rb +0 -24
  244. data/spec/models/spree/permission_sets/restricted_transfer_management_spec.rb +0 -132
  245. data/spec/models/spree/permission_sets/stock_display_spec.rb +0 -26
  246. data/spec/models/spree/permission_sets/stock_management_spec.rb +0 -24
  247. data/spec/models/spree/permission_sets/user_display_spec.rb +0 -36
  248. data/spec/models/spree/permission_sets/user_management_spec.rb +0 -28
  249. data/spec/models/spree/preference_spec.rb +0 -80
  250. data/spec/models/spree/preferences/configuration_spec.rb +0 -30
  251. data/spec/models/spree/preferences/preferable_spec.rb +0 -294
  252. data/spec/models/spree/preferences/scoped_store_spec.rb +0 -58
  253. data/spec/models/spree/preferences/static_model_preferences_spec.rb +0 -78
  254. data/spec/models/spree/preferences/statically_configurable_spec.rb +0 -60
  255. data/spec/models/spree/preferences/store_spec.rb +0 -39
  256. data/spec/models/spree/price_spec.rb +0 -42
  257. data/spec/models/spree/product/scopes_spec.rb +0 -148
  258. data/spec/models/spree/product_duplicator_spec.rb +0 -103
  259. data/spec/models/spree/product_filter_spec.rb +0 -26
  260. data/spec/models/spree/product_property_spec.rb +0 -20
  261. data/spec/models/spree/product_spec.rb +0 -437
  262. data/spec/models/spree/promotion/actions/create_adjustment_spec.rb +0 -96
  263. data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +0 -165
  264. data/spec/models/spree/promotion/actions/create_quantity_adjustments_spec.rb +0 -115
  265. data/spec/models/spree/promotion/actions/free_shipping_spec.rb +0 -40
  266. data/spec/models/spree/promotion/rules/first_order_spec.rb +0 -75
  267. data/spec/models/spree/promotion/rules/item_total_spec.rb +0 -67
  268. data/spec/models/spree/promotion/rules/nth_order_spec.rb +0 -70
  269. data/spec/models/spree/promotion/rules/one_use_per_user_spec.rb +0 -42
  270. data/spec/models/spree/promotion/rules/option_value_spec.rb +0 -94
  271. data/spec/models/spree/promotion/rules/product_spec.rb +0 -143
  272. data/spec/models/spree/promotion/rules/taxon_spec.rb +0 -102
  273. data/spec/models/spree/promotion/rules/user_logged_in_spec.rb +0 -27
  274. data/spec/models/spree/promotion/rules/user_spec.rb +0 -37
  275. data/spec/models/spree/promotion_builder_spec.rb +0 -118
  276. data/spec/models/spree/promotion_category_spec.rb +0 -17
  277. data/spec/models/spree/promotion_code/code_builder_spec.rb +0 -79
  278. data/spec/models/spree/promotion_code_spec.rb +0 -187
  279. data/spec/models/spree/promotion_handler/cart_spec.rb +0 -114
  280. data/spec/models/spree/promotion_handler/coupon_spec.rb +0 -335
  281. data/spec/models/spree/promotion_handler/free_shipping_spec.rb +0 -47
  282. data/spec/models/spree/promotion_handler/page_spec.rb +0 -44
  283. data/spec/models/spree/promotion_rule_spec.rb +0 -28
  284. data/spec/models/spree/promotion_spec.rb +0 -767
  285. data/spec/models/spree/refund_spec.rb +0 -204
  286. data/spec/models/spree/reimbursement/credit_spec.rb +0 -36
  287. data/spec/models/spree/reimbursement/reimbursement_type_engine_spec.rb +0 -140
  288. data/spec/models/spree/reimbursement/reimbursement_type_validator_spec.rb +0 -83
  289. data/spec/models/spree/reimbursement_performer_spec.rb +0 -30
  290. data/spec/models/spree/reimbursement_spec.rb +0 -231
  291. data/spec/models/spree/reimbursement_tax_calculator_spec.rb +0 -51
  292. data/spec/models/spree/reimbursement_type/credit_spec.rb +0 -53
  293. data/spec/models/spree/reimbursement_type/exchange_spec.rb +0 -46
  294. data/spec/models/spree/reimbursement_type/original_payment_spec.rb +0 -107
  295. data/spec/models/spree/reimbursement_type/store_credit_spec.rb +0 -97
  296. data/spec/models/spree/return_authorization_spec.rb +0 -290
  297. data/spec/models/spree/return_item/eligibility_validator/default_spec.rb +0 -77
  298. data/spec/models/spree/return_item/eligibility_validator/inventory_shipped_spec.rb +0 -58
  299. data/spec/models/spree/return_item/eligibility_validator/no_reimbursements_spec.rb +0 -85
  300. data/spec/models/spree/return_item/eligibility_validator/order_completed_spec.rb +0 -32
  301. data/spec/models/spree/return_item/eligibility_validator/rma_required_spec.rb +0 -29
  302. data/spec/models/spree/return_item/eligibility_validator/time_since_purchase_spec.rb +0 -35
  303. data/spec/models/spree/return_item/exchange_variant_eligibility/same_option_value_spec.rb +0 -65
  304. data/spec/models/spree/return_item/exchange_variant_eligibility/same_product_spec.rb +0 -43
  305. data/spec/models/spree/return_item_spec.rb +0 -775
  306. data/spec/models/spree/returns_calculator_spec.rb +0 -14
  307. data/spec/models/spree/shipment_spec.rb +0 -709
  308. data/spec/models/spree/shipping_calculator_spec.rb +0 -45
  309. data/spec/models/spree/shipping_method_spec.rb +0 -88
  310. data/spec/models/spree/shipping_rate_spec.rb +0 -142
  311. data/spec/models/spree/state_spec.rb +0 -14
  312. data/spec/models/spree/stock/availability_validator_spec.rb +0 -83
  313. data/spec/models/spree/stock/coordinator_spec.rb +0 -116
  314. data/spec/models/spree/stock/differentiator_spec.rb +0 -39
  315. data/spec/models/spree/stock/estimator_spec.rb +0 -146
  316. data/spec/models/spree/stock/inventory_unit_builder_spec.rb +0 -38
  317. data/spec/models/spree/stock/package_spec.rb +0 -163
  318. data/spec/models/spree/stock/packer_spec.rb +0 -91
  319. data/spec/models/spree/stock/prioritizer_spec.rb +0 -125
  320. data/spec/models/spree/stock/quantifier_spec.rb +0 -115
  321. data/spec/models/spree/stock/splitter/backordered_spec.rb +0 -29
  322. data/spec/models/spree/stock/splitter/base_spec.rb +0 -21
  323. data/spec/models/spree/stock/splitter/shipping_category_spec.rb +0 -50
  324. data/spec/models/spree/stock/splitter/weight_spec.rb +0 -29
  325. data/spec/models/spree/stock_item_spec.rb +0 -426
  326. data/spec/models/spree/stock_location_spec.rb +0 -279
  327. data/spec/models/spree/stock_movement_spec.rb +0 -56
  328. data/spec/models/spree/stock_transfer_spec.rb +0 -290
  329. data/spec/models/spree/store_credit_category_spec.rb +0 -17
  330. data/spec/models/spree/store_credit_event_spec.rb +0 -314
  331. data/spec/models/spree/store_credit_spec.rb +0 -876
  332. data/spec/models/spree/store_spec.rb +0 -55
  333. data/spec/models/spree/tax_category_spec.rb +0 -27
  334. data/spec/models/spree/tax_rate_spec.rb +0 -378
  335. data/spec/models/spree/taxon_spec.rb +0 -74
  336. data/spec/models/spree/taxonomy_spec.rb +0 -18
  337. data/spec/models/spree/tracker_spec.rb +0 -21
  338. data/spec/models/spree/transfer_item_spec.rb +0 -264
  339. data/spec/models/spree/unit_cancel_spec.rb +0 -148
  340. data/spec/models/spree/user_spec.rb +0 -223
  341. data/spec/models/spree/validations/db_maximum_length_validator_spec.rb +0 -23
  342. data/spec/models/spree/variant/scopes_spec.rb +0 -55
  343. data/spec/models/spree/variant_spec.rb +0 -546
  344. data/spec/models/spree/zone_spec.rb +0 -305
  345. data/spec/spec_helper.rb +0 -78
  346. data/spec/support/big_decimal.rb +0 -5
  347. data/spec/support/concerns/default_price.rb +0 -34
  348. data/spec/support/dummy_ability.rb +0 -4
  349. data/spec/support/test_gateway.rb +0 -2
@@ -1,35 +0,0 @@
1
- module Spree
2
- module PermissionSets
3
- # This is a permission set that offers an alternative to {StockManagement}.
4
- #
5
- # Instead of allowing management access for all stock transfers and items, only allow
6
- # the management of stock transfers for locations the user is associated with.
7
- #
8
- # Users can be associated with stock locations via the admin user interface.
9
- #
10
- # @see Spree::PermissionSets::Base
11
- class RestrictedTransferManagement < PermissionSets::Base
12
- def activate!
13
- can [:display, :admin], Spree::StockItem
14
- can [:display, :admin], Spree::StockTransfer
15
-
16
- if user.stock_locations.any?
17
- can :transfer, Spree::StockLocation, id: location_ids
18
- can :update, Spree::StockItem, stock_location_id: location_ids
19
- can :manage, Spree::StockTransfer, source_location_id: location_ids, destination_location_id: location_ids
20
- can :manage, Spree::TransferItem, stock_transfer: {
21
- source_location_id: location_ids,
22
- destination_location_id: location_ids
23
- }
24
- end
25
- end
26
-
27
- private
28
-
29
- def location_ids
30
- # either source_location_id or destination_location_id can be nil.
31
- @ids ||= user.stock_locations.pluck(:id) + [nil]
32
- end
33
- end
34
- end
35
- end
@@ -1,19 +0,0 @@
1
- <script type='text/template' id='customer_autocomplete_template'>
2
- <div class='customer-autocomplete-item'>
3
- <div class='customer-details'>
4
- <h5>{{customer.email}}</h5>
5
- {{#if bill_address.firstname }}
6
- <strong>{{t 'bill_address' }}</strong>
7
- {{bill_address.firstname}} {{bill_address.lastname}}<br>
8
- {{bill_address.address1}}, {{bill_address.address2}}<br>
9
- {{bill_address.city}}<br>
10
- {{#if bill_address.state_id }}
11
- {{bill_address.state.name}}
12
- {{else}}
13
- {{bill_address.state_name}}
14
- {{/if}}
15
- {{bill_address.country.name}}
16
- {{/if}}
17
- </div>
18
- </div>
19
- </script>
@@ -1,17 +0,0 @@
1
- module Spree
2
- module ViewContext
3
- def self.context=(context)
4
- @context = context
5
- end
6
-
7
- def self.context
8
- @context
9
- end
10
-
11
- def view_context
12
- super.tap do |context|
13
- Spree::ViewContext.context = context
14
- end
15
- end
16
- end
17
- end
@@ -1 +0,0 @@
1
- Spree::BaseController.send(:include, Spree::ViewContext)
@@ -1,20 +0,0 @@
1
- module Spree
2
- module TestingSupport
3
- module Mail
4
- def with_test_mail
5
- old_value = ActionMailer::Base.delivery_method
6
- ActionMailer::Base.delivery_method = :test
7
- ActionMailer::Base.deliveries.clear
8
- begin
9
- yield
10
- ensure
11
- ActionMailer::Base.delivery_method = old_value
12
- end
13
- end
14
- end
15
- end
16
- end
17
-
18
- RSpec.configure do |config|
19
- config.extend Spree::TestingSupport::Mail
20
- end
data/script/rails DELETED
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
-
4
- ENGINE_ROOT = File.expand_path('../..', __FILE__)
5
- ENGINE_PATH = File.expand_path('../../lib/spree/core/engine', __FILE__)
6
-
7
- require 'rails/all'
8
- require 'rails/engine/commands'
9
-
data/solidus_core.gemspec DELETED
@@ -1,48 +0,0 @@
1
- # encoding: UTF-8
2
- version = File.read(File.expand_path("../../SOLIDUS_VERSION", __FILE__)).strip
3
-
4
- Gem::Specification.new do |s|
5
- s.platform = Gem::Platform::RUBY
6
- s.name = 'solidus_core'
7
- s.version = version
8
- s.summary = 'Essential models, mailers, and classes for the Solidus e-commerce project.'
9
- s.description = s.summary
10
-
11
- s.required_ruby_version = '>= 2.1.0'
12
- s.author = 'Solidus Team'
13
- s.email = 'contact@solidus.io'
14
- s.homepage = 'http://solidus.io'
15
- s.license = %q{BSD-3}
16
-
17
- s.files = `git ls-files`.split("\n")
18
- s.require_path = 'lib'
19
-
20
- s.required_ruby_version = '>= 2.1.0'
21
-
22
- s.add_dependency 'activemerchant', '~> 1.48.0'
23
- s.add_dependency 'acts_as_list', '~> 0.3'
24
- s.add_dependency 'awesome_nested_set', '~> 3.0.1'
25
- s.add_dependency 'carmen', '~> 1.0.0'
26
- s.add_dependency 'cancancan', '~> 1.10.0'
27
- s.add_dependency 'deface', '~> 1.0.0'
28
- s.add_dependency 'ffaker', '~> 1.16'
29
- s.add_dependency 'font-awesome-rails', '~> 4.0'
30
- s.add_dependency 'friendly_id', '~> 5.0.4'
31
- s.add_dependency 'highline', '~> 1.6.18' # Necessary for the install generator
32
- s.add_dependency 'json', '~> 1.7'
33
- s.add_dependency 'kaminari', '~> 0.15', '>= 0.15.1'
34
- s.add_dependency 'monetize', '~> 1.1'
35
- s.add_dependency 'paperclip', '~> 4.2.0'
36
- s.add_dependency 'paranoia', '~> 2.1.0'
37
- s.add_dependency 'premailer-rails'
38
- s.add_dependency 'rails', '~> 4.2.0'
39
- s.add_dependency 'ransack', '~> 1.6.0'
40
- s.add_dependency 'responders'
41
- s.add_dependency 'state_machines-activerecord', '~> 0.2'
42
- s.add_dependency 'stringex', '~> 1.5.1'
43
- s.add_dependency 'truncate_html', '0.9.2'
44
- s.add_dependency 'twitter_cldr', '~> 3.0'
45
-
46
- s.add_development_dependency 'email_spec', '~> 1.6'
47
- s.add_dependency 'sprockets-rails', '~> 2.0'
48
- end
Binary file
@@ -1,173 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Spree::BaseHelper, :type => :helper do
4
- include Spree::BaseHelper
5
-
6
- let(:current_store){ create :store }
7
-
8
- context "available_countries" do
9
- let(:country) { create(:country) }
10
-
11
- before do
12
- 3.times { create(:country) }
13
- end
14
-
15
- context "with no checkout zone defined" do
16
- before do
17
- Spree::Config[:checkout_zone] = nil
18
- end
19
-
20
- it "return complete list of countries" do
21
- expect(available_countries.count).to eq(Spree::Country.count)
22
- end
23
- end
24
-
25
- context "with a checkout zone defined" do
26
- context "checkout zone is of type country" do
27
- before do
28
- @country_zone = create(:zone, :name => "CountryZone")
29
- @country_zone.members.create(:zoneable => country)
30
- Spree::Config[:checkout_zone] = @country_zone.name
31
- end
32
-
33
- it "return only the countries defined by the checkout zone" do
34
- expect(available_countries).to eq([country])
35
- end
36
- end
37
-
38
- context "checkout zone is of type state" do
39
- before do
40
- state_zone = create(:zone, :name => "StateZone")
41
- state = create(:state, :country => country)
42
- state_zone.members.create(:zoneable => state)
43
- Spree::Config[:checkout_zone] = state_zone.name
44
- end
45
-
46
- it "return complete list of countries" do
47
- expect(available_countries.count).to eq(Spree::Country.count)
48
- end
49
- end
50
- end
51
- end
52
-
53
- # Regression test for #1436
54
- context "defining custom image helpers" do
55
- let(:product) { mock_model(Spree::Product, :images => [], :variant_images => []) }
56
- before do
57
- Spree::Image.class_eval do
58
- attachment_definitions[:attachment][:styles].merge!({:very_strange => '1x1'})
59
- end
60
- end
61
-
62
- it "should not raise errors when style exists" do
63
- ActiveSupport::Deprecation.silence do
64
- expect { very_strange_image(product) }.not_to raise_error
65
- end
66
- end
67
-
68
- it "should raise NoMethodError when style is not exists" do
69
- expect { another_strange_image(product) }.to raise_error(NoMethodError)
70
- end
71
-
72
- end
73
-
74
- # Regression test for #2034
75
- context "flash_message" do
76
- let(:flash) { {"notice" => "ok", "foo" => "foo", "bar" => "bar"} }
77
-
78
- it "should output all flash content" do
79
- flash_messages
80
- html = Nokogiri::HTML(helper.output_buffer)
81
- expect(html.css(".notice").text).to eq("ok")
82
- expect(html.css(".foo").text).to eq("foo")
83
- expect(html.css(".bar").text).to eq("bar")
84
- end
85
-
86
- it "should output flash content except one key" do
87
- flash_messages(:ignore_types => :bar)
88
- html = Nokogiri::HTML(helper.output_buffer)
89
- expect(html.css(".notice").text).to eq("ok")
90
- expect(html.css(".foo").text).to eq("foo")
91
- expect(html.css(".bar").text).to be_empty
92
- end
93
-
94
- it "should output flash content except some keys" do
95
- flash_messages(:ignore_types => [:foo, :bar])
96
- html = Nokogiri::HTML(helper.output_buffer)
97
- expect(html.css(".notice").text).to eq("ok")
98
- expect(html.css(".foo").text).to be_empty
99
- expect(html.css(".bar").text).to be_empty
100
- expect(helper.output_buffer).to eq("<div class=\"flash notice\">ok</div>")
101
- end
102
- end
103
-
104
- context "link_to_tracking" do
105
- it "returns tracking link if available" do
106
- a = link_to_tracking_html(shipping_method: true, tracking: '123', tracking_url: 'http://g.c/?t=123').css('a')
107
-
108
- expect(a.text).to eq '123'
109
- expect(a.attr('href').value).to eq 'http://g.c/?t=123'
110
- end
111
-
112
- it "returns tracking without link if link unavailable" do
113
- html = link_to_tracking_html(shipping_method: true, tracking: '123', tracking_url: nil)
114
- expect(html.css('span').text).to eq '123'
115
- end
116
-
117
- it "returns nothing when no shipping method" do
118
- html = link_to_tracking_html(shipping_method: nil, tracking: '123')
119
- expect(html.css('span').text).to eq ''
120
- end
121
-
122
- it "returns nothing when no tracking" do
123
- html = link_to_tracking_html(tracking: nil)
124
- expect(html.css('span').text).to eq ''
125
- end
126
-
127
- def link_to_tracking_html(options = {})
128
- node = link_to_tracking(double(:shipment, options))
129
- Nokogiri::HTML(node.to_s)
130
- end
131
- end
132
-
133
- # Regression test for #2396
134
- context "meta_data_tags" do
135
- it "truncates a product description to 160 characters" do
136
- # Because the controller_name method returns "test"
137
- # controller_name is used by this method to infer what it is supposed
138
- # to be generating meta_data_tags for
139
- text = Faker::Lorem.paragraphs(2).join(" ")
140
- @test = Spree::Product.new(:description => text)
141
- tags = Nokogiri::HTML.parse(meta_data_tags)
142
- content = tags.css("meta[name=description]").first["content"]
143
- assert content.length <= 160, "content length is not truncated to 160 characters"
144
- end
145
- end
146
-
147
- # Regression test for #5384
148
- context "custom image helpers conflict with inproper statements" do
149
- let(:product) { mock_model(Spree::Product, :images => [], :variant_images => []) }
150
- before do
151
- Spree::Image.class_eval do
152
- attachment_definitions[:attachment][:styles].merge!({:foobar => '1x1'})
153
- end
154
- end
155
-
156
- it "should not raise errors when helper method called" do
157
- ActiveSupport::Deprecation.silence do
158
- expect { foobar_image(product) }.not_to raise_error
159
- end
160
- end
161
-
162
- it "should raise NoMethodError when statement with name equal to style name called" do
163
- expect { foobar(product) }.to raise_error(NoMethodError)
164
- end
165
-
166
- end
167
-
168
- context "pretty_time" do
169
- it "prints in a format" do
170
- expect(pretty_time(DateTime.new(2012, 5, 6, 13, 33))).to eq "May 06, 2012 1:33 PM"
171
- end
172
- end
173
- end
@@ -1,12 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Spree
4
- describe Spree::OrdersHelper, :type => :helper do
5
- # Regression test for #2518 + #2323
6
- it "truncates HTML correctly in product description" do
7
- product = double(:description => "<strong>" + ("a" * 95) + "</strong> This content is invisible.")
8
- expected = "<strong>" + ("a" * 95) + "</strong>..."
9
- expect(truncated_product_description(product)).to eq(expected)
10
- end
11
- end
12
- end
@@ -1,220 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- module Spree
6
- describe ProductsHelper, :type => :helper do
7
- include ProductsHelper
8
-
9
- let(:product) { create(:product) }
10
- let(:currency) { 'USD' }
11
-
12
- before do
13
- allow(helper).to receive(:current_currency) { currency }
14
- end
15
-
16
- context "#variant_price_diff" do
17
- let(:product_price) { 10 }
18
- let(:variant_price) { 10 }
19
-
20
- before do
21
- @variant = create(:variant, :product => product)
22
- product.price = 15
23
- @variant.price = 10
24
- allow(product).to receive(:amount_in) { product_price }
25
- allow(@variant).to receive(:amount_in) { variant_price }
26
- end
27
-
28
- subject { helper.variant_price(@variant) }
29
-
30
- context "when variant is same as master" do
31
- it { is_expected.to be_nil }
32
- end
33
-
34
- context "when the master has no price" do
35
- let(:product_price) { nil }
36
-
37
- it { is_expected.to be_nil }
38
- end
39
-
40
- context "when currency is default" do
41
- context "when variant is more than master" do
42
- let(:variant_price) { 15 }
43
-
44
- it { is_expected.to eq("(Add: $5.00)") }
45
- # Regression test for #2737
46
- it { is_expected.to be_html_safe }
47
- end
48
-
49
- context "when variant is less than master" do
50
- let(:product_price) { 15 }
51
-
52
- it { is_expected.to eq("(Subtract: $5.00)") }
53
- end
54
- end
55
-
56
- context "when currency is JPY" do
57
- let(:variant_price) { 100 }
58
- let(:product_price) { 100 }
59
- let(:currency) { 'JPY' }
60
-
61
- context "when variant is more than master" do
62
- let(:variant_price) { 150 }
63
-
64
- it { is_expected.to eq("(Add: &#x00A5;50)") }
65
- end
66
-
67
- context "when variant is less than master" do
68
- let(:product_price) { 150 }
69
-
70
- it { is_expected.to eq("(Subtract: &#x00A5;50)") }
71
- end
72
- end
73
- end
74
-
75
- context "#variant_price_full" do
76
- before do
77
- Spree::Config[:show_variant_full_price] = true
78
- @variant1 = create(:variant, :product => product)
79
- @variant2 = create(:variant, :product => product)
80
- end
81
-
82
- context "when currency is default" do
83
- it "should return the variant price if the price is different than master" do
84
- product.price = 10
85
- @variant1.price = 15
86
- @variant2.price = 20
87
- expect(helper.variant_price(@variant1)).to eq("$15.00")
88
- expect(helper.variant_price(@variant2)).to eq("$20.00")
89
- end
90
- end
91
-
92
- context "when currency is JPY" do
93
- let(:currency) { 'JPY' }
94
-
95
- before do
96
- product.variants.active.each do |variant|
97
- variant.prices.each do |price|
98
- price.currency = currency
99
- price.save!
100
- end
101
- end
102
- end
103
-
104
- it "should return the variant price if the price is different than master" do
105
- product.price = 100
106
- @variant1.price = 150
107
- expect(helper.variant_price(@variant1)).to eq("&#x00A5;150")
108
- end
109
- end
110
-
111
- it "should be nil when all variant prices are equal" do
112
- product.price = 10
113
- @variant1.default_price.update_column(:amount, 10)
114
- @variant2.default_price.update_column(:amount, 10)
115
- expect(helper.variant_price(@variant1)).to be_nil
116
- expect(helper.variant_price(@variant2)).to be_nil
117
- end
118
- end
119
-
120
-
121
- context "#product_description" do
122
- # Regression test for #1607
123
- it "renders a product description without excessive paragraph breaks" do
124
- product.description = %Q{
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>
126
- <ul>
127
- <li>Lorem ipsum dolor sit amet</li>
128
- <li>Lorem ipsum dolor sit amet</li>
129
- </ul>
130
- }
131
- description = product_description(product)
132
- expect(description.strip).to eq(product.description.strip)
133
- end
134
-
135
- it "renders a product description with automatic paragraph breaks" do
136
- product.description = %Q{
137
- THIS IS THE BEST PRODUCT EVER!
138
-
139
- "IT CHANGED MY LIFE" - Sue, MD}
140
-
141
- description = product_description(product)
142
- expect(description.strip).to eq(%Q{<p>\nTHIS IS THE BEST PRODUCT EVER!</p>"IT CHANGED MY LIFE" - Sue, MD})
143
- end
144
-
145
- it "renders a product description without any formatting based on configuration" do
146
- initialDescription = %Q{
147
- <p>hello world</p>
148
-
149
- <p>tihs is completely awesome and it works</p>
150
-
151
- <p>why so many spaces in the code. and why some more formatting afterwards?</p>
152
- }
153
-
154
- product.description = initialDescription
155
-
156
- Spree::Config[:show_raw_product_description] = true
157
- description = product_description(product)
158
- expect(description).to eq(initialDescription)
159
- end
160
-
161
- end
162
-
163
- shared_examples_for "line item descriptions" do
164
- context 'variant has a blank description' do
165
- let(:description) { nil }
166
- it { is_expected.to eq(Spree.t(:product_has_no_description)) }
167
- end
168
- context 'variant has a description' do
169
- let(:description) { 'test_desc' }
170
- it { is_expected.to eq(description) }
171
- end
172
- context 'description has nonbreaking spaces' do
173
- let(:description) { 'test&nbsp;desc' }
174
- it { is_expected.to eq('test desc') }
175
- end
176
- end
177
-
178
- context "#line_item_description" do
179
- let(:variant) { create(:variant, :product => product, description: description) }
180
- subject { line_item_description_text(variant.product.description) }
181
-
182
- it_should_behave_like "line item descriptions"
183
- end
184
-
185
- context '#line_item_description_text' do
186
- subject { line_item_description_text description }
187
-
188
- it_should_behave_like "line item descriptions"
189
- end
190
-
191
- context '#cache_key_for_products' do
192
- subject { helper.cache_key_for_products }
193
- before(:each) do
194
- @products = double('products collection')
195
- allow(helper).to receive(:params) { {:page => 10} }
196
- end
197
-
198
- context 'when there is a maximum updated date' do
199
- let(:updated_at) { Date.new(2011, 12, 13) }
200
- before :each do
201
- allow(@products).to receive(:count) { 5 }
202
- allow(@products).to receive(:maximum).with(:updated_at) { updated_at }
203
- end
204
-
205
- it { is_expected.to eq('en/USD/spree/products/all-10-20111213-5') }
206
- end
207
-
208
- context 'when there is no considered maximum updated date' do
209
- let(:today) { Date.new(2013, 12, 11) }
210
- before :each do
211
- allow(@products).to receive(:count) { 1234567 }
212
- allow(@products).to receive(:maximum).with(:updated_at) { nil }
213
- allow(Date).to receive(:today) { today }
214
- end
215
-
216
- it { is_expected.to eq('en/USD/spree/products/all-10-20131211-1234567') }
217
- end
218
- end
219
- end
220
- end