@@ -17,18 +17,24 @@ final class LoginQRProviderTests: XCTestCase {
1717 let urlRequestMaker = LoginQRURLRequestMaker ( )
1818 let domainMapper = LoginQRCodeDomainMapper ( )
1919 let errorMapper = LoginQRErrorMapper ( )
20+ var generateQRLoginUseCaseMock : GenerateQRLoginUseCaseMock !
21+ var accountProviderMock : AccountProviderMock !
2022 }
2123
2224 var fixture : Fixture !
2325 var sut : LoginQRProvider !
2426
25- func instantiateSut( result: Result < Data , ClientError > ) {
27+ func instantiateSut( result: Result < Data , ClientError > , apiToken : String ? = nil , accountProviderErrorResult : Error ? = nil ) {
2628 fixture. httpClientMock = HTTPClientMock ( result: result)
27-
29+ fixture. generateQRLoginUseCaseMock = GenerateQRLoginUseCaseMock ( result: result)
30+ fixture. accountProviderMock = AccountProviderMock ( userResult: nil , errorResult: accountProviderErrorResult)
31+ fixture. accountProviderMock. apiToken = apiToken
2832 sut = LoginQRProvider ( httpClient: fixture. httpClientMock,
2933 urlRequestMaker: fixture. urlRequestMaker,
3034 domainMapper: fixture. domainMapper,
31- errorMapper: fixture. errorMapper)
35+ errorMapper: fixture. errorMapper,
36+ generateQRLogin: fixture. generateQRLoginUseCaseMock,
37+ accountProvider: fixture. accountProviderMock)
3238 }
3339
3440 override func setUp( ) {
@@ -128,21 +134,19 @@ final class LoginQRProviderTests: XCTestCase {
128134 }
129135 """ . data ( using: . utf8) !
130136
131- instantiateSut ( result: . success( data) )
132- var capturedUserToken : UserToken ?
137+ instantiateSut ( result: . success( data) , apiToken : " apiToken " )
138+ var capturedApiToken : String ?
133139 let loginQRCode = LoginQRCode ( token: " dasdqe " , expiresAt: Date . makeISO8601Date ( string: " 2024-05-28T00:00:00Z " ) !)
134140
135141 // WHEN
136142 do {
137- capturedUserToken = try await sut. validateLoginQRCodeToken ( loginQRCode)
143+ capturedApiToken = try await sut. validateLoginQRCodeToken ( loginQRCode)
138144 } catch {
139145 XCTFail ( " Expected success, got error \( error) " )
140146 }
141147
142148 // THEN
143- XCTAssertEqual ( capturedUserToken? . token, " 29fa8b5ff37b7928357 " )
144- XCTAssertEqual ( capturedUserToken? . expiresAt, Date . makeISO8601Date ( string: " 2024-05-28T00:00:00Z " ) )
145- XCTAssertEqual ( capturedUserToken? . userId, " 781187 " )
149+ XCTAssertEqual ( capturedApiToken, " apiToken " )
146150 }
147151
148152 func test_validateLoginQRCodeToken_succeeds_when_httpclient_returns_an_invalid_json( ) async throws {
@@ -159,20 +163,20 @@ final class LoginQRProviderTests: XCTestCase {
159163 instantiateSut ( result: . success( data) )
160164
161165 let loginQRCode = LoginQRCode ( token: " dasdqe " , expiresAt: Date . makeISO8601Date ( string: " 2023-05-28T00:00:00Z " ) !)
162- var capturedUserToken : UserToken ?
166+ var capturedApiToken : String ?
163167 var capturedError : Error ?
164168
165169 // WHEN
166170 do {
167- capturedUserToken = try await sut. validateLoginQRCodeToken ( loginQRCode)
171+ capturedApiToken = try await sut. validateLoginQRCodeToken ( loginQRCode)
168172 XCTFail ( " Expected error, got success " )
169173 } catch {
170174 capturedError = error
171175 }
172176
173177 // THEN
174178 let error = try XCTUnwrap ( capturedError as? LoginQRCodeError )
175- XCTAssertNil ( capturedUserToken )
179+ XCTAssertNil ( capturedApiToken )
176180 XCTAssertEqual ( error, LoginQRCodeError . expired)
177181 }
178182
@@ -181,20 +185,20 @@ final class LoginQRProviderTests: XCTestCase {
181185 instantiateSut ( result: . failure( ClientError . malformedResponseData) )
182186
183187 let loginQRCode = LoginQRCode ( token: " dasdqe " , expiresAt: Date . makeISO8601Date ( string: " 2023-05-28T00:00:00Z " ) !)
184- var capturedUserToken : UserToken ?
188+ var capturedApiToken : String ?
185189 var capturedError : Error ?
186190
187191 // WHEN
188192 do {
189- capturedUserToken = try await sut. validateLoginQRCodeToken ( loginQRCode)
193+ capturedApiToken = try await sut. validateLoginQRCodeToken ( loginQRCode)
190194 XCTFail ( " Expected error, got success " )
191195 } catch {
192196 capturedError = error
193197 }
194198
195199 // THEN
196200 let error = try XCTUnwrap ( capturedError as? LoginQRCodeError )
197- XCTAssertNil ( capturedUserToken )
201+ XCTAssertNil ( capturedApiToken )
198202 XCTAssertEqual ( error, LoginQRCodeError . expired)
199203 }
200204}
0 commit comments