solidus_core 1.2.3 → 1.3.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 (573) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Rakefile +1 -1
  4. data/app/assets/javascripts/spree.js.coffee.erb +1 -1
  5. data/app/helpers/spree/base_helper.rb +21 -43
  6. data/app/helpers/spree/orders_helper.rb +0 -1
  7. data/app/helpers/spree/products_helper.rb +10 -12
  8. data/app/helpers/spree/taxons_helper.rb +4 -4
  9. data/app/mailers/spree/base_mailer.rb +1 -3
  10. data/app/mailers/spree/carton_mailer.rb +2 -2
  11. data/app/mailers/spree/order_mailer.rb +2 -2
  12. data/app/models/concerns/spree/adjustment_source.rb +12 -16
  13. data/app/models/concerns/spree/calculated_adjustments.rb +17 -14
  14. data/app/models/concerns/spree/default_price.rb +10 -26
  15. data/app/models/concerns/spree/display_money.rb +1 -1
  16. data/app/models/concerns/spree/ordered_property_value_list.rb +10 -12
  17. data/app/models/concerns/spree/ransackable_attributes.rb +6 -5
  18. data/app/models/concerns/spree/user_address_book.rb +87 -81
  19. data/app/models/concerns/spree/user_methods.rb +2 -2
  20. data/app/models/concerns/spree/user_payment_source.rb +12 -8
  21. data/app/models/spree/ability.rb +2 -2
  22. data/app/models/spree/address.rb +37 -38
  23. data/app/models/spree/adjustment.rb +2 -6
  24. data/app/models/spree/app_configuration.rb +60 -5
  25. data/app/models/spree/base.rb +1 -1
  26. data/app/models/spree/calculator/default_tax.rb +28 -24
  27. data/app/models/spree/calculator/flat_percent_item_total.rb +1 -1
  28. data/app/models/spree/calculator/flat_rate.rb +2 -2
  29. data/app/models/spree/calculator/flexi_rate.rb +4 -4
  30. data/app/models/spree/calculator/percent_per_item.rb +8 -9
  31. data/app/models/spree/calculator/price_sack.rb +3 -3
  32. data/app/models/spree/calculator/returns/default_refund_amount.rb +11 -12
  33. data/app/models/spree/calculator/shipping/flat_percent_item_total.rb +1 -1
  34. data/app/models/spree/calculator/shipping/flat_rate.rb +2 -2
  35. data/app/models/spree/calculator/shipping/flexi_rate.rb +3 -3
  36. data/app/models/spree/calculator/shipping/per_item.rb +1 -1
  37. data/app/models/spree/calculator/shipping/price_sack.rb +3 -3
  38. data/app/models/spree/calculator/tiered_flat_rate.rb +2 -1
  39. data/app/models/spree/calculator/tiered_percent.rb +2 -1
  40. data/app/models/spree/calculator.rb +3 -3
  41. data/app/models/spree/carton.rb +2 -2
  42. data/app/models/spree/country.rb +7 -4
  43. data/app/models/spree/credit_card.rb +26 -22
  44. data/app/models/spree/customer_return.rb +8 -7
  45. data/app/models/spree/exchange.rb +1 -9
  46. data/app/models/spree/gateway/bogus.rb +31 -31
  47. data/app/models/spree/gateway/bogus_simple.rb +6 -8
  48. data/app/models/spree/gateway.rb +9 -15
  49. data/app/models/spree/image.rb +3 -3
  50. data/app/models/spree/inventory_unit.rb +23 -23
  51. data/app/models/spree/item_adjustments.rb +3 -2
  52. data/app/models/spree/legacy_user.rb +1 -5
  53. data/app/models/spree/line_item.rb +95 -84
  54. data/app/models/spree/option_type.rb +1 -1
  55. data/app/models/spree/option_value.rb +3 -1
  56. data/app/models/spree/order/checkout.rb +45 -44
  57. data/app/models/spree/order/payments.rb +42 -45
  58. data/app/models/spree/order.rb +70 -75
  59. data/app/models/spree/order_cancellations.rb +4 -4
  60. data/app/models/spree/order_capturing.rb +3 -2
  61. data/app/models/spree/order_contents.rb +61 -59
  62. data/app/models/spree/order_inventory.rb +59 -54
  63. data/app/models/spree/order_mutex.rb +0 -1
  64. data/app/models/spree/order_shipping.rb +8 -9
  65. data/app/models/spree/order_stock_location.rb +3 -3
  66. data/app/models/spree/order_update_attributes.rb +0 -2
  67. data/app/models/spree/order_updater.rb +11 -24
  68. data/app/models/spree/payment/processing.rb +26 -37
  69. data/app/models/spree/payment.rb +68 -71
  70. data/app/models/spree/payment_method/check.rb +2 -2
  71. data/app/models/spree/payment_method/store_credit.rb +6 -7
  72. data/app/models/spree/payment_method.rb +11 -8
  73. data/app/models/spree/preferences/configuration.rb +2 -2
  74. data/app/models/spree/preferences/preferable.rb +1 -1
  75. data/app/models/spree/preferences/preferable_class_methods.rb +1 -1
  76. data/app/models/spree/preferences/scoped_store.rb +6 -5
  77. data/app/models/spree/preferences/static_model_preferences.rb +1 -1
  78. data/app/models/spree/preferences/statically_configurable.rb +2 -2
  79. data/app/models/spree/preferences/store.rb +2 -6
  80. data/app/models/spree/price.rb +17 -19
  81. data/app/models/spree/product/scopes.rb +18 -17
  82. data/app/models/spree/product.rb +28 -11
  83. data/app/models/spree/product_property.rb +2 -0
  84. data/app/models/spree/product_scope/scopes.rb +22 -22
  85. data/app/models/spree/promotion/actions/create_adjustment.rb +3 -4
  86. data/app/models/spree/promotion/actions/create_item_adjustments.rb +8 -8
  87. data/app/models/spree/promotion/actions/create_quantity_adjustments.rb +3 -3
  88. data/app/models/spree/promotion/actions/free_shipping.rb +4 -4
  89. data/app/models/spree/promotion/rules/first_order.rb +7 -6
  90. data/app/models/spree/promotion/rules/first_repeat_purchase_since.rb +2 -3
  91. data/app/models/spree/promotion/rules/item_total.rb +5 -2
  92. data/app/models/spree/promotion/rules/nth_order.rb +3 -4
  93. data/app/models/spree/promotion/rules/one_use_per_user.rb +1 -2
  94. data/app/models/spree/promotion/rules/option_value.rb +1 -2
  95. data/app/models/spree/promotion/rules/product.rb +4 -4
  96. data/app/models/spree/promotion/rules/taxon.rb +5 -5
  97. data/app/models/spree/promotion/rules/user.rb +1 -1
  98. data/app/models/spree/promotion/rules/user_logged_in.rb +1 -1
  99. data/app/models/spree/promotion.rb +8 -8
  100. data/app/models/spree/promotion_action.rb +1 -1
  101. data/app/models/spree/promotion_builder.rb +2 -2
  102. data/app/models/spree/promotion_chooser.rb +1 -0
  103. data/app/models/spree/promotion_code/code_builder.rb +3 -3
  104. data/app/models/spree/promotion_handler/cart.rb +17 -16
  105. data/app/models/spree/promotion_handler/coupon.rb +10 -14
  106. data/app/models/spree/promotion_handler/page.rb +4 -4
  107. data/app/models/spree/promotion_rule.rb +4 -3
  108. data/app/models/spree/prototype.rb +0 -1
  109. data/app/models/spree/refund.rb +3 -3
  110. data/app/models/spree/reimbursement/reimbursement_type_engine.rb +1 -3
  111. data/app/models/spree/reimbursement.rb +3 -5
  112. data/app/models/spree/reimbursement_performer.rb +0 -5
  113. data/app/models/spree/reimbursement_tax_calculator.rb +2 -7
  114. data/app/models/spree/reimbursement_type/credit.rb +1 -1
  115. data/app/models/spree/reimbursement_type/original_payment.rb +1 -1
  116. data/app/models/spree/reimbursement_type/reimbursement_helpers.rb +3 -3
  117. data/app/models/spree/reimbursement_type/store_credit.rb +1 -1
  118. data/app/models/spree/reimbursement_type.rb +1 -1
  119. data/app/models/spree/return_authorization.rb +38 -37
  120. data/app/models/spree/return_item/eligibility_validator/default.rb +4 -4
  121. data/app/models/spree/return_item/eligibility_validator/no_reimbursements.rb +0 -1
  122. data/app/models/spree/return_item/eligibility_validator/rma_required.rb +0 -1
  123. data/app/models/spree/return_item.rb +24 -23
  124. data/app/models/spree/returns_calculator.rb +1 -2
  125. data/app/models/spree/shipment.rb +80 -74
  126. data/app/models/spree/shipping_calculator.rb +4 -5
  127. data/app/models/spree/shipping_manifest.rb +3 -4
  128. data/app/models/spree/shipping_method.rb +54 -23
  129. data/app/models/spree/shipping_method_stock_location.rb +4 -0
  130. data/app/models/spree/shipping_rate.rb +24 -29
  131. data/app/models/spree/shipping_rate_tax.rb +41 -0
  132. data/app/models/spree/state.rb +1 -1
  133. data/app/models/spree/state_change.rb +1 -1
  134. data/app/models/spree/stock/availability_validator.rb +2 -2
  135. data/app/models/spree/stock/coordinator.rb +12 -13
  136. data/app/models/spree/stock/differentiator.rb +1 -0
  137. data/app/models/spree/stock/estimator.rb +18 -25
  138. data/app/models/spree/stock/inventory_unit_builder.rb +1 -1
  139. data/app/models/spree/stock/package.rb +19 -9
  140. data/app/models/spree/stock/packer.rb +2 -3
  141. data/app/models/spree/stock/prioritizer.rb +3 -2
  142. data/app/models/spree/stock/quantifier.rb +2 -3
  143. data/app/models/spree/stock/shipping_rate_selector.rb +0 -1
  144. data/app/models/spree/stock/shipping_rate_sorter.rb +0 -1
  145. data/app/models/spree/stock/splitter/backordered.rb +0 -2
  146. data/app/models/spree/stock/splitter/base.rb +3 -2
  147. data/app/models/spree/stock/splitter/shipping_category.rb +2 -1
  148. data/app/models/spree/stock/splitter/weight.rb +2 -2
  149. data/app/models/spree/stock_item.rb +36 -37
  150. data/app/models/spree/stock_location.rb +17 -13
  151. data/app/models/spree/stock_movement.rb +1 -3
  152. data/app/models/spree/stock_transfer.rb +8 -8
  153. data/app/models/spree/store.rb +6 -0
  154. data/app/models/spree/store_credit.rb +24 -24
  155. data/app/models/spree/store_credit_category.rb +1 -2
  156. data/app/models/spree/tax/item_adjuster.rb +37 -0
  157. data/app/models/spree/tax/order_adjuster.rb +38 -0
  158. data/app/models/spree/tax/shipping_rate_taxer.rb +31 -0
  159. data/app/models/spree/tax/tax_helpers.rb +49 -0
  160. data/app/models/spree/tax/tax_location.rb +33 -0
  161. data/app/models/spree/tax_category.rb +1 -1
  162. data/app/models/spree/tax_rate.rb +46 -111
  163. data/app/models/spree/taxon.rb +36 -12
  164. data/app/models/spree/taxonomy.rb +10 -10
  165. data/app/models/spree/validations/db_maximum_length_validator.rb +0 -1
  166. data/app/models/spree/variant/pricer.rb +19 -0
  167. data/app/models/spree/variant/pricing_options.rb +31 -0
  168. data/app/models/spree/variant/scopes.rb +9 -9
  169. data/app/models/spree/variant.rb +95 -89
  170. data/app/models/spree/variant_property_rule.rb +1 -1
  171. data/app/models/spree/variant_property_rule_value.rb +2 -0
  172. data/app/models/spree/zone.rb +60 -24
  173. data/config/initializers/friendly_id.rb +1 -1
  174. data/config/locales/en.yml +337 -51
  175. data/config/routes.rb +1 -1
  176. data/db/default/spree/countries.rb +9 -15
  177. data/db/default/spree/roles.rb +1 -2
  178. data/db/default/spree/states.rb +7 -11
  179. data/db/default/spree/store_credit.rb +2 -2
  180. data/db/default/spree/stores.rb +2 -1
  181. data/db/migrate/20120831092320_spree_one_two.rb +100 -101
  182. data/db/migrate/20120831092359_spree_promo_one_two.rb +12 -12
  183. data/db/migrate/20120905151823_add_toggle_tax_rate_display.rb +1 -1
  184. data/db/migrate/20121009142519_add_lock_version_to_variant.rb +1 -1
  185. data/db/migrate/20121010142909_add_states_required_to_countries.rb +1 -1
  186. data/db/migrate/20121012071449_add_on_demand_to_product_and_variant.rb +2 -2
  187. data/db/migrate/20121017010007_remove_not_null_constraint_from_products_on_hand.rb +4 -4
  188. data/db/migrate/20121031162139_split_prices_from_variants.rb +8 -8
  189. data/db/migrate/20121107003422_remove_not_null_from_spree_prices_amount.rb +2 -2
  190. data/db/migrate/20121109173623_add_cost_currency_to_variants.rb +1 -1
  191. data/db/migrate/20121124203911_add_position_to_taxonomies.rb +1 -1
  192. data/db/migrate/20130120201805_add_position_to_product_properties.spree.rb +1 -2
  193. data/db/migrate/20130211190146_create_spree_stock_items.rb +1 -1
  194. data/db/migrate/20130213191427_create_default_stock.rb +12 -21
  195. data/db/migrate/20130226032817_change_meta_description_on_spree_products_to_text.rb +1 -1
  196. data/db/migrate/20130227143905_add_pending_to_inventory_unit.rb +2 -2
  197. data/db/migrate/20130228210442_create_shipping_method_zone.rb +1 -1
  198. data/db/migrate/20130301162924_create_shipping_method_categories.rb +2 -2
  199. data/db/migrate/20130304162240_create_spree_shipping_rates.rb +4 -4
  200. data/db/migrate/20130306181701_add_address_fields_to_stock_location.rb +2 -3
  201. data/db/migrate/20130306191917_add_active_field_to_stock_locations.rb +1 -1
  202. data/db/migrate/20130306195650_add_backorderable_to_stock_item.rb +1 -1
  203. data/db/migrate/20130307161754_add_default_quantity_to_stock_movement.rb +1 -1
  204. data/db/migrate/20130319062004_change_orders_total_precision.rb +4 -4
  205. data/db/migrate/20130319063911_change_spree_payments_amount_precision.rb +1 -3
  206. data/db/migrate/20130319064308_change_spree_return_authorization_amount_precision.rb +2 -4
  207. data/db/migrate/20130319082943_change_adjustments_amount_precision.rb +1 -3
  208. data/db/migrate/20130319190507_drop_source_and_destination_from_stock_movement.rb +2 -2
  209. data/db/migrate/20130325163316_migrate_inventory_unit_sold_to_on_hand.rb +2 -2
  210. data/db/migrate/20130417120035_update_adjustment_states.rb +2 -2
  211. data/db/migrate/20130417123427_add_shipping_rates_to_shipments.rb +3 -3
  212. data/db/migrate/20130628021056_add_unique_index_to_permalink_on_spree_products.rb +1 -1
  213. data/db/migrate/20130628022817_add_unique_index_to_orders_shipments_and_stock_transfers.rb +3 -3
  214. data/db/migrate/20130718042445_add_cost_price_to_line_item.rb +1 -1
  215. data/db/migrate/20130718233855_set_backorderable_to_default_to_false.rb +2 -2
  216. data/db/migrate/20130807024301_upgrade_adjustments.rb +3 -3
  217. data/db/migrate/20130813004002_add_shipment_total_to_spree_orders.rb +1 -1
  218. data/db/migrate/20130813140619_expand_order_number_size.rb +2 -2
  219. data/db/migrate/20130815000406_add_adjustment_total_to_line_items.rb +1 -1
  220. data/db/migrate/20130815024413_add_adjustment_total_to_shipments.rb +1 -1
  221. data/db/migrate/20130826062534_add_depth_to_spree_taxons.rb +1 -1
  222. data/db/migrate/20130830001033_add_shipping_category_to_shipping_methods_and_products.rb +1 -1
  223. data/db/migrate/20130830001159_migrate_old_shipping_calculators.rb +1 -1
  224. data/db/migrate/20131001013410_remove_unused_credit_card_fields.rb +1 -0
  225. data/db/migrate/20131026154747_add_track_inventory_to_variant.rb +1 -1
  226. data/db/migrate/20131118043959_add_included_to_adjustments.rb +1 -1
  227. data/db/migrate/20131118183431_add_line_item_id_to_spree_inventory_units.rb +0 -1
  228. data/db/migrate/20131211112807_create_spree_orders_promotions.rb +1 -1
  229. data/db/migrate/20131218054603_add_item_count_to_spree_orders.rb +1 -1
  230. data/db/migrate/20140106065820_remove_value_type_from_spree_preferences.rb +1 -0
  231. data/db/migrate/20140219060952_add_considered_risky_to_orders.rb +1 -1
  232. data/db/migrate/20140309023735_migrate_old_preferences.rb +4 -3
  233. data/db/migrate/20140309033438_create_store_from_preferences.rb +2 -2
  234. data/db/migrate/20140410141842_add_many_missing_indexes.rb +13 -15
  235. data/db/migrate/20140410150358_correct_some_polymorphic_index_and_add_more_missing.rb +38 -40
  236. data/db/migrate/20140508151342_change_spree_price_amount_precision.rb +4 -4
  237. data/db/migrate/20140530024945_move_order_token_from_tokenized_permission.rb +1 -1
  238. data/db/migrate/20140710041921_recreate_spree_return_authorizations.rb +0 -1
  239. data/db/migrate/20140718195325_create_friendly_id_slugs.rb +4 -4
  240. data/db/migrate/20140723214541_copy_product_slugs_to_slug_history.rb +4 -6
  241. data/db/migrate/20140805171219_make_existing_credit_cards_default.rb +1 -0
  242. data/db/migrate/20141217215630_update_product_slug_index.rb +2 -4
  243. data/db/migrate/20150112194216_add_position_to_stock_location.rb +2 -2
  244. data/db/migrate/20150225205344_move_promotion_code_to_promotion_code_value.rb +0 -1
  245. data/db/migrate/20150313201503_copy_shipped_shipments_to_cartons.rb +0 -1
  246. data/db/migrate/20150506181611_create_spree_store_credit_payment_method.rb +3 -3
  247. data/db/migrate/20150515211137_fix_adjustment_order_id.rb +0 -1
  248. data/db/migrate/20150612205731_remove_spree_configurations.rb +2 -2
  249. data/db/migrate/20150619160613_create_adjustment_reason.rb +1 -1
  250. data/db/migrate/20150723224133_remove_unnecessary_indexes.rb +10 -2
  251. data/db/migrate/20150731201146_add_spree_user_addresses.rb +0 -1
  252. data/db/migrate/20150811211025_add_finalized_to_spree_adjustments.rb +1 -1
  253. data/db/migrate/20151001121454_create_spree_shipping_method_stock_locations.rb +13 -0
  254. data/db/migrate/20151002023248_add_foreign_key_to_shipping_method_stock_location.rb +6 -0
  255. data/db/migrate/20151026093607_change_return_item_pre_tax_amount_to_amount.rb +29 -0
  256. data/db/migrate/20160111091912_add_column_available_to_all_on_spree_shipping_method.rb +5 -0
  257. data/db/migrate/20160116133604_add_position_to_spree_payment_methods.rb +5 -0
  258. data/db/migrate/20160122182105_add_carrier_and_service_level_to_spree_shipping_methods.rb +6 -0
  259. data/db/migrate/20160224201413_create_spree_shipping_rate_taxes.rb +11 -0
  260. data/db/migrate/20160229133259_add_cart_tax_country_iso_to_spree_store.rb +5 -0
  261. data/db/migrate/20160301103333_remove_pre_tax_amount_on_line_item_and_shipment.rb +6 -0
  262. data/db/migrate/20160308000300_disallow_adjustment_finalized_nulls.rb +19 -0
  263. data/db/migrate/20160318145302_add_timestamps_to_prices.rb +5 -0
  264. data/db/migrate/20160330204846_add_missing_timestamp_columns.rb +20 -0
  265. data/lib/generators/spree/custom_user/custom_user_generator.rb +3 -8
  266. data/lib/generators/spree/dummy/dummy_generator.rb +17 -19
  267. data/lib/generators/spree/install/install_generator.rb +15 -15
  268. data/lib/generators/spree/install/templates/config/initializers/spree.rb +1 -0
  269. data/lib/spree/core/controller_helpers/auth.rb +2 -4
  270. data/lib/spree/core/controller_helpers/common.rb +42 -43
  271. data/lib/spree/core/controller_helpers/order.rb +5 -9
  272. data/lib/spree/core/controller_helpers/payment_parameters.rb +4 -5
  273. data/lib/spree/core/controller_helpers/pricing.rb +27 -0
  274. data/lib/spree/core/controller_helpers/respond_with.rb +4 -4
  275. data/lib/spree/core/controller_helpers/search.rb +2 -2
  276. data/lib/spree/core/controller_helpers/store.rb +3 -3
  277. data/lib/spree/core/controller_helpers/strong_parameters.rb +4 -4
  278. data/lib/spree/core/current_store.rb +1 -1
  279. data/lib/spree/core/delegate_belongs_to.rb +19 -21
  280. data/lib/spree/core/engine.rb +12 -8
  281. data/lib/spree/core/environment/calculators.rb +0 -1
  282. data/lib/spree/core/environment_extension.rb +4 -4
  283. data/lib/spree/core/importer/order.rb +17 -22
  284. data/lib/spree/core/importer/product.rb +10 -9
  285. data/lib/spree/core/permalinks.rb +16 -16
  286. data/lib/spree/core/product_duplicator.rb +2 -3
  287. data/lib/spree/core/product_filters.rb +15 -16
  288. data/lib/spree/core/role_configuration.rb +2 -2
  289. data/lib/spree/core/search/base.rb +71 -57
  290. data/lib/spree/core/search/variant.rb +2 -4
  291. data/lib/spree/core/unreturned_item_charger.rb +1 -2
  292. data/lib/spree/core/validators/email.rb +2 -2
  293. data/lib/spree/core/version.rb +1 -1
  294. data/lib/spree/core.rb +2 -4
  295. data/lib/spree/i18n.rb +1 -1
  296. data/lib/spree/localized_number.rb +3 -1
  297. data/lib/spree/migrations.rb +27 -26
  298. data/lib/spree/money.rb +19 -4
  299. data/lib/spree/permission_sets/base.rb +1 -1
  300. data/lib/spree/permitted_attributes.rb +7 -7
  301. data/lib/spree/responder.rb +4 -5
  302. data/lib/spree/testing_support/authorization_helpers.rb +1 -1
  303. data/lib/spree/testing_support/caching.rb +8 -8
  304. data/lib/spree/testing_support/capybara_ext.rb +11 -13
  305. data/lib/spree/testing_support/common_rake.rb +4 -4
  306. data/lib/spree/testing_support/controller_requests.rb +1 -1
  307. data/lib/spree/testing_support/extension_rake.rb +1 -2
  308. data/lib/spree/testing_support/factories/address_factory.rb +14 -3
  309. data/lib/spree/testing_support/factories/adjustment_reason_factory.rb +1 -1
  310. data/lib/spree/testing_support/factories/carton_factory.rb +2 -2
  311. data/lib/spree/testing_support/factories/credit_card_factory.rb +4 -0
  312. data/lib/spree/testing_support/factories/customer_return_factory.rb +4 -6
  313. data/lib/spree/testing_support/factories/line_item_factory.rb +1 -1
  314. data/lib/spree/testing_support/factories/order_factory.rb +10 -11
  315. data/lib/spree/testing_support/factories/payment_factory.rb +5 -0
  316. data/lib/spree/testing_support/factories/promotion_category_factory.rb +0 -1
  317. data/lib/spree/testing_support/factories/promotion_factory.rb +0 -1
  318. data/lib/spree/testing_support/factories/refund_factory.rb +1 -1
  319. data/lib/spree/testing_support/factories/reimbursement_factory.rb +1 -1
  320. data/lib/spree/testing_support/factories/return_item_factory.rb +1 -1
  321. data/lib/spree/testing_support/factories/shipping_method_factory.rb +5 -2
  322. data/lib/spree/testing_support/factories/state_factory.rb +17 -7
  323. data/lib/spree/testing_support/factories/stock_location_factory.rb +4 -4
  324. data/lib/spree/testing_support/factories/stock_transfer_factory.rb +1 -1
  325. data/lib/spree/testing_support/factories/store_credit_category_factory.rb +0 -1
  326. data/lib/spree/testing_support/factories/store_credit_type_factory.rb +0 -2
  327. data/lib/spree/testing_support/factories/tax_category_factory.rb +2 -2
  328. data/lib/spree/testing_support/factories/user_factory.rb +1 -1
  329. data/lib/spree/testing_support/factories/variant_factory.rb +1 -2
  330. data/lib/spree/testing_support/factories/zone_factory.rb +2 -1
  331. data/lib/spree/testing_support/i18n.rb +4 -5
  332. data/lib/spree/testing_support/order_walkthrough.rb +8 -9
  333. data/lib/spree/testing_support/preferences.rb +1 -1
  334. data/lib/spree/testing_support/sequences.rb +5 -4
  335. data/lib/tasks/core.rake +15 -19
  336. data/lib/tasks/email.rake +3 -3
  337. data/lib/tasks/exchanges.rake +12 -14
  338. data/lib/tasks/migrations/assure_store_on_orders.rake +38 -0
  339. data/lib/tasks/migrations/copy_order_bill_address_to_credit_card.rake +2 -2
  340. data/lib/tasks/migrations/copy_shipped_shipments_to_cartons.rake +1 -11
  341. data/lib/tasks/migrations/migrate_shipping_rate_taxes.rake +17 -0
  342. data/lib/tasks/migrations/migrate_user_addresses.rake +1 -1
  343. data/lib/tasks/order_capturing.rake +1 -1
  344. data/lib/tasks/upgrade.rake +11 -0
  345. data/script/rails +0 -1
  346. data/solidus_core.gemspec +6 -8
  347. data/spec/helpers/base_helper_spec.rb +15 -18
  348. data/spec/helpers/order_helper_spec.rb +2 -2
  349. data/spec/helpers/products_helper_spec.rb +43 -51
  350. data/spec/helpers/taxons_helper_spec.rb +1 -1
  351. data/spec/lib/i18n_spec.rb +11 -11
  352. data/spec/lib/search/base_spec.rb +12 -14
  353. data/spec/lib/search/variant_spec.rb +1 -0
  354. data/spec/lib/spree/core/controller_helpers/order_spec.rb +1 -7
  355. data/spec/lib/spree/core/controller_helpers/payment_parameters_spec.rb +26 -28
  356. data/spec/lib/spree/core/controller_helpers/pricing_spec.rb +63 -0
  357. data/spec/lib/spree/core/controller_helpers/search_spec.rb +4 -2
  358. data/spec/lib/spree/core/delegate_belongs_to_spec.rb +1 -1
  359. data/spec/lib/spree/core/importer/order_spec.rb +95 -90
  360. data/spec/lib/spree/core/role_configuration_spec.rb +16 -16
  361. data/spec/lib/spree/core/testing_support/factories/address_factory_spec.rb +35 -0
  362. data/spec/lib/spree/core/testing_support/factories/customer_return_factory_spec.rb +10 -1
  363. data/spec/lib/spree/core/testing_support/factories/order_factory_spec.rb +0 -1
  364. data/spec/lib/spree/core/testing_support/factories/shipping_method_factory_spec.rb +6 -1
  365. data/spec/lib/spree/core/testing_support/factories/state_factory_spec.rb +37 -1
  366. data/spec/lib/spree/core/testing_support/factories/stock_package_factory_spec.rb +2 -2
  367. data/spec/lib/spree/core/testing_support/factories/stock_packer_factory_spec.rb +1 -1
  368. data/spec/lib/spree/core/testing_support/factories/store_credit_event_factory_spec.rb +1 -2
  369. data/spec/lib/spree/core/testing_support/preferences_spec.rb +26 -0
  370. data/spec/lib/spree/core/unreturned_item_charger_spec.rb +7 -9
  371. data/spec/lib/spree/core/validators/email_spec.rb +8 -6
  372. data/spec/lib/spree/localized_number_spec.rb +1 -3
  373. data/spec/lib/spree/migrations_spec.rb +2 -2
  374. data/spec/lib/spree/money_spec.rb +75 -6
  375. data/spec/lib/tasks/exchanges_spec.rb +2 -12
  376. data/spec/lib/tasks/migrations/copy_shipped_shipments_to_cartons_spec.rb +0 -1
  377. data/spec/lib/tasks/order_capturing_spec.rb +1 -1
  378. data/spec/mailers/carton_mailer_spec.rb +3 -3
  379. data/spec/mailers/order_mailer_spec.rb +9 -11
  380. data/spec/mailers/reimbursement_mailer_spec.rb +2 -2
  381. data/spec/mailers/test_mailer_spec.rb +1 -1
  382. data/spec/models/spree/ability_spec.rb +4 -7
  383. data/spec/models/spree/address_spec.rb +32 -35
  384. data/spec/models/spree/adjustment_reason_spec.rb +0 -2
  385. data/spec/models/spree/adjustment_spec.rb +2 -2
  386. data/spec/models/spree/app_configuration_spec.rb +33 -3
  387. data/spec/models/spree/asset_spec.rb +1 -2
  388. data/spec/models/spree/calculator/default_tax_spec.rb +141 -52
  389. data/spec/models/spree/calculator/flat_percent_item_total_spec.rb +1 -1
  390. data/spec/models/spree/calculator/flexi_rate_spec.rb +6 -6
  391. data/spec/models/spree/calculator/percent_on_line_item_spec.rb +1 -1
  392. data/spec/models/spree/calculator/price_sack_spec.rb +2 -2
  393. data/spec/models/spree/calculator/refunds/default_refund_amount_spec.rb +9 -11
  394. data/spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb +4 -4
  395. data/spec/models/spree/calculator/shipping/flat_rate_spec.rb +2 -2
  396. data/spec/models/spree/calculator/shipping/flexi_rate_spec.rb +6 -7
  397. data/spec/models/spree/calculator/shipping/per_item_spec.rb +2 -2
  398. data/spec/models/spree/calculator/shipping/price_sack_spec.rb +2 -2
  399. data/spec/models/spree/calculator/tiered_flat_rate_spec.rb +1 -2
  400. data/spec/models/spree/calculator/tiered_percent_spec.rb +1 -1
  401. data/spec/models/spree/calculator_spec.rb +3 -8
  402. data/spec/models/spree/carton_spec.rb +1 -1
  403. data/spec/models/spree/classification_spec.rb +1 -1
  404. data/spec/models/spree/concerns/display_money_spec.rb +0 -1
  405. data/spec/models/spree/concerns/ordered_property_value_list_spec.rb +26 -1
  406. data/spec/models/spree/concerns/user_address_book_spec.rb +19 -12
  407. data/spec/models/spree/concerns/user_methods_spec.rb +1 -1
  408. data/spec/models/spree/country_spec.rb +52 -0
  409. data/spec/models/spree/credit_card_spec.rb +17 -12
  410. data/spec/models/spree/customer_return_spec.rb +27 -23
  411. data/spec/models/spree/exchange_spec.rb +2 -7
  412. data/spec/models/spree/gateway/bogus_simple.rb +2 -4
  413. data/spec/models/spree/gateway/bogus_spec.rb +4 -2
  414. data/spec/models/spree/gateway_spec.rb +8 -3
  415. data/spec/models/spree/inventory_unit_spec.rb +13 -14
  416. data/spec/models/spree/item_adjustments_spec.rb +36 -40
  417. data/spec/models/spree/line_item_spec.rb +92 -48
  418. data/spec/models/spree/option_type_spec.rb +1 -1
  419. data/spec/models/spree/option_value_spec.rb +1 -1
  420. data/spec/models/spree/order/address_spec.rb +1 -1
  421. data/spec/models/spree/order/callbacks_spec.rb +3 -3
  422. data/spec/models/spree/order/checkout_spec.rb +55 -48
  423. data/spec/models/spree/order/finalizing_spec.rb +8 -9
  424. data/spec/models/spree/order/payment_spec.rb +20 -20
  425. data/spec/models/spree/order/risk_assessment_spec.rb +1 -1
  426. data/spec/models/spree/order/state_machine_spec.rb +40 -131
  427. data/spec/models/spree/order/tax_spec.rb +11 -12
  428. data/spec/models/spree/order/totals_spec.rb +3 -3
  429. data/spec/models/spree/order/updating_spec.rb +2 -2
  430. data/spec/models/spree/order/validations_spec.rb +2 -2
  431. data/spec/models/spree/order_cancellations_spec.rb +1 -1
  432. data/spec/models/spree/order_capturing_spec.rb +1 -1
  433. data/spec/models/spree/order_contents_spec.rb +10 -11
  434. data/spec/models/spree/order_inventory_spec.rb +11 -11
  435. data/spec/models/spree/order_merger_spec.rb +1 -0
  436. data/spec/models/spree/order_shipping_spec.rb +8 -10
  437. data/spec/models/spree/order_spec.rb +137 -124
  438. data/spec/models/spree/order_stock_location_spec.rb +2 -2
  439. data/spec/models/spree/order_update_attributes_spec.rb +6 -10
  440. data/spec/models/spree/order_updater_spec.rb +4 -8
  441. data/spec/models/spree/payment_create_spec.rb +11 -12
  442. data/spec/models/spree/payment_method/store_credit_spec.rb +10 -6
  443. data/spec/models/spree/payment_method_spec.rb +4 -5
  444. data/spec/models/spree/payment_spec.rb +61 -69
  445. data/spec/models/spree/permission_sets/base_spec.rb +1 -1
  446. data/spec/models/spree/permission_sets/configuration_display.rb +0 -1
  447. data/spec/models/spree/permission_sets/configuration_management_spec.rb +0 -1
  448. data/spec/models/spree/permission_sets/dashboard_display_spec.rb +0 -1
  449. data/spec/models/spree/permission_sets/order_display_spec.rb +0 -1
  450. data/spec/models/spree/permission_sets/order_management_spec.rb +0 -1
  451. data/spec/models/spree/permission_sets/product_display_spec.rb +0 -1
  452. data/spec/models/spree/permission_sets/product_management_spec.rb +0 -1
  453. data/spec/models/spree/permission_sets/promotion_display_spec.rb +0 -1
  454. data/spec/models/spree/permission_sets/promotion_management_spec.rb +0 -1
  455. data/spec/models/spree/permission_sets/report_display_spec.rb +0 -1
  456. data/spec/models/spree/permission_sets/restricted_stock_display_spec.rb +0 -1
  457. data/spec/models/spree/permission_sets/restricted_stock_management_spec.rb +0 -1
  458. data/spec/models/spree/permission_sets/restricted_stock_transfer_display_spec.rb +0 -1
  459. data/spec/models/spree/permission_sets/restricted_stock_transfer_management_spec.rb +6 -6
  460. data/spec/models/spree/permission_sets/stock_display_spec.rb +0 -1
  461. data/spec/models/spree/permission_sets/stock_management_spec.rb +0 -1
  462. data/spec/models/spree/permission_sets/stock_transfer_display_spec.rb +0 -1
  463. data/spec/models/spree/permission_sets/stock_transfer_management_spec.rb +0 -2
  464. data/spec/models/spree/permission_sets/user_display_spec.rb +0 -1
  465. data/spec/models/spree/permission_sets/user_management_spec.rb +0 -1
  466. data/spec/models/spree/preference_spec.rb +1 -4
  467. data/spec/models/spree/preferences/configuration_spec.rb +2 -7
  468. data/spec/models/spree/preferences/preferable_spec.rb +13 -24
  469. data/spec/models/spree/preferences/scoped_store_spec.rb +1 -1
  470. data/spec/models/spree/preferences/static_model_preferences_spec.rb +5 -6
  471. data/spec/models/spree/preferences/statically_configurable_spec.rb +2 -6
  472. data/spec/models/spree/preferences/store_spec.rb +2 -3
  473. data/spec/models/spree/price_spec.rb +6 -6
  474. data/spec/models/spree/product/scopes_spec.rb +20 -20
  475. data/spec/models/spree/product_duplicator_spec.rb +16 -29
  476. data/spec/models/spree/product_filter_spec.rb +2 -2
  477. data/spec/models/spree/product_spec.rb +53 -20
  478. data/spec/models/spree/promotion/actions/create_adjustment_spec.rb +10 -12
  479. data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +4 -4
  480. data/spec/models/spree/promotion/actions/create_quantity_adjustments_spec.rb +9 -9
  481. data/spec/models/spree/promotion/actions/free_shipping_spec.rb +1 -1
  482. data/spec/models/spree/promotion/rules/first_order_spec.rb +10 -10
  483. data/spec/models/spree/promotion/rules/item_total_spec.rb +63 -19
  484. data/spec/models/spree/promotion/rules/one_use_per_user_spec.rb +1 -1
  485. data/spec/models/spree/promotion/rules/product_spec.rb +8 -8
  486. data/spec/models/spree/promotion/rules/taxon_spec.rb +4 -4
  487. data/spec/models/spree/promotion/rules/user_logged_in_spec.rb +3 -4
  488. data/spec/models/spree/promotion/rules/user_spec.rb +7 -7
  489. data/spec/models/spree/promotion_builder_spec.rb +10 -8
  490. data/spec/models/spree/promotion_category_spec.rb +1 -1
  491. data/spec/models/spree/promotion_code/code_builder_spec.rb +1 -3
  492. data/spec/models/spree/promotion_code_spec.rb +8 -7
  493. data/spec/models/spree/promotion_handler/cart_spec.rb +1 -1
  494. data/spec/models/spree/promotion_handler/coupon_spec.rb +28 -28
  495. data/spec/models/spree/promotion_handler/page_spec.rb +6 -7
  496. data/spec/models/spree/promotion_rule_spec.rb +1 -2
  497. data/spec/models/spree/promotion_spec.rb +25 -21
  498. data/spec/models/spree/refund_spec.rb +8 -11
  499. data/spec/models/spree/reimbursement/credit_spec.rb +2 -2
  500. data/spec/models/spree/reimbursement/reimbursement_type_engine_spec.rb +6 -4
  501. data/spec/models/spree/reimbursement/reimbursement_type_validator_spec.rb +1 -1
  502. data/spec/models/spree/reimbursement_performer_spec.rb +2 -2
  503. data/spec/models/spree/reimbursement_spec.rb +9 -11
  504. data/spec/models/spree/reimbursement_tax_calculator_spec.rb +4 -5
  505. data/spec/models/spree/reimbursement_type/credit_spec.rb +2 -2
  506. data/spec/models/spree/reimbursement_type/exchange_spec.rb +2 -3
  507. data/spec/models/spree/reimbursement_type/original_payment_spec.rb +4 -4
  508. data/spec/models/spree/reimbursement_type/store_credit_spec.rb +1 -1
  509. data/spec/models/spree/return_authorization_spec.rb +18 -21
  510. data/spec/models/spree/return_item/eligibility_validator/default_spec.rb +7 -7
  511. data/spec/models/spree/return_item/eligibility_validator/inventory_shipped_spec.rb +0 -1
  512. data/spec/models/spree/return_item/eligibility_validator/no_reimbursements_spec.rb +0 -1
  513. data/spec/models/spree/return_item/eligibility_validator/rma_required_spec.rb +1 -1
  514. data/spec/models/spree/return_item/eligibility_validator/time_since_purchase_spec.rb +1 -1
  515. data/spec/models/spree/return_item/exchange_variant_eligibility/same_option_value_spec.rb +1 -2
  516. data/spec/models/spree/return_item/exchange_variant_eligibility/same_product_spec.rb +3 -5
  517. data/spec/models/spree/return_item_spec.rb +29 -31
  518. data/spec/models/spree/returns_calculator_spec.rb +1 -1
  519. data/spec/models/spree/shipment_spec.rb +59 -43
  520. data/spec/models/spree/shipping_calculator_spec.rb +3 -3
  521. data/spec/models/spree/shipping_manifest_spec.rb +8 -7
  522. data/spec/models/spree/shipping_method_spec.rb +149 -24
  523. data/spec/models/spree/shipping_rate_spec.rb +116 -76
  524. data/spec/models/spree/shipping_rate_tax_spec.rb +83 -0
  525. data/spec/models/spree/state_spec.rb +2 -2
  526. data/spec/models/spree/stock/availability_validator_spec.rb +4 -4
  527. data/spec/models/spree/stock/coordinator_spec.rb +33 -49
  528. data/spec/models/spree/stock/differentiator_spec.rb +1 -1
  529. data/spec/models/spree/stock/estimator_spec.rb +83 -54
  530. data/spec/models/spree/stock/inventory_unit_builder_spec.rb +1 -3
  531. data/spec/models/spree/stock/package_spec.rb +27 -10
  532. data/spec/models/spree/stock/packer_spec.rb +4 -4
  533. data/spec/models/spree/stock/prioritizer_spec.rb +1 -1
  534. data/spec/models/spree/stock/quantifier_spec.rb +2 -6
  535. data/spec/models/spree/stock/splitter/backordered_spec.rb +1 -1
  536. data/spec/models/spree/stock/splitter/base_spec.rb +1 -2
  537. data/spec/models/spree/stock/splitter/shipping_category_spec.rb +1 -3
  538. data/spec/models/spree/stock/splitter/weight_spec.rb +3 -3
  539. data/spec/models/spree/stock_item_spec.rb +16 -16
  540. data/spec/models/spree/stock_location_spec.rb +6 -8
  541. data/spec/models/spree/stock_movement_spec.rb +1 -1
  542. data/spec/models/spree/stock_transfer_spec.rb +1 -3
  543. data/spec/models/spree/store_credit_category_spec.rb +1 -1
  544. data/spec/models/spree/store_credit_event_spec.rb +3 -5
  545. data/spec/models/spree/store_credit_spec.rb +24 -23
  546. data/spec/models/spree/store_spec.rb +21 -2
  547. data/spec/models/spree/tax/item_adjuster_spec.rb +74 -0
  548. data/spec/models/spree/tax/order_adjuster_spec.rb +49 -0
  549. data/spec/models/spree/tax/shipping_rate_taxer_spec.rb +50 -0
  550. data/spec/models/spree/tax/tax_location_spec.rb +68 -0
  551. data/spec/models/spree/tax/taxation_integration_spec.rb +787 -0
  552. data/spec/models/spree/tax_category_spec.rb +2 -2
  553. data/spec/models/spree/tax_rate_spec.rb +185 -536
  554. data/spec/models/spree/taxon_spec.rb +69 -5
  555. data/spec/models/spree/taxonomy_spec.rb +2 -3
  556. data/spec/models/spree/tracker_spec.rb +1 -1
  557. data/spec/models/spree/transfer_item_spec.rb +1 -1
  558. data/spec/models/spree/unit_cancel_spec.rb +9 -14
  559. data/spec/models/spree/user_spec.rb +19 -24
  560. data/spec/models/spree/validations/db_maximum_length_validator_spec.rb +1 -1
  561. data/spec/models/spree/variant/pricer_spec.rb +48 -0
  562. data/spec/models/spree/variant/pricing_options_spec.rb +106 -0
  563. data/spec/models/spree/variant/scopes_spec.rb +31 -8
  564. data/spec/models/spree/variant_property_rule_spec.rb +1 -1
  565. data/spec/models/spree/variant_spec.rb +166 -52
  566. data/spec/models/spree/zone_spec.rb +135 -10
  567. data/spec/support/big_decimal.rb +1 -1
  568. data/spec/support/concerns/working_factories.rb +2 -2
  569. data/spec/support/dummy_ability.rb +0 -1
  570. metadata +55 -44
  571. data/lib/generators/spree/dummy/templates/initializers/devise.rb +0 -3
  572. data/lib/spree/migration_helpers.rb +0 -19
  573. data/vendor/assets/stylesheets/skeleton.css +0 -242
