@@ -3,7 +3,7 @@ import Combine
33import XCTest
44import Networking
55@testable import WooCommerce
6-
6+ import Yosemite
77
88/// StoresManager Unit Tests
99///
@@ -252,6 +252,18 @@ final class StoresManagerTests: XCTestCase {
252252 // Then
253253 XCTAssertTrue ( mockProductImageUploader. resetWasCalled)
254254 }
255+
256+ func test_removing_default_store_invokes_delete_application_password( ) {
257+ // Given
258+ let mockSessionManager = MockSessionManager ( )
259+ let sut = DefaultStoresManager ( sessionManager: mockSessionManager)
260+
261+ // When
262+ sut. removeDefaultStore ( )
263+
264+ // Then
265+ XCTAssertTrue ( mockSessionManager. deleteApplicationPasswordInvoked)
266+ }
255267}
256268
257269
@@ -274,3 +286,43 @@ final class MockAuthenticationManager: AuthenticationManager {
274286 return UIViewController ( )
275287 }
276288}
289+
290+ final class MockSessionManager : SessionManagerProtocol {
291+ private( set) var deleteApplicationPasswordInvoked : Bool = false
292+
293+ var defaultAccount : Yosemite . Account ? = nil
294+
295+ var defaultAccountID : Int64 ? = nil
296+
297+ var defaultSite : Yosemite . Site ? = nil
298+
299+ let site = PassthroughSubject < Yosemite . Site ? , Never > ( )
300+
301+ var defaultSitePublisher : AnyPublisher < Yosemite . Site ? , Never > {
302+ site. eraseToAnyPublisher ( )
303+ }
304+
305+ var defaultStoreID : Int64 ? = nil
306+
307+ var defaultStoreURL : String ? = nil
308+
309+ var defaultRoles : [ Yosemite . User . Role ] = [ ]
310+
311+ let storeID = PassthroughSubject < Int64 ? , Never > ( )
312+
313+ var defaultStoreIDPublisher : AnyPublisher < Int64 ? , Never > {
314+ storeID. eraseToAnyPublisher ( )
315+ }
316+
317+ var anonymousUserID : String ? = nil
318+
319+ var defaultCredentials : Yosemite . Credentials ? = nil
320+
321+ func reset( ) {
322+ // Do nothing
323+ }
324+
325+ func deleteApplicationPassword( ) {
326+ deleteApplicationPasswordInvoked = true
327+ }
328+ }
0 commit comments