The specs for subscriptions were creating simple one-time-use credit
cards. They should not be used for subscriptions. After this was fixed
in previous commits, these integration tests failed. Now we use a new
factory that mimics stored credit cards that can be used for
subscriptions.
- Make order_with_totals_and_distribution shorter by inheriting from order_with_distributor
- Make completed_order_with_fees more correct by inheriting only from order_with_distributor: this removes the line_item_with_shipment of order_with_totals_and_distribution that was causing an extra shipping adjustment to be kept in the order. This adjustment was being tested in the order controller spec (fixed the explanation comment in the spec which was wrong, there was no enterprise fee in this order)
If the shipping_rate is not created at the time the `#after_save`'s
`#ensure_correct_adjustment` callback is executed its call to
`shipping_method.create_adjustment` won't be executed either.
As a result, the OrderUpdater wasn't able to see any adjustments related
to the shipment causing the order total to be outdated.
* 2-0-stable: (208 commits)
Re implement orders ctrl update method so we can change redirection logic and add specs for it
Improve readability in admin/orders_spec
Add line items adjustments (order.price_adjustments) to the order edit page so that user is aware of adjustments included in the price like for example tax rates
Adapt variants auto complete to spree v2 code with shipments
Adapt customer search override to spree v2 and fix customer details spec in admin orders spec
Fix distributor change spec in admin orders spec
Fix admin orders spec non tax adjustments by adapting to new view
Fix failing specs due to Spree 2's new order admin page Add missing form tag and OC and shops injectors on order form to make the OC field, the distributor field and the update button work
Use Spree routes
Fix shop accidentally becoming order coordinator
Match date format in spec with import date filter
Make in_stock? work for both variants and overrides by moving it from VariantStock to variant_decorator.
Add unit test for VariantStock.can_supply?
Remove rescue from products_reset_strategy in product import: if setting count_on_hand fails the import will raise a RuntimeError
Change product import's product_reset_strategy from depending on the inexistent variant.count_on_hand DB field and instead make individual calls to variant.count_on_hand= defined in VariantStock. Also, added spec to test return value of the reset method: it should return number of updated records.
Upgrade views to Spree 2 and apply overrides
Updating translations for config/locales/en_US.yml
Update name spaces for rake tasks to shorter 'ofn'.
Refactor checking no preview image in specs
Refactor checking of preview image path in specs
...
This makes the default value of variant.on_demand false in all environments and in tests.
Additionally, adapt VariantStock.on_demand test and product factory to this change (setting on_hand value in product factory so it's not out of stock by default).