@@ -6,6 +6,7 @@ import WordPressAuthenticator
66final class JetpackSetupCoordinatorTests : XCTestCase {
77
88 private var navigationController : UINavigationController !
9+ private let dotcomAuthScheme = " scheme "
910
1011 override func setUp( ) {
1112 navigationController = UINavigationController ( )
@@ -14,6 +15,9 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
1415 window. rootViewController = UIViewController ( )
1516 window. makeKeyAndVisible ( )
1617 window. rootViewController = navigationController
18+
19+ AuthenticationManager ( ) . initialize ( )
20+
1721 super. setUp ( )
1822 }
1923
@@ -40,12 +44,11 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
4044 func test_handleAuthenticationUrl_returns_false_for_unsupported_url_scheme( ) throws {
4145 // Given
4246 let testSite = Site . fake ( ) . copy ( siteID: WooConstants . placeholderStoreID)
43- let expectedScheme = " scheme "
44- let coordinator = JetpackSetupCoordinator ( site: testSite, dotcomAuthScheme: expectedScheme, rootViewController: navigationController)
47+ let coordinator = JetpackSetupCoordinator ( site: testSite, rootViewController: navigationController)
4548 let url = try XCTUnwrap ( URL ( string: " example://handle-authentication " ) )
4649
4750 // When
48- let result = coordinator. handleAuthenticationUrl ( url)
51+ let result = coordinator. handleAuthenticationUrl ( url, dotcomAuthScheme : dotcomAuthScheme )
4952
5053 // Then
5154 XCTAssertFalse ( result)
@@ -54,12 +57,11 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
5457 func test_handleAuthenticationUrl_returns_false_for_missing_queries( ) throws {
5558 // Given
5659 let testSite = Site . fake ( ) . copy ( siteID: - 1 )
57- let expectedScheme = " scheme "
58- let coordinator = JetpackSetupCoordinator ( site: testSite, dotcomAuthScheme: expectedScheme, rootViewController: navigationController)
59- let url = try XCTUnwrap ( URL ( string: " scheme://magic-login " ) )
60+ let coordinator = JetpackSetupCoordinator ( site: testSite, rootViewController: navigationController)
61+ let url = try XCTUnwrap ( URL ( string: " \( dotcomAuthScheme) ://magic-login " ) )
6062
6163 // When
62- let result = coordinator. handleAuthenticationUrl ( url)
64+ let result = coordinator. handleAuthenticationUrl ( url, dotcomAuthScheme : dotcomAuthScheme )
6365
6466 // Then
6567 XCTAssertFalse ( result)
@@ -68,12 +70,11 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
6870 func test_handleAuthenticationUrl_returns_false_for_incorrect_host_name( ) throws {
6971 // Given
7072 let testSite = Site . fake ( ) . copy ( siteID: WooConstants . placeholderStoreID)
71- let expectedScheme = " scheme "
72- let coordinator = JetpackSetupCoordinator ( site: testSite, dotcomAuthScheme: expectedScheme, rootViewController: navigationController)
73- let url = try XCTUnwrap ( URL ( string: " scheme://handle-authentication?token=test " ) )
73+ let coordinator = JetpackSetupCoordinator ( site: testSite, rootViewController: navigationController)
74+ let url = try XCTUnwrap ( URL ( string: " \( dotcomAuthScheme) ://handle-authentication?token=test " ) )
7475
7576 // When
76- let result = coordinator. handleAuthenticationUrl ( url)
77+ let result = coordinator. handleAuthenticationUrl ( url, dotcomAuthScheme : dotcomAuthScheme )
7778
7879 // Then
7980 XCTAssertFalse ( result)
@@ -82,12 +83,11 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
8283 func test_handleAuthenticationUrl_returns_true_for_correct_url_and_sufficient_queries( ) throws {
8384 // Given
8485 let testSite = Site . fake ( ) . copy ( siteID: WooConstants . placeholderStoreID)
85- let expectedScheme = " scheme "
86- let coordinator = JetpackSetupCoordinator ( site: testSite, dotcomAuthScheme: expectedScheme, rootViewController: navigationController)
87- let url = try XCTUnwrap ( URL ( string: " scheme://magic-login?token=test " ) )
86+ let coordinator = JetpackSetupCoordinator ( site: testSite, rootViewController: navigationController)
87+ let url = try XCTUnwrap ( URL ( string: " \( dotcomAuthScheme) ://magic-login?token=test " ) )
8888
8989 // When
90- let result = coordinator. handleAuthenticationUrl ( url)
90+ let result = coordinator. handleAuthenticationUrl ( url, dotcomAuthScheme : dotcomAuthScheme )
9191
9292 // Then
9393 XCTAssertTrue ( result)
@@ -97,9 +97,8 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
9797 // Given
9898 let stores = MockStoresManager ( sessionManager: . makeForTesting( authenticated: true , isWPCom: false , defaultRoles: [ . shopManager] ) )
9999 let testSite = Site . fake ( ) . copy ( siteID: WooConstants . placeholderStoreID)
100- let expectedScheme = " scheme "
101- let coordinator = JetpackSetupCoordinator ( site: testSite, dotcomAuthScheme: expectedScheme, rootViewController: navigationController, stores: stores)
102- let url = try XCTUnwrap ( URL ( string: " scheme://magic-login?token=test " ) )
100+ let coordinator = JetpackSetupCoordinator ( site: testSite, rootViewController: navigationController, stores: stores)
101+ let url = try XCTUnwrap ( URL ( string: " \( dotcomAuthScheme) ://magic-login?token=test " ) )
103102
104103 let expectedAccount = Account ( userID
: 123 , displayName
: " Test " , email
: " [email protected] " , username
: " test " , gravatarUrl
: nil ) 105104 stores. whenReceivingAction ( ofType: JetpackConnectionAction . self) { action in
@@ -115,9 +114,10 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
115114 stores. mockJetpackCheck ( )
116115
117116 // When
118- _ = coordinator. handleAuthenticationUrl ( url)
117+ let result = coordinator. handleAuthenticationUrl ( url, dotcomAuthScheme : dotcomAuthScheme )
119118
120119 // Then
120+ XCTAssertTrue ( result)
121121 waitUntil {
122122 ( self . navigationController. presentedViewController as? UINavigationController ) ? . topViewController is AdminRoleRequiredHostingController
123123 }
@@ -127,9 +127,9 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
127127 // Given
128128 let stores = MockStoresManager ( sessionManager: . makeForTesting( authenticated: true , isWPCom: false ) )
129129 let testSite = Site . fake ( ) . copy ( siteID: WooConstants . placeholderStoreID)
130+ let coordinator = JetpackSetupCoordinator ( site: testSite, rootViewController: navigationController, stores: stores)
130131 let expectedScheme = " scheme "
131- let coordinator = JetpackSetupCoordinator ( site: testSite, dotcomAuthScheme: expectedScheme, rootViewController: navigationController, stores: stores)
132- let url = try XCTUnwrap ( URL ( string: " scheme://magic-login?token=test " ) )
132+ let url = try XCTUnwrap ( URL ( string: " \( dotcomAuthScheme) ://magic-login?token=test " ) )
133133
134134 let expectedAccount = Account ( userID
: 123 , displayName
: " Test " , email
: " [email protected] " , username
: " test " , gravatarUrl
: nil ) 135135 stores. whenReceivingAction ( ofType: JetpackConnectionAction . self) { action in
@@ -145,9 +145,10 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
145145 stores. mockJetpackCheck ( )
146146
147147 // When
148- _ = coordinator. handleAuthenticationUrl ( url)
148+ let result = coordinator. handleAuthenticationUrl ( url, dotcomAuthScheme : dotcomAuthScheme )
149149
150150 // Then
151+ XCTAssertTrue ( result)
151152 waitUntil {
152153 ( self . navigationController. presentedViewController as? UINavigationController ) ? . topViewController is JetpackSetupHostingController
153154 }
@@ -158,9 +159,8 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
158159 let stores = MockStoresManager ( sessionManager: . makeForTesting( authenticated: true , isWPCom: false ) )
159160 let siteURL = " https://example.com "
160161 let testSite = Site . fake ( ) . copy ( siteID: WooConstants . placeholderStoreID, url: siteURL)
161- let expectedScheme = " scheme "
162- let coordinator = JetpackSetupCoordinator ( site: testSite, dotcomAuthScheme: expectedScheme, rootViewController: navigationController, stores: stores)
163- let url = try XCTUnwrap ( URL ( string: " scheme://magic-login?token=test " ) )
162+ let coordinator = JetpackSetupCoordinator ( site: testSite, rootViewController: navigationController, stores: stores)
163+ let url = try XCTUnwrap ( URL ( string: " \( dotcomAuthScheme) ://magic-login?token=test " ) )
164164
165165 let expectedAccount = Account ( userID
: 123 , displayName
: " Test " , email
: " [email protected] " , username
: " test " , gravatarUrl
: nil ) 166166 stores. whenReceivingAction ( ofType: JetpackConnectionAction . self) { action in
@@ -200,9 +200,10 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
200200 stores. mockJetpackCheck ( )
201201
202202 // When
203- _ = coordinator. handleAuthenticationUrl ( url)
203+ let result = coordinator. handleAuthenticationUrl ( url, dotcomAuthScheme : dotcomAuthScheme )
204204
205205 // Then
206+ XCTAssertTrue ( result)
206207 waitUntil {
207208 stores. sessionManager. defaultSite == expectedSite
208209 }
0 commit comments