@@ -1,7 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::Reimbursement, type: :model do
4
-
5
4
  describe ".before_create" do
6
5
  describe "#generate_number" do
7
6
  context "number is assigned" do
@@ -50,10 +49,10 @@ describe Spree::Reimbursement, type: :model do
50
49
  let!(:adjustments) { [] } # placeholder to ensure it gets run prior the "before" at this level
51
50
 
52
51
  let!(:tax_rate) { nil }
53
- let!(:tax_zone) { create :zone, default_tax: true }
52
+ let!(:tax_zone) { create :zone, :with_country, default_tax: true }
54
53
  let(:shipping_method) { create :shipping_method, zones: [tax_zone] }
55
54
  let(:variant) { create :variant }
56
- let(:order) { create(:order_with_line_items, state: 'payment', line_items_attributes: [{variant: variant, price: line_items_price}], shipment_cost: 0, shipping_method: shipping_method) }
55
+ let(:order) { create(:order_with_line_items, state: 'payment', line_items_attributes: [{ variant: variant, price: line_items_price }], shipment_cost: 0, shipping_method: shipping_method) }
57
56
  let(:line_items_price) { BigDecimal.new(10) }
58
57
  let(:line_item) { order.line_items.first }
59
58
  let(:inventory_unit) { line_item.inventory_units.first }
