Fix integration test#1078
Closed
tonidero wants to merge 2 commits into
Closed
Conversation
Codecov Report
@@ Coverage Diff @@
## main #1078 +/- ##
=======================================
Coverage 85.86% 85.86%
=======================================
Files 179 179
Lines 6362 6362
Branches 876 876
=======================================
Hits 5463 5463
Misses 557 557
Partials 342 342 |
NachoSoto
reviewed
Jun 21, 2023
NachoSoto
left a comment
Contributor
There was a problem hiding this comment.
Nice job debugging this.
Isn’t this test change covering for an implementation detail though?
I wonder if it would be best to make equals ignore the version.
Contributor
Author
|
Maybe... I don't think we care much about the schemaVersion in the equals as you said, but I didn't want to modify the behavior. That said, after talking in Slack, I believe I'm going to close this and just default the |
Contributor
Author
|
I'm going to close this in favor of #1080 |
tonidero
added a commit
that referenced
this pull request
Jun 22, 2023
### Description An integration test started failing due to #1073. The error was that the schemaVersion field in the customer info didn't match between the fetched and cached customer info. It was actually luck that made it work before 😬 . Before that change, this test tried to get customer info twice: On sdk configuration and the first part of the test. Since both of these happen pretty quickly, we only made the request once and called both callbacks with the same response. However, the first request actually modified the JSONObject, adding the schema version and some other fields in order to cache it in the device. This made it so the JSONObject actually had those fields in the second callback, causing the schemaVersion to have a value. Then, the value returned from cache already has the schemaVersion field set so the test passed. After the change in #1073, the test still tries to get customer info twice, but the raw json sharing didn't happen, since when we call getCustomerInfo we now need to check first for unsynced purchases, causing us to not share the callback, so the schema version that was set in the first callback wasn't shared with the second one, causing the schemaVersion field to be 0, causing the test to fail. After talking about it, we think defaulting the schema version to the latest known version by the SDK is probably expected behavior, instead of defaulting to 0 before it's been saved. Followup to #1078
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 integration test broke in #1073. The error was that the
schemaVersionfield in the customer info didn't match between the fetched and cached customer info. It was actually luck that made it work before 😬 .Before that change, this test tried to get customer info twice: On sdk configuration and the first part of the test. Since both of these happen pretty quickly, we only made the request once and called both callbacks with the same response. However, the first request actually modified the JSONObject, adding the schema version and some other fields in order to cache it in the device. This made it so the JSONObject actually had those fields in the second callback, causing the schemaVersion to have a value. Then, the value returned from cache already has the schemaVersion field set so the test passed.
After the change in #1073, the test still tries to get customer info twice, but the raw json sharing didn't happen, since when we call
getCustomerInfowe now need to check first for unsynced purchases, causing us to not share the callback, so the schema version that was set in the first callback wasn't shared with the second one, causing theschemaVersionfield to be 0, causing the test to failIt took me a while to debug this 😞