Skip to content

Commit aa91c90

Browse files
committed
Update tests for JetpackConnectionWebViewModel
1 parent 1fea098 commit aa91c90

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

WooCommerce/WooCommerceTests/Authentication/JetpackConnectionWebViewModelTests.swift

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,36 @@ final class JetpackConnectionWebViewModelTests: XCTestCase {
2525
XCTAssertTrue(completionTriggered)
2626
}
2727

28+
func test_dismissal_is_tracked() throws {
29+
// Given
30+
let analyticsProvider = MockAnalyticsProvider()
31+
let analytics = WooAnalytics(analyticsProvider: analyticsProvider)
32+
33+
let siteURL = "https://test.com"
34+
let initialURL = try XCTUnwrap(URL(string: "https://jetpack.wordpress.com/jetpack.authorize/1/"))
35+
let viewModel = JetpackConnectionWebViewModel(initialURL: initialURL, siteURL: siteURL, analytics: analytics, completion: {})
36+
37+
// When
38+
viewModel.handleDismissal()
39+
40+
// Then
41+
XCTAssertNotNil(analyticsProvider.receivedEvents.first(where: { $0 == "login_jetpack_connect_dismissed" }))
42+
}
43+
44+
func test_completion_is_tracked() async throws {
45+
// Given
46+
let analyticsProvider = MockAnalyticsProvider()
47+
let analytics = WooAnalytics(analyticsProvider: analyticsProvider)
48+
49+
let siteURL = "https://test.com"
50+
let initialURL = try XCTUnwrap(URL(string: "https://jetpack.wordpress.com/jetpack.authorize/1/"))
51+
let viewModel = JetpackConnectionWebViewModel(initialURL: initialURL, siteURL: siteURL, analytics: analytics, completion: {})
52+
53+
// When
54+
let finalUrl = try XCTUnwrap(URL(string: siteURL + "/wp-admin"))
55+
_ = await viewModel.decidePolicy(for: finalUrl)
56+
57+
// Then
58+
XCTAssertNotNil(analyticsProvider.receivedEvents.first(where: { $0 == "login_jetpack_connect_completed" }))
59+
}
2860
}

0 commit comments

Comments
 (0)