@@ -107,8 +106,8 @@ describe Spree::Reimbursement, type: :model do
107
106
  return_item.reload
108
107
  expect(return_item.additional_tax_total).to be > 0
109
108
  expect(return_item.additional_tax_total).to eq line_item.additional_tax_total
110
- expect(reimbursement.total).to eq line_item.pre_tax_amount + line_item.additional_tax_total
111
- expect(Spree::Refund.last.amount).to eq line_item.pre_tax_amount + line_item.additional_tax_total
109
+ expect(reimbursement.total).to eq line_item.amount + line_item.additional_tax_total
110
+ expect(Spree::Refund.last.amount).to eq line_item.amount + line_item.additional_tax_total
112
111
  end
113
112
  end
114
113
 
@@ -122,8 +121,8 @@ describe Spree::Reimbursement, type: :model do
122
121
  return_item.reload
123
122
  expect(return_item.included_tax_total).to be > 0
124
123
  expect(return_item.included_tax_total).to eq line_item.included_tax_total
125
- expect(reimbursement.total).to eq (line_item.pre_tax_amount + line_item.included_tax_total).round(2, :down)
126
- expect(Spree::Refund.last.amount).to eq (line_item.pre_tax_amount + line_item.included_tax_total).round(2, :down)
124
+ expect(reimbursement.total).to eq((line_item.pre_tax_amount + line_item.included_tax_total).round(2, :down))
125
+ expect(Spree::Refund.last.amount).to eq((line_item.pre_tax_amount + line_item.included_tax_total).round(2, :down))
127
126
  end
