Skip to content

Commit 9d68727

Browse files
committed
Add tests for BlazeCampaignDashboardViewModel to account CIAB sites
1 parent dce7449 commit 9d68727

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

WooCommerce/WooCommerceTests/ViewRelated/Dashboard/Blaze/BlazeCampaignDashboardViewModelTests.swift

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,60 @@ final class BlazeCampaignDashboardViewModelTests: XCTestCase {
105105
XCTAssertFalse(sut.canShowInDashboard)
106106
}
107107

108+
@MainActor
109+
func test_canShowInDashboard_returns_false_if_store_is_ciab_and_other_requirements_met() async {
110+
// Given
111+
let siteCIABChecker = MockCIABEligibilityChecker(
112+
mockedIsCurrentSiteCIAB: true,
113+
mockedCIABSites: [stores.sessionManager.defaultSite ?? .fake()]
114+
)
115+
let blazeEligibilityChecker = BlazeEligibilityChecker(
116+
stores: stores,
117+
siteCIABEligibilityChecker: siteCIABChecker
118+
)
119+
let sut = BlazeCampaignDashboardViewModel(
120+
siteID: sampleSiteID,
121+
stores: stores,
122+
storageManager: storageManager,
123+
blazeEligibilityChecker: blazeEligibilityChecker
124+
)
125+
126+
mockSynchronizeProducts()
127+
mockSynchronizeCampaignsList()
128+
129+
// When
130+
await sut.checkAvailability()
131+
132+
// Then
133+
XCTAssertFalse(sut.canShowInDashboard)
134+
}
135+
136+
@MainActor
137+
func test_canShowInDashboard_returns_true_if_store_is_non_ciab_and_other_requirements_met() async {
138+
// Given
139+
let siteCIABChecker = MockCIABEligibilityChecker(mockedIsCurrentSiteCIAB: false)
140+
let blazeEligibilityChecker = BlazeEligibilityChecker(
141+
stores: stores,
142+
siteCIABEligibilityChecker: siteCIABChecker
143+
)
144+
145+
let sut = BlazeCampaignDashboardViewModel(
146+
siteID: sampleSiteID,
147+
stores: stores,
148+
storageManager: storageManager,
149+
blazeEligibilityChecker: blazeEligibilityChecker
150+
)
151+
152+
mockSynchronizeProducts()
153+
mockSynchronizeCampaignsList()
154+
155+
// When
156+
await sut.checkAvailability()
157+
158+
// Then
159+
XCTAssertFalse(sut.canShowInDashboard)
160+
}
161+
108162
// MARK: Published product
109163

110164
@MainActor

0 commit comments

Comments
 (0)