Fix: pass expected checkout validation WP_Error instance #531
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.
Your checklist for this pull request
Thanks for sending a pull request! Please make sure you click the link above to view the contribution guidelines, then fill out the blanks below.
🚨Please review the guidelines for contributing to this repository.
What does this implement/fix? Explain your changes.
Passes an empty instance of
WP_Error
to thewoocommerce_after_checkout_validation
action hook. WooCommerce passes an error object as the second argument to the hook and several 3rd party plugins expect it to be provided. Dokan for example doesn't even checkis_wp_error
before calling$errors->add()
resulting in runtime errors.Normally I'd expect plugin developers to know better, do better but in this case, the wp-graphql-woocommerce breaks from Woocommerce in not passing the second argument. Supplying an empty
Does this close any currently open issues?
#448
Any relevant logs, error output, GraphiQL screenshots, etc?
Example error from my application
Any other comments?
I attempted to add a unit test but I the tests for
CheckoutMutationTest
aren't passing locally on a fresh clone. Arguably no test is needed as it would just be testing WordPress internals.It looks like a database issue with some rows not updating? I'm glad to attempt again with some guidance on how to resolve.
Where has this been tested?
N/A