128
127
  end
129
128
 
@@ -148,12 +147,11 @@ describe Spree::Reimbursement, type: :model do
148
147
  expect(Spree::ReimbursementMailer).to receive(:reimbursement_email).with(reimbursement.id) { double(deliver_later: true) }
149
148
  subject
150
149
  end
151
-
152
150
  end
153
151
 
154
152
  describe "#return_items_requiring_exchange" do
155
153
  it "returns only the return items that require an exchange" do
156
- return_items = [double(exchange_required?: true), double(exchange_required?: true),double(exchange_required?: false)]
154
+ return_items = [double(exchange_required?: true), double(exchange_required?: true), double(exchange_required?: false)]
157
155
  allow(subject).to receive(:return_items) { return_items }
158
156
  expect(subject.return_items_requiring_exchange).to eq return_items.take(2)
159
157
  end
@@ -194,8 +192,8 @@ describe Spree::Reimbursement, type: :model do
194
192
  subject { reimbursement.calculated_total }
195
193
 
196
194
  before do
197
- reimbursement.return_items << Spree::ReturnItem.new(pre_tax_amount: 10.003)
198
- reimbursement.return_items << Spree::ReturnItem.new(pre_tax_amount: 10.003)
195
+ reimbursement.return_items << Spree::ReturnItem.new(amount: 10.003)
196
+ reimbursement.return_items << Spree::ReturnItem.new(amount: 10.003)
199
197
  end
