Fix duplicate outcome validation during sync#728
Open
beltradini wants to merge 2 commits intocarekit-apple:mainfrom
Open
Fix duplicate outcome validation during sync#728beltradini wants to merge 2 commits intocarekit-apple:mainfrom
beltradini wants to merge 2 commits intocarekit-apple:mainfrom
Conversation
- Skip duplicate check in validateForInsert() if outcome has next version - Add unit test for validation behavior - Resolves carekit-apple#700
Collaborator
|
Thanks @beltradini! I may be thinking about this wrong, but isn't it important we prevent a client from updating an old version of an outcome? It's been some time since I've toyed with the versioning system here, but I believe a client should only be able to update the latest version of an object to ensure the version chain remains accurate. If you have a specific situation in mind where a client needs to update an old version of an outcome that might clear this up for me. |
Expanded the requirements section to specify Xcode 14.0+, Swift tools 5.7+, and supported platforms (iOS 15+, macOS 13+, watchOS 8+). Clarified alignment with Package.swift and API usage.
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.
This pull request adds a regression test and a code fix to ensure that duplicate outcome validation in the CareKit store works correctly when outcomes have newer versions. The test verifies that outcomes with a next version skip duplicate validation, and the code fix implements this logic in the validation method.
Testing improvements:
TestOutcomeDuplicate.swiftto verify that outcomes with a next version do not trigger duplicate validation, and that outcomes without a next version correctly throw an error when duplicates exist.Bug fix:
validateForInsert()method inOCKCDOutcome.swiftto skip duplicate validation if the outcome has a next version, preventing false positives when validating outcomes that are part of a version chain.