From 304d48a3195f249a18864e410c87feedc136cce9 Mon Sep 17 00:00:00 2001 From: DeluxeAlonso Date: Sun, 24 Sep 2023 00:49:28 -0500 Subject: [PATCH 1/2] Removes commented code from AuthRemoteDataSourceTests --- .../DataSources/AuthRemoteDataSourceTests.swift | 2 -- 1 file changed, 2 deletions(-) diff --git a/NetworkInfrastructure/NetworkInfrastructureTests/DataSources/AuthRemoteDataSourceTests.swift b/NetworkInfrastructure/NetworkInfrastructureTests/DataSources/AuthRemoteDataSourceTests.swift index 2ebf8d3c..dec6850e 100644 --- a/NetworkInfrastructure/NetworkInfrastructureTests/DataSources/AuthRemoteDataSourceTests.swift +++ b/NetworkInfrastructure/NetworkInfrastructureTests/DataSources/AuthRemoteDataSourceTests.swift @@ -34,7 +34,6 @@ final class AuthRemoteDataSourceTests: XCTestCase { func testGetAuthURLSuccess() { // Arrange - //authManager.userAccount = .init(accountId: 1, sessionId: "") let tokenToTest = "123" authClient.getRequestTokenResult = .success(RequestTokenResult(success: true, token: tokenToTest)) @@ -55,7 +54,6 @@ final class AuthRemoteDataSourceTests: XCTestCase { func testGetAuthURLFailure() { // Arrange - //authManager.userAccount = .init(accountId: 1, sessionId: "") let errorToTest = APIError.badRequest authClient.getRequestTokenResult = .failure(errorToTest) From 0c5801dcb763ccf7e102ca21e091949815680d7a Mon Sep 17 00:00:00 2001 From: DeluxeAlonso Date: Sun, 24 Sep 2023 00:54:21 -0500 Subject: [PATCH 2/2] Adds unit tests for sign in failure in AuthRemoteDataSourceTests --- .../AuthRemoteDataSourceTests.swift | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/NetworkInfrastructure/NetworkInfrastructureTests/DataSources/AuthRemoteDataSourceTests.swift b/NetworkInfrastructure/NetworkInfrastructureTests/DataSources/AuthRemoteDataSourceTests.swift index dec6850e..54baafc0 100644 --- a/NetworkInfrastructure/NetworkInfrastructureTests/DataSources/AuthRemoteDataSourceTests.swift +++ b/NetworkInfrastructure/NetworkInfrastructureTests/DataSources/AuthRemoteDataSourceTests.swift @@ -100,4 +100,33 @@ final class AuthRemoteDataSourceTests: XCTestCase { wait(for: [expectation], timeout: 1.0) } + func testSignInUserFailureInGetAccessToken() { + // Arrange + authManager.requestToken = "123" + let userToTest = User(id: 123, name: "", username: "", includeAdult: false, avatar: nil) + let errorToTest = APIError.badRequest + authClient.getAccessTokenResult = .failure(errorToTest) + authClient.createSessionIdResult = .success(SessionResult(success: true, sessionId: "123")) + accountClient.getAccountDetailResult = .success(userToTest) + + let expectation = XCTestExpectation(description: "Should get an error") + // Act + dataSource.signInUser { user in + switch user { + case .success: + XCTFail("Should throw an error") + case .failure(let error): + XCTAssertEqual(error as? APIError, errorToTest) + expectation.fulfill() + } + } + // Assert + XCTAssertEqual(authClient.getAccessTokenCallCount, 1) + XCTAssertEqual(authClient.createSessionIdCallCount, 0) + XCTAssertEqual(accountClient.getAccountDetailCallCount, 0) + XCTAssertEqual(authManager.saveCurrentUserCallCount, 0) + + wait(for: [expectation], timeout: 1.0) + } + }