200
198
 
201
199
  it 'rounds down' do
@@ -1,7 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Spree::ReimbursementTaxCalculator, :type => :model do
4
-
3
+ describe Spree::ReimbursementTaxCalculator, type: :model do
5
4
  let!(:tax_rate) { nil }
6
5
 
7
6
  let(:reimbursement) { create(:reimbursement, return_items_count: 1) }
@@ -25,7 +24,7 @@ describe Spree::ReimbursementTaxCalculator, :type => :model do
25
24
 
26
25
  context 'with additional tax' do
27
26
  let!(:tax_rate) { create(:tax_rate, name: "Sales Tax", amount: 0.10, included_in_price: false, zone: tax_zone) }
28
- let(:tax_zone) { create(:zone, default_tax: true) }
27
+ let(:tax_zone) { create(:zone, :with_country, default_tax: true) }
29
28
 
30
29
  it 'sets additional_tax_total on the return items' do
31
30
  subject
@@ -38,13 +37,13 @@ describe Spree::ReimbursementTaxCalculator, :type => :model do
38
37
 
39
38
  context 'with included tax' do
40
39
  let!(:tax_rate) { create(:tax_rate, name: "VAT Tax", amount: 0.1, included_in_price: true, zone: tax_zone) }
41
- let(:tax_zone) { create(:zone, default_tax: true) }
40
+ let(:tax_zone) { create(:zone, :with_country, default_tax: true) }
42
41
 
