solidus_core 1.0.7 → 1.1.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 (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,305 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Spree::Zone, :type => :model do
4
- context "#match" do
5
- let(:country_zone) { create(:zone, name: 'CountryZone') }
6
- let(:country) do
7
- country = create(:country)
8
- # Create at least one state for this country
9
- state = create(:state, country: country)
10
- country
11
- end
12
-
13
- before { country_zone.members.create(zoneable: country) }
14
-
15
- context "when there is only one qualifying zone" do
16
- let(:address) { create(:address, country: country, state: country.states.first) }
17
-
18
- it "should return the qualifying zone" do
19
- expect(Spree::Zone.match(address)).to eq(country_zone)
20
- end
21
- end
22
-
23
- context "when there are two qualified zones with same member type" do
24
- let(:address) { create(:address, country: country, state: country.states.first) }
25
- let(:second_zone) { create(:zone, name: 'SecondZone') }
26
-
27
- before { second_zone.members.create(zoneable: country) }
28
-
29
- context "when both zones have the same number of members" do
30
- it "should return the zone that was created first" do
31
- expect(Spree::Zone.match(address)).to eq(country_zone)
32
- end
33
- end
34
-
35
- context "when one of the zones has fewer members" do
36
- let(:country2) { create(:country) }
37
-
38
- before { country_zone.members.create(zoneable: country2) }
39
-
40
- it "should return the zone with fewer members" do
41
- expect(Spree::Zone.match(address)).to eq(second_zone)
42
- end
43
- end
44
- end
45
-
46
- context "when there are two qualified zones with different member types" do
47
- let(:state_zone) { create(:zone, name: 'StateZone') }
48
- let(:address) { create(:address, country: country, state: country.states.first) }
49
-
50
- before { state_zone.members.create(zoneable: country.states.first) }
51
-
52
- it "should return the zone with the more specific member type" do
53
- expect(Spree::Zone.match(address)).to eq(state_zone)
54
- end
55
- end
56
-
57
- context "when there are no qualifying zones" do
58
- it "should return nil" do
59
- expect(Spree::Zone.match(Spree::Address.new)).to be_nil
60
- end
61
- end
62
- end
63
-
64
- context "#country_list" do
65
- let(:state) { create(:state) }
66
- let(:country) { state.country }
67
-
68
- context "when zone consists of countries" do
69
- let(:country_zone) { create(:zone, name: 'CountryZone') }
70
-
71
- before { country_zone.members.create(zoneable: country) }
72
-
73
- it 'should return a list of countries' do
74
- expect(country_zone.country_list).to eq([country])
75
- end
76
- end
77
-
78
- context "when zone consists of states" do
79
- let(:state_zone) { create(:zone, name: 'StateZone') }
80
-
81
- before { state_zone.members.create(zoneable: state) }
82
-
83
- it 'should return a list of countries' do
84
- expect(state_zone.country_list).to eq([state.country])
85
- end
86
- end
87
- end
88
-
89
- context "#include?" do
90
- let(:state) { create(:state) }
91
- let(:country) { state.country }
92
- let(:address) { create(:address, state: state) }
93
-
94
- context "when zone is country type" do
95
- let(:country_zone) { create(:zone, name: 'CountryZone') }
96
- before { country_zone.members.create(zoneable: country) }
97
-
98
- it "should be true" do
99
- expect(country_zone.include?(address)).to be true
100
- end
101
- end
102
-
103
- context "when zone is state type" do
104
- let(:state_zone) { create(:zone, name: 'StateZone') }
105
- before { state_zone.members.create(zoneable: state) }
106
-
107
- it "should be true" do
108
- expect(state_zone.include?(address)).to be true
109
- end
110
- end
111
- end
112
-
113
- context ".default_tax" do
114
- context "when there is a default tax zone specified" do
115
- before { @foo_zone = create(:zone, name: 'whatever', default_tax: true) }
116
-
117
- it "should be the correct zone" do
118
- foo_zone = create(:zone, name: 'foo')
119
- expect(Spree::Zone.default_tax).to eq(@foo_zone)
120
- end
121
- end
122
-
123
- context "when there is no default tax zone specified" do
124
- it "should be nil" do
125
- expect(Spree::Zone.default_tax).to be_nil
126
- end
127
- end
128
- end
129
-
130
- context "#contains?" do
131
- let(:country1) { create(:country) }
132
- let(:country2) { create(:country) }
133
- let(:country3) { create(:country) }
134
-
135
- before do
136
- @source = create(:zone, name: 'source', zone_members: [])
137
- @target = create(:zone, name: 'target', zone_members: [])
138
- end
139
-
140
- context "when the target has no members" do
141
- before { @source.members.create(zoneable: country1) }
142
-
143
- it "should be false" do
144
- expect(@source.contains?(@target)).to be false
145
- end
146
- end
147
-
148
- context "when the source has no members" do
149
- before { @target.members.create(zoneable: country1) }
150
-
151
- it "should be false" do
152
- expect(@source.contains?(@target)).to be false
153
- end
154
- end
155
-
156
- context "when both zones are the same zone" do
157
- before do
158
- @source.members.create(zoneable: country1)
159
- @target = @source
160
- end
161
-
162
- it "should be true" do
163
- expect(@source.contains?(@target)).to be true
164
- end
165
- end
166
-
167
- context "when both zones are of the same type" do
168
- before do
169
- @source.members.create(zoneable: country1)
170
- @source.members.create(zoneable: country2)
171
- end
172
-
173
- context "when all members are included in the zone we check against" do
174
- before do
175
- @target.members.create(zoneable: country1)
176
- @target.members.create(zoneable: country2)
177
- end
178
-
179
- it "should be true" do
180
- expect(@source.contains?(@target)).to be true
181
- end
182
- end
183
-
184
- context "when some members are included in the zone we check against" do
185
- before do
186
- @target.members.create(zoneable: country1)
187
- @target.members.create(zoneable: country2)
188
- @target.members.create(zoneable: create(:country))
189
- end
190
-
191
- it "should be false" do
192
- expect(@source.contains?(@target)).to be false
193
- end
194
- end
195
-
196
- context "when none of the members are included in the zone we check against" do
197
- before do
198
- @target.members.create(zoneable: create(:country))
199
- @target.members.create(zoneable: create(:country))
200
- end
201
-
202
- it "should be false" do
203
- expect(@source.contains?(@target)).to be false
204
- end
205
- end
206
- end
207
-
208
- context "when checking country against state" do
209
- before do
210
- @source.members.create(zoneable: create(:state))
211
- @target.members.create(zoneable: country1)
212
- end
213
-
214
- it "should be false" do
215
- expect(@source.contains?(@target)).to be false
216
- end
217
- end
218
-
219
- context "when checking state against country" do
220
- before { @source.members.create(zoneable: country1) }
221
-
222
- context "when all states contained in one of the countries we check against" do
223
-
224
- before do
225
- state1 = create(:state, country: country1)
226
- @target.members.create(zoneable: state1)
227
- end
228
-
229
- it "should be true" do
230
- expect(@source.contains?(@target)).to be true
231
- end
232
- end
233
-
234
- context "when some states contained in one of the countries we check against" do
235
-
236
- before do
237
- state1 = create(:state, country: country1)
238
- @target.members.create(zoneable: state1)
239
- @target.members.create(zoneable: create(:state, country: country2))
240
- end
241
-
242
- it "should be false" do
243
- expect(@source.contains?(@target)).to be false
244
- end
245
- end
246
-
247
- context "when none of the states contained in any of the countries we check against" do
248
-
249
- before do
250
- @target.members.create(zoneable: create(:state, country: country2))
251
- @target.members.create(zoneable: create(:state, country: country2))
252
- end
253
-
254
- it "should be false" do
255
- expect(@source.contains?(@target)).to be false
256
- end
257
- end
258
- end
259
-
260
- end
261
-
262
- context "#save" do
263
- context "when default_tax is true" do
264
- it "should clear previous default tax zone" do
265
- zone1 = create(:zone, name: 'foo', default_tax: true)
266
- zone = create(:zone, name: 'bar', default_tax: true)
267
- expect(zone1.reload.default_tax).to be false
268
- end
269
- end
270
-
271
- context "when a zone member country is added to an existing zone consisting of state members" do
272
- it "should remove existing state members" do
273
- zone = create(:zone, name: 'foo', zone_members: [])
274
- state = create(:state)
275
- country = create(:country)
276
- zone.members.create(zoneable: state)
277
- country_member = zone.members.create(zoneable: country)
278
- zone.save
279
- expect(zone.reload.members).to eq([country_member])
280
- end
281
- end
282
- end
283
-
284
- context "#kind" do
285
- context "when the zone consists of country zone members" do
286
- before do
287
- @zone = create(:zone, name: 'country', zone_members: [])
288
- @zone.members.create(zoneable: create(:country))
289
- end
290
- it "should return the kind of zone member" do
291
- expect(@zone.kind).to eq("country")
292
- end
293
- end
294
-
295
- context "when the zone consists of state zone members" do
296
- before do
297
- @zone = create(:zone, name: 'state', zone_members: [])
298
- @zone.members.create(zoneable: create(:state))
299
- end
300
- it "should return the kind of zone member" do
301
- expect(@zone.kind).to eq("state")
302
- end
303
- end
304
- end
305
- end
data/spec/spec_helper.rb DELETED
@@ -1,78 +0,0 @@
1
- if ENV["COVERAGE"]
2
- # Run Coverage report
3
- require 'simplecov'
4
- SimpleCov.start do
5
- add_group 'Controllers', 'app/controllers'
6
- add_group 'Helpers', 'app/helpers'
7
- add_group 'Mailers', 'app/mailers'
8
- add_group 'Models', 'app/models'
9
- add_group 'Views', 'app/views'
10
- add_group 'Jobs', 'app/jobs'
11
- add_group 'Libraries', 'lib'
12
- end
13
- end
14
-
15
- # This file is copied to ~/spec when you run 'ruby script/generate rspec'
16
- # from the project root directory.
17
- ENV["RAILS_ENV"] ||= 'test'
18
-
19
- begin
20
- require File.expand_path("../dummy/config/environment", __FILE__)
21
- rescue LoadError
22
- $stderr.puts "Could not load dummy application. Please ensure you have run `bundle exec rake test_app`"
23
- exit 1
24
- end
25
-
26
- require 'rspec/rails'
27
- require 'database_cleaner'
28
- require 'ffaker'
29
-
30
- Dir["./spec/support/**/*.rb"].sort.each { |f| require f }
31
-
32
- if ENV["CHECK_TRANSLATIONS"]
33
- require "spree/testing_support/i18n"
34
- end
35
-
36
- require 'spree/testing_support/factories'
37
- require 'spree/testing_support/preferences'
38
- require 'spree/testing_support/mail'
39
- require 'cancan/matchers'
40
-
41
- RSpec.configure do |config|
42
- config.color = true
43
- config.infer_spec_type_from_file_location!
44
- config.mock_with :rspec
45
-
46
- config.fixture_path = File.join(File.expand_path(File.dirname(__FILE__)), "fixtures")
47
-
48
- # If you're not using ActiveRecord, or you'd prefer not to run each of your
49
- # examples within a transaction, comment the following line or assign false
50
- # instead of true.
51
- config.use_transactional_fixtures = true
52
-
53
- config.before :suite do
54
- DatabaseCleaner.clean_with :truncation
55
- end
56
-
57
- config.before :each do
58
- Rails.cache.clear
59
- reset_spree_preferences
60
- end
61
-
62
- config.include FactoryGirl::Syntax::Methods
63
- config.include Spree::TestingSupport::Preferences
64
- config.include Spree::TestingSupport::Mail
65
- config.extend WithModel
66
-
67
- config.fail_fast = ENV['FAIL_FAST'] || false
68
-
69
- config.extend WithModel
70
- config.filter_run focus: true
71
- config.run_all_when_everything_filtered = true
72
-
73
- config.example_status_persistence_file_path = "./spec/examples.txt"
74
-
75
- config.order = :random
76
-
77
- Kernel.srand config.seed
78
- end
@@ -1,5 +0,0 @@
1
- class BigDecimal
2
- def inspect
3
- "#<BigDecimal: #{to_s}>"
4
- end
5
- end
@@ -1,34 +0,0 @@
1
- shared_examples_for "default_price" do
2
- let(:model) { described_class }
3
- subject(:instance) { FactoryGirl.build(model.name.demodulize.downcase.to_sym) }
4
-
5
- describe '.has_one :default_price' do
6
- let(:default_price_association) { model.reflect_on_association(:default_price) }
7
-
8
- it 'should be a has one association' do
9
- expect(default_price_association.macro).to eql :has_one
10
- end
11
-
12
- it 'should have a dependent destroy' do
13
- expect(default_price_association.options[:dependent]).to eql :destroy
14
- end
15
-
16
- it 'should have the class name of Spree::Price' do
17
- expect(default_price_association.options[:class_name]).to eql 'Spree::Price'
18
- end
19
- end
20
-
21
- describe '#default_price' do
22
- subject { instance.default_price }
23
-
24
- describe '#class' do
25
- subject { super().class }
26
- it { is_expected.to eql Spree::Price }
27
- end
28
- end
29
-
30
- describe '#has_default_price?' do
31
- subject { super().has_default_price? }
32
- it { is_expected.to be_truthy }
33
- end
34
- end
@@ -1,4 +0,0 @@
1
- class DummyAbility
2
- include CanCan::Ability
3
- end
4
-
@@ -1,2 +0,0 @@
1
- class Spree::Gateway::Test < Spree::Gateway
2
- end