Skip to content

Commit 41e08af

Browse files
committed
Add tests for switchStoreEnabled
1 parent 6da4c57 commit 41e08af

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

WooCommerce/WooCommerceTests/ViewRelated/HubMenu/HubMenuViewModelTests.swift

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,42 @@ final class HubMenuViewModelTests: XCTestCase {
271271
XCTAssertNotNil(viewModel.woocommerceAdminURL)
272272
XCTAssertEqual(viewModel.woocommerceAdminURL, try URL(string: expectedAdminURL)?.asURL())
273273
}
274+
275+
func test_switchStoreEnabled_returns_true_when_logged_in_with_wpcom() {
276+
// Given
277+
let sampleStoreURL = "https://testshop.com"
278+
let sampleAdminURL = ""
279+
let expectedAdminURL = "https://testshop.com/wp-admin"
280+
let sessionManager = SessionManager.makeForTesting(authenticated: true, isWPCom: true)
281+
let site = Site.fake().copy(url: sampleStoreURL, adminURL: sampleAdminURL)
282+
sessionManager.defaultSite = site
283+
let stores = MockStoresManager(sessionManager: sessionManager)
284+
285+
// When
286+
let viewModel = HubMenuViewModel(siteID: site.siteID,
287+
stores: stores)
288+
289+
// Then
290+
XCTAssertTrue(viewModel.switchStoreEnabled)
291+
}
292+
293+
func test_switchStoreEnabled_returns_false_when_logged_in_with_wpcom() {
294+
// Given
295+
let sampleStoreURL = "https://testshop.com"
296+
let sampleAdminURL = ""
297+
let expectedAdminURL = "https://testshop.com/wp-admin"
298+
let sessionManager = SessionManager.makeForTesting(authenticated: true, isWPCom: false)
299+
let site = Site.fake().copy(url: sampleStoreURL, adminURL: sampleAdminURL)
300+
sessionManager.defaultSite = site
301+
let stores = MockStoresManager(sessionManager: sessionManager)
302+
303+
// When
304+
let viewModel = HubMenuViewModel(siteID: site.siteID,
305+
stores: stores)
306+
307+
// Then
308+
XCTAssertFalse(viewModel.switchStoreEnabled)
309+
}
274310
}
275311

276312
private extension HubMenuViewModelTests {

0 commit comments

Comments
 (0)