43
42
  it 'sets included_tax_total on the return items' do
44
43
  subject
45
44
  return_item.reload
46
45
 
47
- expect(return_item.included_tax_total).to be < 0
46
+ expect(return_item.included_tax_total).to be > 0
48
47
  expect(return_item.included_tax_total).to eq line_item.included_tax_total
49
48
  end
50
49
  end
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  module Spree
4
- describe ReimbursementType::Credit, :type => :model do
4
+ describe ReimbursementType::Credit, type: :model do
5
5
  let(:reimbursement) { create(:reimbursement, return_items_count: 1) }
6
6
  let(:return_item) { reimbursement.return_items.first }
7
7
  let(:payment) { reimbursement.order.payments.first }
@@ -14,7 +14,7 @@ module Spree
14
14
  self.table_name = 'spree_payments' # Your creditable class should not use this table
15
15
  end
16
16
 
17
- subject { Spree::ReimbursementType::Credit.reimburse(reimbursement, [return_item], simulate)}
17
+ subject { Spree::ReimbursementType::Credit.reimburse(reimbursement, [return_item], simulate) }
18
18
 
19
19
  before do
20
20
  reimbursement.update!(total: reimbursement.calculated_total)
@@ -1,14 +1,14 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  module Spree
4
- describe ReimbursementType::Exchange, :type => :model do
4
+ describe ReimbursementType::Exchange, type: :model do
5
5
  describe '.reimburse' do
6
6
  let(:reimbursement) { create(:reimbursement, return_items_count: 1) }
7
7
  let(:return_items) { reimbursement.return_items }
8
8
  let(:new_exchange) { double("Exchange") }
9
9
  let(:simulate) { true }
10
10
 
11
- subject { Spree::ReimbursementType::Exchange.reimburse(reimbursement, return_items, simulate)}
11
+ subject { Spree::ReimbursementType::Exchange.reimburse(reimbursement, return_items, simulate) }
12
12
 
13
13
  context 'return items are supplied' do
14
14
  before do
@@ -16,7 +16,6 @@ module Spree
16
16
  end
17
17
 
18
18
  context "simulate is true" do
19
-
20
19
  it 'does not perform an exchange and returns the exchange object' do
21
20
  expect(new_exchange).not_to receive(:perform!)
22
21
  expect(subject).to eq [new_exchange]
@@ -1,14 +1,14 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  module Spree
4
- describe ReimbursementType::OriginalPayment, :type => :model do
4
+ describe ReimbursementType::OriginalPayment, type: :model do
5
5
  let(:reimbursement) { create(:reimbursement, return_items_count: 1) }
6
6
  let(:return_item) { reimbursement.return_items.first }
7
7
  let(:payment) { reimbursement.order.payments.first }
8
8
  let(:simulate) { false }
9
9
  let!(:default_refund_reason) { Spree::RefundReason.find_or_create_by!(name: Spree::RefundReason::RETURN_PROCESSING_REASON, mutable: false) }
10
10
 
11
- subject { Spree::ReimbursementType::OriginalPayment.reimburse(reimbursement, [return_item], simulate)}
11
+ subject { Spree::ReimbursementType::OriginalPayment.reimburse(reimbursement, [return_item], simulate) }
12
12
 
13
13
  before { reimbursement.update!(total: reimbursement.calculated_total) }
14
14
 
@@ -43,7 +43,7 @@ module Spree
43
43
 
44
44
  context 'when a payment is negative' do
45
45
  before do
46
- expect_any_instance_of(Spree::Payment).to receive(:amount).and_return -100
46
+ expect_any_instance_of(Spree::Payment).to receive(:amount).and_return(-100)
47
47
  end
48
48
 
49
49
  it 'returns an empty array' do
@@ -61,7 +61,7 @@ module Spree
61
61
 
62
62
  before do
63
63
  reimbursement.order.payments.first.update_attributes!(amount: 5.0)
64
- return_item.update_attributes!(pre_tax_amount: refund_amount)
64
+ return_item.update_attributes!(amount: refund_amount)
65
65
  end
66
66
 
67
67
  it "includes refunds all payment type" do
@@ -13,7 +13,7 @@ module Spree
13
13
  let!(:created_by_user) { create(:user, email: Spree::StoreCredit::DEFAULT_CREATED_BY_EMAIL) }
14
14
  let!(:default_reimbursement_category) { create(:store_credit_category) }
15
15
 
16
- subject { Spree::ReimbursementType::StoreCredit.reimburse(reimbursement, [return_item, return_item2], simulate)}
16
+ subject { Spree::ReimbursementType::StoreCredit.reimburse(reimbursement, [return_item, return_item2], simulate) }
17
17
 
18
18
  before do
19
19
  reimbursement.update!(total: reimbursement.calculated_total)
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Spree::ReturnAuthorization, :type => :model do
3
+ describe Spree::ReturnAuthorization, type: :model do
4
4
  let(:order) { create(:shipped_order) }
5
5
  let(:stock_location) { create(:stock_location) }
6
6
  let(:rma_reason) { create(:return_reason) }
@@ -52,13 +52,11 @@ describe Spree::ReturnAuthorization, :type => :model do
52
52
  subject { create(:return_authorization, order: order, return_items: [exchange_return_item, return_item]) }
53
53
 
54
54
  before do
55
- @expediteted_exchanges_config = Spree::Config[:expedited_exchanges]
56
55
  Spree::Config[:expedited_exchanges] = true
57
56
  @pre_exchange_hooks = subject.class.pre_expedited_exchange_hooks
58
57
  end
59
58
 
60
59
  after do
61
- Spree::Config[:expedited_exchanges] = @expediteted_exchanges_config
62
60
  subject.class.pre_expedited_exchange_hooks = @pre_exchange_hooks
63
61
  end
64
62
 
@@ -66,7 +64,7 @@ describe Spree::ReturnAuthorization, :type => :model do
66
64
  subject { create(:return_authorization, order: order) }
67
65
 
68
66
  it "does not create a reimbursement" do
69
- expect{subject.save}.to_not change { Spree::Reimbursement.count }
67
+ expect{ subject.save }.to_not change { Spree::Reimbursement.count }
70
68
  end
71
69
  end
72
70
 
@@ -104,7 +102,6 @@ describe Spree::ReturnAuthorization, :type => :model do
104
102
  end
105
103
  end
