Fix the issue with logging when there are multiple error causes #1088
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.
What:
When we have multiple error causes, Specmatic used to log only the single cause out of it as an error message.
This PR fixes that issue and logs all the error messages encountered.
e.g. Suppose we have a schema with examples as follows -
In the above specification, I have commented out the firstName key from the CUSTOMER example.
If we try to run Specmatic tests using such schema, it should definitely break since the CUSTOMER example is not satisfying any of the schemas defined.
Ideally, Specmatic should compare this example with both the oneOf schemas and log the respective error messages.
Specmatic does compare the example with both the schemas but while logging it logs only a single error message as follows -
This PR fixes that and logs all the respective error messages -
Why:
Specmatic was not logging all the error message due to a very minor bug where we were not returning the error message when there are multiple error causes.
How:
The PR fixes the bug by simply returning that error message.
Checklist: