Reload to make sure shipment.inventory_units have the latest status so that shipment.backordered? return correct value
Fixes #5163
Fix line item proper currency check
Fix shipment persistence on order importer

Besides selecting the shipment rate we also need to assign the cost in
the shipment itself.

We cant only rely on order.update_shipment_state to actually well update
the order shipment_state (:O) because shipment states might not be sync
with the latest payment changes which influence on the result so
Shipment#determine_state needs to run to make sure we keep those
accurate

Conflicts:
	core/spec/lib/spree/core/importer/order_spec.rb
Test to see if a better coupon exists already

If we don't find the valid promo in all our places it could be
successfully applied, but it *is* still on the order, it was accepted by
the order but a better one was used instead

Fixes #5139
Fix Spree::Promotion not applying all of the time.

There was a specific case in which promotions added to an order would
not apply to new items added to the cart. This corrects that by having
the PromotionHandler activate all promotions already associated with the
order as well as any with a blank code and path.

Closes #5072

Conflicts:
	core/spec/models/spree/promotion_spec.rb
Revert "Fix Spree::Promotion not applying all of the time."

This reverts commit e61236f0b422293fe3e3f3cf066f91435a3b6a8c.
Fix Spree::Promotion not applying all of the time.

There was a specific case in which promotions added to an order would
not apply to new items added to the cart. This corrects that by having
the PromotionHandler activate all promotions already associated with the
order as well as any with a blank code and path.

Closes #5072

Conflicts:
	core/spec/models/spree/promotion_spec.rb
Remove cache on cart page.