106
104
  end
107
-
108
105
  end
109
106
  end
110
107
 
@@ -140,19 +137,19 @@ describe Spree::ReturnAuthorization, :type => :model do
140
137
  end
141
138
 
142
139
  describe "#pre_tax_total" do
143
- let(:pre_tax_amount_1) { 15.0 }
144
- let!(:return_item_1) { create(:return_item, return_authorization: return_authorization, pre_tax_amount: pre_tax_amount_1) }
140
+ let(:amount_1) { 15.0 }
141
+ let!(:return_item_1) { create(:return_item, return_authorization: return_authorization, amount: amount_1) }
145
142
 
146
- let(:pre_tax_amount_2) { 50.0 }
147
- let!(:return_item_2) { create(:return_item, return_authorization: return_authorization, pre_tax_amount: pre_tax_amount_2) }
143
+ let(:amount_2) { 50.0 }
144
+ let!(:return_item_2) { create(:return_item, return_authorization: return_authorization, amount: amount_2) }
148
145
 
149
- let(:pre_tax_amount_3) { 5.0 }
150
- let!(:return_item_3) { create(:return_item, return_authorization: return_authorization, pre_tax_amount: pre_tax_amount_3) }
146
+ let(:amount_3) { 5.0 }
147
+ let!(:return_item_3) { create(:return_item, return_authorization: return_authorization, amount: amount_3) }
151
148
 
152
- subject { return_authorization.pre_tax_total }
149
+ subject { return_authorization.reload.pre_tax_total }
153
150
 
154
- it "sums it's associated return_item's pre-tax amounts" do
155
- expect(subject).to eq (pre_tax_amount_1 + pre_tax_amount_2 + pre_tax_amount_3)
151
+ it "sums it's associated return_item's amounts" do
152
+ expect(subject).to eq(amount_1 + amount_2 + amount_3)
156
153
  end
157
154
  end
158
155
 
@@ -169,38 +166,38 @@ describe Spree::ReturnAuthorization, :type => :model do
169
166
  end
170
167
 
171
168
  it "should allow_receive when inventory units assigned" do
172
- allow(return_authorization).to receive_messages(:inventory_units => [1,2,3])
169
+ allow(return_authorization).to receive_messages(inventory_units: [1, 2, 3])
173
170
  expect(return_authorization.can_receive?).to be true
174
171
  end
175
172
 
176
173
  it "should not allow_receive with no inventory units" do
177
- allow(return_authorization).to receive_messages(:inventory_units => [])
174
+ allow(return_authorization).to receive_messages(inventory_units: [])
178
175
  expect(return_authorization.can_receive?).to be false
179
176
  end
180
177
  end
181
178
 
182
179
  describe "#refundable_amount" do
183
- let(:weighted_line_item_pre_tax_amount) { 5.0 }
184
- let(:line_item_count) { return_authorization.order.line_items.count }
180
+ let(:line_item_price) { 5.0 }
181
+ let(:line_item_count) { return_authorization.order.line_items.count }
185
182
 
186
183
  subject { return_authorization.refundable_amount }
187
184
 
188
185
  before do
189
- return_authorization.order.line_items.update_all(pre_tax_amount: weighted_line_item_pre_tax_amount)
186
+ return_authorization.order.line_items.update_all(price: line_item_price)
190
187
  return_authorization.order.update_attribute(:promo_total, promo_total)
191
188
  end
192
189
 
193
190
  context "no promotions" do
194
191
  let(:promo_total) { 0.0 }
195
192
  it "returns the pre-tax line item total" do
196
- expect(subject).to eq (weighted_line_item_pre_tax_amount * line_item_count)
193
+ expect(subject).to eq(line_item_price * line_item_count)
197
194
  end
198
195
  end
199
196
 
200
197
  context "promotions" do
201
198
  let(:promo_total) { -10.0 }
202
199
  it "returns the pre-tax line item total minus the order level promotion value" do
203
- expect(subject).to eq (weighted_line_item_pre_tax_amount * line_item_count) + promo_total
200
+ expect(subject).to eq((line_item_price * line_item_count) + promo_total)
204
201
  end
205
202
  end
206
203
  end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Spree::ReturnItem::EligibilityValidator::Default, :type => :model do
3
+ describe Spree::ReturnItem::EligibilityValidator::Default, type: :model do
4
4
  let(:return_item) { create(:return_item) }
5
5
  let(:validator) { Spree::ReturnItem::EligibilityValidator::Default.new(return_item) }
6
6
 
@@ -10,11 +10,11 @@ describe Spree::ReturnItem::EligibilityValidator::Default, :type => :model do
10
10
  let(:time_eligibility_instance) { double(errors: time_error) }
11
11
  let(:rma_eligibility_instance) { double(errors: rma_error) }
12
12
 
13
- let(:time_error) {{}}
14
- let(:rma_error) {{}}
13
+ let(:time_error) { {} }
14
+ let(:rma_error) { {} }
15
15
 
16
16
  before do
17
- validator.permitted_eligibility_validators = [ time_eligibility_class, rma_eligibility_class ]
17
+ validator.permitted_eligibility_validators = [time_eligibility_class, rma_eligibility_class]
18
18
 
19
19
  expect(time_eligibility_class).to receive(:new).and_return(time_eligibility_instance)
20
20
  expect(rma_eligibility_class).to receive(:new).and_return(rma_eligibility_instance)
@@ -63,14 +63,14 @@ describe Spree::ReturnItem::EligibilityValidator::Default, :type => :model do
63
63
  end
64
64
 
65
65
  context "the validators have errors" do
66
- let(:time_error) { { time: time_error_text }}
67
- let(:rma_error) { { rma: rma_error_text }}
66
+ let(:time_error) { { time: time_error_text } }
67
+ let(:rma_error) { { rma: rma_error_text } }
68
68
 
69
69
  let(:time_error_text) { "Time eligibility error" }
70
70
  let(:rma_error_text) { "RMA eligibility error" }
71
71
 
72
72
  it "gathers all errors from permitted eligibility validators into a single errors hash" do
73
- expect(subject).to eq({time: time_error_text, rma: rma_error_text})
73
+ expect(subject).to eq({ time: time_error_text, rma: rma_error_text })
74
74
  end
75
75
  end
76
76
  end
@@ -53,6 +53,5 @@ describe Spree::ReturnItem::EligibilityValidator::InventoryShipped do
53
53
  expect(subject).to eq false
54
54
  end
55
55
  end
56
-
57
56
  end
58
57
  end
@@ -4,7 +4,6 @@ describe Spree::ReturnItem::EligibilityValidator::NoReimbursements do
4
4
  let(:validator) { Spree::ReturnItem::EligibilityValidator::NoReimbursements.new(return_item) }
5
5
 
6
6
  describe "#eligible_for_return?" do
7
-
8
7
  subject { validator.eligible_for_return? }
9
8
 
10
9
  context "inventory unit has already been reimbursed" do
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Spree::ReturnItem::EligibilityValidator::RMARequired, :type => :model do
3
+ describe Spree::ReturnItem::EligibilityValidator::RMARequired, type: :model do
4
4
  let(:return_item) { create(:return_item) }
5
5
  let(:validator) { Spree::ReturnItem::EligibilityValidator::RMARequired.new(return_item) }
6
6
 
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Spree::ReturnItem::EligibilityValidator::TimeSincePurchase, :type => :model do
3
+ describe Spree::ReturnItem::EligibilityValidator::TimeSincePurchase, type: :model do
4
4
  let(:inventory_unit) { create(:inventory_unit, order: create(:shipped_order)) }
5
5
  let(:return_item) { create(:return_item, inventory_unit: inventory_unit) }
6
6
  let(:validator) { Spree::ReturnItem::EligibilityValidator::TimeSincePurchase.new(return_item) }
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  module Spree
4
4
  module ReturnItem::ExchangeVariantEligibility
5
- describe SameOptionValue, :type => :model do
5
+ describe SameOptionValue, type: :model do
6
6
  describe ".eligible_variants" do
7
7
  let(:color_option_type) { create(:option_type, name: "color") }
8
8
  let(:waist_option_type) { create(:option_type, name: "waist") }
@@ -62,4 +62,3 @@ module Spree
62
62
  end
63
63
  end
64
64
  end
65
-
@@ -2,9 +2,8 @@ require 'spec_helper'
2
2
 
3
3
  module Spree
4
4
  module ReturnItem::ExchangeVariantEligibility
5
- describe SameProduct, :type => :model do
5
+ describe SameProduct, type: :model do
6
6
  describe ".eligible_variants" do
7
-
8
7
  context "product has no variants" do
9
8
  it "returns the master variant for the same product" do
10
9
  product = create(:product)
@@ -16,7 +15,7 @@ module Spree
16
15
 
17
16
  context "product has variants" do
18
17
  it "returns all variants for the same product" do
19
- product = create(:product, variants: 3.times.map { create(:variant) })
18
+ product = create(:product, variants: Array.new(3) { create(:variant) })
20
19
  product.variants.map { |v| v.stock_items.first.update_column(:count_on_hand, 10) }
21
20
 
22
21
  expect(SameProduct.eligible_variants(product.variants.first).sort).to eq product.variants.sort
@@ -30,14 +29,13 @@ module Spree
30
29
  end
31
30
 
32
31
  it "only returns variants that are on hand" do
33
- product = create(:product, variants: 2.times.map { create(:variant) })
32
+ product = create(:product, variants: Array.new(2) { create(:variant) })
34
33
  in_stock_variant = product.variants.first
