Skip to content

Commit

Permalink
Add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
grdsdev committed Apr 1, 2024
1 parent 20e2011 commit 5e59387
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 8 deletions.
6 changes: 2 additions & 4 deletions Sources/Auth/AuthClient.swift
Original file line number Diff line number Diff line change
Expand Up @@ -395,10 +395,8 @@ public actor AuthClient {
decoder: configuration.decoder
)

if session.user.emailConfirmedAt != nil || session.user.confirmedAt != nil {
try await sessionManager.update(session)
eventEmitter.emit(.signedIn, session: session)
}
try await sessionManager.update(session)
eventEmitter.emit(.signedIn, session: session)

return session
}
Expand Down
47 changes: 43 additions & 4 deletions Tests/AuthTests/AuthClientTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -203,12 +203,51 @@ final class AuthClientTests: XCTestCase {
$0.append((event, session))
}
}

// api.execute = { @Sendable _ in
// .stub("", code: 200)
// }
sessionManager.remove = { @Sendable in }
sessionManager.update = { @Sendable _ in }

api.execute = { @Sendable _ in
.stub(
"""
{
"access_token" : "eyJhbGciOiJIUzI1NiIsImtpZCI6ImpIaU1GZmtNTzRGdVROdXUiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNzExOTk0NzEzLCJpYXQiOjE3MTE5OTExMTMsImlzcyI6Imh0dHBzOi8vYWp5YWdzaHV6bnV2anFoampmdG8uc3VwYWJhc2UuY28vYXV0aC92MSIsInN1YiI6ImJiZmE5MjU0LWM1ZDEtNGNmZi1iYTc2LTU2YmYwM2IwNWEwMSIsImVtYWlsIjoiIiwicGhvbmUiOiIiLCJhcHBfbWV0YWRhdGEiOnt9LCJ1c2VyX21ldGFkYXRhIjp7fSwicm9sZSI6ImF1dGhlbnRpY2F0ZWQiLCJhYWwiOiJhYWwxIiwiYW1yIjpbeyJtZXRob2QiOiJhbm9ueW1vdXMiLCJ0aW1lc3RhbXAiOjE3MTE5OTExMTN9XSwic2Vzc2lvbl9pZCI6ImMyODlmYTcwLWIzYWUtNDI1Yi05MDQxLWUyZjVhNzBlZTcyYSIsImlzX2Fub255bW91cyI6dHJ1ZX0.whBzmyMv3-AQSaiY6Fi-v_G68Q8oULhB7axImj9qOdw",
"expires_at" : 1711994713,
"expires_in" : 3600,
"refresh_token" : "0xS9iJUWdXnWlCJtFiXk5A",
"token_type" : "bearer",
"user" : {
"app_metadata" : {
},
"aud" : "authenticated",
"created_at" : "2024-04-01T17:05:13.013312Z",
"email" : "",
"id" : "bbfa9254-c5d1-4cff-ba76-56bf03b05a01",
"identities" : [
],
"is_anonymous" : true,
"last_sign_in_at" : "2024-04-01T17:05:13.018294975Z",
"phone" : "",
"role" : "authenticated",
"updated_at" : "2024-04-01T17:05:13.022041Z",
"user_metadata" : {
}
}
}
""",
code: 200
)
}

let sut = makeSUT()

try await sut.signInAnonymously()

let events = emitReceivedEvents.value.map(\.0)

XCTAssertEqual(events, [.signedIn])
}

private func makeSUT() -> AuthClient {
Expand Down
11 changes: 11 additions & 0 deletions Tests/AuthTests/RequestsTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,17 @@ final class RequestsTests: XCTestCase {
}
}

func testSignInAnonymously() async {
let sut = makeSUT()

await assert {
try await sut.signInAnonymously(
data: ["custom_key": .string("custom_value")],
captchaToken: "captcha-token"
)
}
}

private func assert(_ block: () async throws -> Void) async {
do {
try await block()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
curl \
--request POST \
--header "Apikey: dummy.api.key" \
--header "Content-Type: application/json" \
--header "X-Client-Info: gotrue-swift/x.y.z" \
--data "{\"data\":{\"custom_key\":\"custom_value\"},\"gotrue_meta_security\":{\"captcha_token\":\"captcha-token\"}}" \
"http://localhost:54321/auth/v1/signup"

0 comments on commit 5e59387

Please sign in to comment.