google / google/GoogleSignIn-iOS
Refactor and improve `GIDEMMSupport` parameters and tests
- Dominant language
- Objective-C
- Stars
- 750
- Forks
- 282
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 9
Description
This issue tracks follow-up improvements identified during the review of PR #608. We need to address the following technical debt and testing improvements:
- [ ] **Handle nested data structures:** Ensure that the `parametersWithParameters` function safely drops key parameters that contain values like a nested array.
- [ ] **Standardize `UIDevice` mocking:** Fix the tests that are swizzling `UIDevice` to "Not Do That," or ensure all tests are doing it the same way. Relying on the real `UIDevice` will make tests non-hermetic.
- [ ] **Uplevel tests to the public API:** Consider upleveling the new `GIDEMMSupport` unit tests to test against the public API instead of testing internal classes in isolation.
Contributor guide
Research direction
Start by reading the GIDEMMSupport implementation and its existing unit tests, especially parametersWithParameters and the tests that swizzle UIDevice. Check how the public API exposes this behavior and identify which tests rely on real device state. Done means nested-array key parameters are safely dropped, UIDevice mocking is consistent and hermetic, and coverage exercises the public API where appropriate.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- objective-c
- Domain
- authentication, mobile-dev, testing
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100