Move SetGuestEmailOnCart logic in a separated class #40395
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description (*)
This PR refactors the
setGuestEmailOnCartGraphQL mutation by extracting business logic from the resolver into a dedicated model class, improving code organization and testability.Changes
Magento\QuoteGraphQl\Model\Cart\SetGuestEmailOnCartto handle the business logic of setting guest email on cartMagento\QuoteGraphQl\Model\Resolver\SetGuestEmailOnCartto delegate business logic to the new model classSetGuestEmailOnCartTest)Motivation
The objective of this modification is to be able to more easily add logic (such as a custom control) before saving the email.
Today, the only solution is to make a
beforeExecuteplugin on theSetShippingMethodsOnCartclass without benefiting from the controls already in place.Manual testing scenarios (*)
Execute the graphQL
setGuestEmailOnCartmutation, it must not have an error.Contribution checklist (*)
Resolved issues: