Skip to content

Commit df0a0df

Browse files
committed
Inject scheme to handleAuthenticationUrl for testing
1 parent e3f7b31 commit df0a0df

File tree

2 files changed

+17
-15
lines changed

2 files changed

+17
-15
lines changed

WooCommerce/Classes/ViewRelated/JetpackSetup/JetpackSetupCoordinator.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ final class JetpackSetupCoordinator {
6565
rootViewController.present(benefitsController, animated: true, completion: nil)
6666
}
6767

68-
func handleAuthenticationUrl(_ url: URL) -> Bool {
69-
let expectedPrefix = ApiCredentials.dotcomAuthScheme + "://" + Constants.magicLinkUrlHostname
68+
func handleAuthenticationUrl(_ url: URL, dotcomAuthScheme: String = ApiCredentials.dotcomAuthScheme) -> Bool {
69+
let expectedPrefix = dotcomAuthScheme + "://" + Constants.magicLinkUrlHostname
7070
guard url.absoluteString.hasPrefix(expectedPrefix) else {
7171
return false
7272
}

WooCommerce/WooCommerceTests/ViewRelated/JetpackSetup/JetpackSetupCoordinatorTests.swift

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import WordPressAuthenticator
66
final class JetpackSetupCoordinatorTests: XCTestCase {
77

88
private var navigationController: UINavigationController!
9+
private let dotcomAuthScheme = "scheme"
910

1011
override func setUp() {
1112
navigationController = UINavigationController()
@@ -47,7 +48,7 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
4748
let url = try XCTUnwrap(URL(string: "example://handle-authentication"))
4849

4950
// When
50-
let result = coordinator.handleAuthenticationUrl(url)
51+
let result = coordinator.handleAuthenticationUrl(url, dotcomAuthScheme: dotcomAuthScheme)
5152

5253
// Then
5354
XCTAssertFalse(result)
@@ -57,10 +58,10 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
5758
// Given
5859
let testSite = Site.fake().copy(siteID: -1)
5960
let coordinator = JetpackSetupCoordinator(site: testSite, rootViewController: navigationController)
60-
let url = try XCTUnwrap(URL(string: "\(ApiCredentials.dotcomAuthScheme)://magic-login"))
61+
let url = try XCTUnwrap(URL(string: "\(dotcomAuthScheme)://magic-login"))
6162

6263
// When
63-
let result = coordinator.handleAuthenticationUrl(url)
64+
let result = coordinator.handleAuthenticationUrl(url, dotcomAuthScheme: dotcomAuthScheme)
6465

6566
// Then
6667
XCTAssertFalse(result)
@@ -70,10 +71,10 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
7071
// Given
7172
let testSite = Site.fake().copy(siteID: WooConstants.placeholderStoreID)
7273
let coordinator = JetpackSetupCoordinator(site: testSite, rootViewController: navigationController)
73-
let url = try XCTUnwrap(URL(string: "\(ApiCredentials.dotcomAuthScheme)://handle-authentication?token=test"))
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)
@@ -83,10 +84,10 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
8384
// Given
8485
let testSite = Site.fake().copy(siteID: WooConstants.placeholderStoreID)
8586
let coordinator = JetpackSetupCoordinator(site: testSite, rootViewController: navigationController)
86-
let url = try XCTUnwrap(URL(string: "\(ApiCredentials.dotcomAuthScheme)://magic-login?token=test"))
87+
let url = try XCTUnwrap(URL(string: "\(dotcomAuthScheme)://magic-login?token=test"))
8788

8889
// When
89-
let result = coordinator.handleAuthenticationUrl(url)
90+
let result = coordinator.handleAuthenticationUrl(url, dotcomAuthScheme: dotcomAuthScheme)
9091

9192
// Then
9293
XCTAssertTrue(result)
@@ -97,7 +98,7 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
9798
let stores = MockStoresManager(sessionManager: .makeForTesting(authenticated: true, isWPCom: false, defaultRoles: [.shopManager]))
9899
let testSite = Site.fake().copy(siteID: WooConstants.placeholderStoreID)
99100
let coordinator = JetpackSetupCoordinator(site: testSite, rootViewController: navigationController, stores: stores)
100-
let url = try XCTUnwrap(URL(string: "\(ApiCredentials.dotcomAuthScheme)://magic-login?token=test"))
101+
let url = try XCTUnwrap(URL(string: "\(dotcomAuthScheme)://magic-login?token=test"))
101102

102103
let expectedAccount = Account(userID: 123, displayName: "Test", email: "[email protected]", username: "test", gravatarUrl: nil)
103104
stores.whenReceivingAction(ofType: JetpackConnectionAction.self) { action in
@@ -113,7 +114,7 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
113114
stores.mockJetpackCheck()
114115

115116
// When
116-
let result = coordinator.handleAuthenticationUrl(url)
117+
let result = coordinator.handleAuthenticationUrl(url, dotcomAuthScheme: dotcomAuthScheme)
117118

118119
// Then
119120
XCTAssertTrue(result)
@@ -127,7 +128,8 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
127128
let stores = MockStoresManager(sessionManager: .makeForTesting(authenticated: true, isWPCom: false))
128129
let testSite = Site.fake().copy(siteID: WooConstants.placeholderStoreID)
129130
let coordinator = JetpackSetupCoordinator(site: testSite, rootViewController: navigationController, stores: stores)
130-
let url = try XCTUnwrap(URL(string: "\(ApiCredentials.dotcomAuthScheme)://magic-login?token=test"))
131+
let expectedScheme = "scheme"
132+
let url = try XCTUnwrap(URL(string: "\(dotcomAuthScheme)://magic-login?token=test"))
131133

132134
let expectedAccount = Account(userID: 123, displayName: "Test", email: "[email protected]", username: "test", gravatarUrl: nil)
133135
stores.whenReceivingAction(ofType: JetpackConnectionAction.self) { action in
@@ -143,7 +145,7 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
143145
stores.mockJetpackCheck()
144146

145147
// When
146-
let result = coordinator.handleAuthenticationUrl(url)
148+
let result = coordinator.handleAuthenticationUrl(url, dotcomAuthScheme: dotcomAuthScheme)
147149

148150
// Then
149151
XCTAssertTrue(result)
@@ -158,7 +160,7 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
158160
let siteURL = "https://example.com"
159161
let testSite = Site.fake().copy(siteID: WooConstants.placeholderStoreID, url: siteURL)
160162
let coordinator = JetpackSetupCoordinator(site: testSite, rootViewController: navigationController, stores: stores)
161-
let url = try XCTUnwrap(URL(string: "\(ApiCredentials.dotcomAuthScheme)://magic-login?token=test"))
163+
let url = try XCTUnwrap(URL(string: "\(dotcomAuthScheme)://magic-login?token=test"))
162164

163165
let expectedAccount = Account(userID: 123, displayName: "Test", email: "[email protected]", username: "test", gravatarUrl: nil)
164166
stores.whenReceivingAction(ofType: JetpackConnectionAction.self) { action in
@@ -198,7 +200,7 @@ final class JetpackSetupCoordinatorTests: XCTestCase {
198200
stores.mockJetpackCheck()
199201

200202
// When
201-
let result = coordinator.handleAuthenticationUrl(url)
203+
let result = coordinator.handleAuthenticationUrl(url, dotcomAuthScheme: dotcomAuthScheme)
202204

203205
// Then
204206
XCTAssertTrue(result)

0 commit comments

Comments
 (0)