Skip to content

Commit cad29ca

Browse files
Merge branch 'oauth-providers' into error-refactor
2 parents 6695572 + 4f45eaf commit cad29ca

File tree

4 files changed

+22
-11
lines changed

4 files changed

+22
-11
lines changed

.github/workflows/swiftui-auth.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
unit-tests:
2727
name: Package Unit Tests
2828
runs-on: macos-15
29-
timeout-minutes: 20
29+
timeout-minutes: 15
3030
steps:
3131
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
3232

@@ -129,7 +129,7 @@ jobs:
129129
ui-tests:
130130
name: UI Tests
131131
runs-on: macos-15
132-
timeout-minutes: 30
132+
timeout-minutes: 40
133133
steps:
134134
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
135135

@@ -179,16 +179,16 @@ jobs:
179179
-enableCodeCoverage YES \
180180
-resultBundlePath FirebaseSwiftUIExampleUITests.xcresult | tee FirebaseSwiftUIExampleUITests.log | xcpretty --test --color --simple
181181
182-
- name: Upload test logs
182+
- name: Upload Firebase Emulator logs
183183
if: failure()
184184
uses: actions/upload-artifact@v4
185185
with:
186-
name: ui-tests-logs
187-
path: samples/swiftui/FirebaseSwiftUIExample/FirebaseSwiftUIExampleUITests.log
186+
name: firebase-emulator-logs
187+
path: samples/swiftui/FirebaseSwiftUIExample/FirebaseSwiftUIExample/firebase-debug.log
188188

189189
- name: Upload test results
190190
if: failure()
191191
uses: actions/upload-artifact@v4
192192
with:
193-
name: ui-tests-results
193+
name: FirebaseSwiftUIExampleUITests.xcresult
194194
path: samples/swiftui/FirebaseSwiftUIExample/FirebaseSwiftUIExampleUITests.xcresult

FirebaseSwiftUI/FirebaseOAuthSwiftUI/Sources/Services/OAuthProviderSwift.swift

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,19 +96,23 @@ public class OAuthProviderSwift: AuthProviderSwift, DeleteUserSwift {
9696

9797
return try await withCheckedThrowingContinuation { continuation in
9898
provider.getCredentialWith(nil) { credential, error in
99-
if let error {
99+
if let error = error {
100100
continuation.resume(
101101
throwing: AuthServiceError.signInFailed(underlying: error)
102102
)
103-
} else if let credential {
104-
continuation.resume(returning: credential)
105-
} else {
103+
return
104+
}
105+
106+
guard let credential = credential else {
106107
continuation.resume(
107108
throwing: AuthServiceError.invalidCredentials(
108109
"\(self.providerId) did not provide a valid AuthCredential"
109110
)
110111
)
112+
return
111113
}
114+
115+
continuation.resume(returning: credential)
112116
}
113117
}
114118
}

samples/swiftui/FirebaseSwiftUIExample/FirebaseSwiftUIExample/start-firebase-emulator.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ if ! [ -x "$(command -v npm)" ]; then
1414
exit 1
1515
fi
1616

17-
EMU_START_COMMAND="firebase emulators:start --only auth --project flutterfire-e2e-tests"
17+
EMU_START_COMMAND="firebase emulators:start --only auth --project flutterfire-e2e-tests --debug"
1818

1919
MAX_RETRIES=3
2020
MAX_CHECKATTEMPTS=60

samples/swiftui/FirebaseSwiftUIExample/FirebaseSwiftUIExampleUITests/FirebaseSwiftUIExampleUITests.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,13 @@ final class FirebaseSwiftUIExampleUITests: XCTestCase {
174174
XCTAssertTrue(signUpButton.exists, "Sign-Up button should exist")
175175
signUpButton.tap()
176176

177+
// Wait for the auth screen to disappear (email field should no longer exist)
178+
let emailFieldDisappeared = NSPredicate(format: "exists == false")
179+
let expectation = XCTNSPredicateExpectation(predicate: emailFieldDisappeared, object: emailField)
180+
let result = XCTWaiter().wait(for: [expectation], timeout: 10.0)
181+
XCTAssertEqual(result, .completed, "Email field should disappear after sign-up")
182+
183+
177184
// Wait for user creation and signed-in view to appear
178185
let signedInText = app.staticTexts["signed-in-text"]
179186
XCTAssertTrue(

0 commit comments

Comments
 (0)