35
34
 
36
35
  in_stock_variant.stock_items.first.update_column(:count_on_hand, 10)
37
36
  expect(SameProduct.eligible_variants(in_stock_variant)).to eq [in_stock_variant]
38
37
  end
39
38
  end
40
-
41
39
  end
42
40
  end
43
41
  end
@@ -8,8 +8,7 @@ shared_examples "an invalid state transition" do |status, expected_status|
8
8
  end
9
9
  end
10
10
 
11
- describe Spree::ReturnItem, :type => :model do
12
-
11
+ describe Spree::ReturnItem, type: :model do
13
12
  all_reception_statuses = Spree::ReturnItem.state_machines[:reception_status].states.map(&:name).map(&:to_s)
14
13
  all_acceptance_statuses = Spree::ReturnItem.state_machines[:acceptance_status].states.map(&:name).map(&:to_s)
15
14
 
@@ -19,10 +18,10 @@ describe Spree::ReturnItem, :type => :model do
19
18
 
20
19
  describe '#receive!' do
21
20
  let(:now) { Time.current }
22
- let(:order) { create(:shipped_order)}
23
- let(:inventory_unit) { create(:inventory_unit, order: order,state: 'shipped') }
21
+ let(:order) { create(:shipped_order) }
22
+ let(:inventory_unit) { create(:inventory_unit, order: order, state: 'shipped') }
24
23
  let!(:customer_return) { create(:customer_return_without_return_items, return_items: [return_item], stock_location_id: inventory_unit.shipment.stock_location_id) }
25
- let(:return_item) { create(:return_item, inventory_unit: inventory_unit) }
24
+ let(:return_item) { create(:return_item, inventory_unit: inventory_unit) }
26
25
 
27
26
  before do
28
27
  inventory_unit.update_attributes!(state: 'shipped')
@@ -59,9 +58,9 @@ describe Spree::ReturnItem, :type => :model do
59
58
  end
60
59
 
61
60
  context 'when the received item is actually the exchange (aka customer changed mind about exchange)' do
62
- let(:exchange_inventory_unit) { create(:inventory_unit, order: order,state: 'shipped') }
61
+ let(:exchange_inventory_unit) { create(:inventory_unit, order: order, state: 'shipped') }
63
62
  let!(:return_item_with_exchange) { create(:return_item, inventory_unit: inventory_unit, exchange_inventory_unit: exchange_inventory_unit) }
64
- let!(:return_item_in_lieu) { create(:return_item, inventory_unit: exchange_inventory_unit)}
63
+ let!(:return_item_in_lieu) { create(:return_item, inventory_unit: exchange_inventory_unit) }
65
64
 
66
65
  it 'unexchanges original return item' do
67
66
  return_item_in_lieu.receive!
@@ -70,7 +69,7 @@ describe Spree::ReturnItem, :type => :model do
70
69
  return_item_in_lieu.reload
71
70
  expect(return_item_with_exchange.reception_status).to eq 'unexchanged'
72
71
  expect(return_item_in_lieu.reception_status).to eq 'received'
73
- expect(return_item_in_lieu.pre_tax_amount).to eq 0
72
+ expect(return_item_in_lieu.amount).to eq 0
74
73
  expect(inventory_unit.reload.state).to eq 'shipped'
75
74
  expect(exchange_inventory_unit.reload.state).to eq 'returned'
76
75
  end
@@ -78,7 +77,7 @@ describe Spree::ReturnItem, :type => :model do
78
77
 
79
78
  context 'with a stock location' do
80
79
  let(:stock_location) { customer_return.stock_location }
81
- let(:stock_item) { stock_location.stock_item(inventory_unit.variant) }
80
+ let(:stock_item) { stock_location.stock_item(inventory_unit.variant) }
82
81
 
83
82
  before do
84
83
  inventory_unit.update_attributes!(state: 'shipped')
@@ -121,7 +120,6 @@ describe Spree::ReturnItem, :type => :model do
121
120
  expect(stock_item.variant).to eq inventory_unit.variant
122
121
  expect(stock_item.count_on_hand).to eq 1
123
122
  end
124
-
125
123
  end
126
124
 
127
125
  Spree::ReturnItem::INTERMEDIATE_RECEPTION_STATUSES.each do |status|
@@ -142,13 +140,13 @@ describe Spree::ReturnItem, :type => :model do
142
140
  end
143
141
  end
144
142
 
145
-
146
143
  describe "#display_pre_tax_amount" do
147
- let(:pre_tax_amount) { 21.22 }
148
- let(:return_item) { build(:return_item, pre_tax_amount: pre_tax_amount) }
144
+ let(:amount) { 21.22 }
145
+ let(:included_tax_total) { 1.22 }
146
+ let(:return_item) { build(:return_item, amount: amount, included_tax_total: included_tax_total) }
149
147
 
150
148
  it "returns a Spree::Money" do
151
- expect(return_item.display_pre_tax_amount).to eq Spree::Money.new(pre_tax_amount)
149
+ expect(return_item.display_pre_tax_amount).to eq Spree::Money.new(amount - included_tax_total)
152
150
  end
153
151
  end
154
152
 
@@ -158,28 +156,28 @@ describe Spree::ReturnItem, :type => :model do
158
156
  end
159
157
  end
160
158
 
161
- describe "pre_tax_amount calculations on create" do
159
+ describe "amount calculations on create" do
162
160
  let(:inventory_unit) { build(:inventory_unit) }
163
161
  before { subject.save! }
164
162
 
165
- context "pre tax amount is not specified" do
163
+ context "amount is not specified" do
166
164
  subject { build(:return_item, inventory_unit: inventory_unit) }
167
165
 
168
166
  context "not an exchange" do
169
- it { expect(subject.pre_tax_amount).to eq Spree::Calculator::Returns::DefaultRefundAmount.new.compute(subject) }
167
+ it { expect(subject.amount).to eq Spree::Calculator::Returns::DefaultRefundAmount.new.compute(subject) }
170
168
  end
171
169
 
172
170
  context "an exchange" do
173
171
  subject { build(:exchange_return_item) }
174
172
 
175
- it { expect(subject.pre_tax_amount).to eq 0.0 }
173
+ it { expect(subject.amount).to eq 0.0 }
176
174
  end
177
175
  end
178
176
 
179
- context "pre tax amount is specified" do
180
- subject { build(:return_item, inventory_unit: inventory_unit, pre_tax_amount: 100) }
177
+ context "amount is specified" do
178
+ subject { build(:return_item, inventory_unit: inventory_unit, amount: 100) }
181
179
 
182
- it { expect(subject.pre_tax_amount).to eq 100 }
180
+ it { expect(subject.amount).to eq 100 }
183
181
  end
184
182
  end
185
183
 
@@ -480,7 +478,7 @@ describe Spree::ReturnItem, :type => :model do
480
478
 
481
479
  it 'is valid' do
482
480
  expect(subject).to_not be_valid
483
- expect(subject.errors.messages).to eq({reimbursement: [I18n.t(:cannot_be_associated_unless_accepted, scope: 'activerecord.errors.models.spree/return_item.attributes.reimbursement')]})
481
+ expect(subject.errors.messages).to eq({ reimbursement: [I18n.t(:cannot_be_associated_unless_accepted, scope: 'activerecord.errors.models.spree/return_item.attributes.reimbursement')] })
484
482
  end
485
483
  end
486
484
  end
@@ -570,17 +568,17 @@ describe Spree::ReturnItem, :type => :model do
570
568
  end
571
569
 
572
570
  it do
573
- return_item.pre_tax_amount = 5.0
571
+ return_item.amount = 5.0
574
572
  return_item.save!
575
- expect(return_item.reload.pre_tax_amount).to eq 0.0
573
+ expect(return_item.reload.amount).to eq 0.0
576
574
  end
577
575
  end
578
576
 
579
577
  context "the return item is not intended to be exchanged" do
580
578
  it do
581
- return_item.pre_tax_amount = 5.0
579
+ return_item.amount = 5.0
582
580
  return_item.save!
583
- expect(return_item.reload.pre_tax_amount).to eq 5.0
581
+ expect(return_item.reload.amount).to eq 5.0
584
582
  end
585
583
  end
586
584
  end
@@ -637,7 +635,7 @@ describe Spree::ReturnItem, :type => :model do
637
635
  subject do
638
636
  build(:return_item, {
639
637
  return_authorization: old_return_item.return_authorization,
640
- inventory_unit: old_return_item.inventory_unit,
638
+ inventory_unit: old_return_item.inventory_unit
641
639
  })
642
640
  end
643
641
 
@@ -689,14 +687,14 @@ describe Spree::ReturnItem, :type => :model do
689
687
  create(
690
688
  :return_item,
691
689
  inventory_unit: inventory_unit,
692
- included_tax_total: 10
690
+ included_tax_total: 5
693
691
  )
694
692
  end
695
693
 
696
694
  it 'includes included tax total' do
697
- expect(return_item.pre_tax_amount).to eq 10
698
- expect(return_item.included_tax_total).to eq 10
699
- expect(return_item.total).to eq 20
695
+ expect(return_item.amount).to eq 10
696
+ expect(return_item.included_tax_total).to eq 5
697
+ expect(return_item.total).to eq 10
700
698
  end
701
699
  end
702
700
 
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  module Spree
4
- describe ReturnsCalculator, :type => :model do
4
+ describe ReturnsCalculator, type: :model do
5
5
  let(:return_item) { build(:return_item) }
6
6
  subject { ReturnsCalculator.new }
7
7