google / google/GoogleSignIn-iOS

Refactor and improve `GIDEMMSupport` parameters and tests

Open
#611 0 comments 0 reactions 0 assignees View on GitHub
enhancement triage
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.