Behaviour should not depend on has_checkout_step? #4600
Replies: 3 comments
-
One option is to introduce a new method like Another option is to always require shipments. I'm hesitant to do this because people clearly rely on the existing behaviour (building a store which doesn't ship). On the other hand, it's hard to properly test something like this. I would have the most confidence we would do this correctly. |
Beta Was this translation helpful? Give feedback.
-
I imagine that stores that drop the "delivery" state in order to not build shipments must be depending on other customization beyond just removing the state. If it's something you want to support in some meaningful way, then maybe we need to add make this a configuration option of some kind. If not, then I'm fine with just a new method. |
Beta Was this translation helpful? Give feedback.
-
I think we can just resume #2673 and address latest change requests. |
Beta Was this translation helpful? Give feedback.
-
We have a few places where the names of checkout steps influence behaviour. We take things like
has_checkout_step?("delivery")
to mean "this order doesn't need shipments". This is a bad way to do this. A store might want to create shipments, but not have a delivery step.However this behaviour has been allowed for a long time and is being depended upon. See #626 and others.
Removing this is essential to making the state machine actually customizable, as well as reducing our dependence on the state machine (which we'd really like to do, as fewer and fewer stores are using a wizard-style checkout)
Beta Was this translation helpful? Give feedback.
All reactions