fix: properly save all customFields from tax service result #4986
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.
Impact: minor
Type: bugfix
Issue
#4955 and #4965 added the ability for tax services to return
customFieldsin the response. A couple bugs were found after merging.cart,customFieldson cart items and ontaxSummarywere not saved to the databaseorder,customFieldson cart items were not saved to the databaseSolution
All
customFieldsreturned by a tax service at any level are now saved in the database, for both cart and order.On cart and order items, the field name in the database is
customTaxFieldsas opposed tocustomFieldsbecause otherwise it would be unclear that they're related to taxes since they're saved directly on the item object. The tax service should still return them ascustomFields; the field name change is only in the database.Breaking changes
None
Testing
calculateOrderTaxesfunction in thetaxes-ratesplugin to includecustomFieldsobjects in thetaxSummary, in one of theitemTaxesobjects, and in one of thetaxesobjects.customFieldsobjects were saved in theCartdocument.customFieldsobjects were saved in theOrderdocument.