@@ -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
276312private extension HubMenuViewModelTests {
0 commit comments