Skip to content

Commit a0c9a1c

Browse files
committed
Add unit test for onJetpackInstallDismiss
1 parent d001051 commit a0c9a1c

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

WooCommerce/WooCommerceTests/ViewRelated/Settings/SettingsViewModelTests.swift

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,28 @@ final class SettingsViewModelTests: XCTestCase {
151151
// Then
152152
XCTAssertTrue(presenter.refreshViewContentCalled)
153153
}
154+
155+
func test_onJetpackInstallDismiss_updates_sections_correctly() {
156+
// Given
157+
let featureFlagService = MockFeatureFlagService(isJetpackConnectionPackageSupportOn: true)
158+
let site = Site.fake().copy(isJetpackThePluginInstalled: false, isJetpackConnected: true)
159+
sessionManager.defaultSite = site
160+
let viewModel = SettingsViewModel(
161+
stores: stores,
162+
storageManager: storageManager,
163+
featureFlagService: featureFlagService)
164+
165+
viewModel.onViewDidLoad()
166+
XCTAssertTrue(viewModel.sections.contains { $0.rows.contains(SettingsViewController.Row.installJetpack) })
167+
168+
// When
169+
let updatedSite = site.copy(isJetpackThePluginInstalled: true, isJetpackConnected: false)
170+
sessionManager.defaultSite = updatedSite
171+
viewModel.onJetpackInstallDismiss()
172+
173+
// Then
174+
XCTAssertFalse(viewModel.sections.contains { $0.rows.contains(SettingsViewController.Row.installJetpack) })
175+
}
154176
}
155177

156178
private final class MockSettingsPresenter: SettingsViewPresenter {

0 commit comments

Comments
 (0)