test(realtime): add tests for optional refs handling in message serialization #868
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 PR adds comprehensive tests for nil ref scenarios to verify and document that optional
refandjoinReffields are properly handled in JSON encoding/decoding. The Swift SDK already has the correct implementation with optional types, but these tests prevent regressions and ensure SDK parity with other language implementations.Context
The JavaScript SDK recently fixed an issue with message serialization in the Realtime library to properly handle null/undefined
refandjoin_reffields when encoding messages (PR #1862).The Swift SDK already has the correct implementation:
refandjoinRefare optional (String?)Codableprotocol properly encodes/decodes optionals as JSON nullnilforjoinRefcorrectlyChanges
RealtimeMessageV2struct explaining why refs are optionalTesting
Code Review Verification
nilrefs correctly (Codable does this automatically)nilforjoinRef(confirmed inRealtimeClientV2.swift:487)Related