Problem/Motivation
When there is at least two carts, a non-current cart and a current cart, my expectation is that clicking Restore on the non-current cart, the would set the current cart to non-current, and the non-current cart would become the current cart. But in certain circumstances, that does not happen.
Steps to reproduce
- Add item to cart.
- Click "Save for later".
- Add a different item to cart (adding a different item makes it easier to observe the behavior).
- Click "Restore".
A message appears confirming the "Cart has been restored", however, the cart was not restored.
Further confusing the situation, if you:
- Click "Save for later" on the current cart.
- Click "Restore" on the older non-current cart (this successfully restores the older cart).
- Click "Restore" on what is now the only non-current cart.
The non-current cart becomes the current cart, and the previously current cart becomes non-current. This is my expected behavior.
However, if you then click "Restore" on the original cart, which has just become non-current, it will not restore.
It seems that a customer can only reliably restore a cart if there is not a current cart. This might even be acceptable if:
- The behavior was documented.
- The restore button was hidden if there is a current cart.
- The behavior of the restore button was consistent.
Proposed resolution
Determine the expected behavior.
While it could be acceptable to just hide the Restore button if there is a current cart, I would prefer that the Restore button reliably restored the cart. But if the decision is to only allow restoring a cart if there is not already a current cart, document it, and hide the Restore button if there is a current cart. I can handle informing the customer they need to first click Save for later, then they can restore.
If the decision is that the Restore button should ALWAYS restore, then we need to figure out why it doesn't always work reliably.
Remaining tasks
Decide on the expected behavior.