feat(events): Refactor PayInAdvance Billable Metric validation #2143
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
Whenever a event associated with PayInAdvance charge is recieved, we create a Fee for this event.
The validation was performed only after we create the Fee for
invoiceable: false
charges creating some disparities if the charge is invoiceable or not.I realized that there is already a validation on the aggregation in the Charge model, which I refactored.
I have removed all the validation in the PostProcess events because, you're not supposed to be able to create invalid charge (see Charge model validation) and if you send events without theIt creates a fee even without valid properties so I'm keeping the condition as-is, but earlier in the function.properties[bm.field_name]
, I'm not sure it should fail silently.