Skip to content

Commit 3804379

Browse files
committed
StoresManagerTests: Cleanup
1 parent fdf6984 commit 3804379

File tree

1 file changed

+23
-16
lines changed

1 file changed

+23
-16
lines changed

WooCommerce/WooCommerceTests/Yosemite/StoresManagerTests.swift

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,33 +11,34 @@ class StoresManagerTests: XCTestCase {
1111

1212
override func setUp() {
1313
super.setUp()
14-
initializeTestingSession().reset()
14+
var session = SessionManager.testingInstance
15+
session.reset()
1516
}
1617

1718

1819
/// Verifies that the Initial State is Deauthenticated, whenever there are no Default Credentials.
1920
///
2021
func testInitialStateIsDeauthenticatedAssumingCredentialsWereMissing() {
21-
let manager = initializeTestingStoresManager()
22+
let manager = StoresManager.testingInstance
2223
XCTAssertFalse(manager.isAuthenticated)
2324
}
2425

2526

2627
/// Verifies that the Initial State is Authenticated, whenever there are Default Credentials set.
2728
///
2829
func testInitialStateIsAuthenticatedAssumingCredentialsWereNotMissing() {
29-
let session = initializeTestingSession()
30+
var session = SessionManager.testingInstance
3031
session.credentials = Settings.credentials
3132

32-
let manager = initializeTestingStoresManager()
33+
let manager = StoresManager.testingInstance
3334
XCTAssertTrue(manager.isAuthenticated)
3435
}
3536

3637

3738
/// Verifies that `authenticate(username: authToken:)` effectively switches the Manager to an Authenticated State.
3839
///
3940
func testAuthenticateEffectivelyTogglesStoreManagerToAuthenticatedState() {
40-
let manager = initializeTestingStoresManager()
41+
let manager = StoresManager.testingInstance
4142
manager.authenticate(username: Settings.credentials.username, authToken: Settings.credentials.authToken)
4243

4344
XCTAssertTrue(manager.isAuthenticated)
@@ -47,7 +48,7 @@ class StoresManagerTests: XCTestCase {
4748
/// Verifies that `deauthenticate` effectively switches the Manager to a Deauthenticated State.
4849
///
4950
func testDeauthenticateEffectivelyTogglesStoreManagerToDeauthenticatedState() {
50-
let manager = initializeTestingStoresManager()
51+
let manager = StoresManager.testingInstance
5152
manager.authenticate(username: Settings.credentials.username, authToken: Settings.credentials.authToken)
5253
manager.deauthenticate()
5354

@@ -58,29 +59,35 @@ class StoresManagerTests: XCTestCase {
5859
/// Verifies that `authenticate(username: authToken:)` persists the Credentials in the Keychain Storage.
5960
///
6061
func testAuthenticatePersistsDefaultCredentialsInKeychain() {
61-
let manager = initializeTestingStoresManager()
62+
let manager = StoresManager.testingInstance
6263
manager.authenticate(username: Settings.credentials.username, authToken: Settings.credentials.authToken)
6364

64-
let session = initializeTestingSession()
65+
let session = SessionManager.testingInstance
6566
XCTAssertEqual(session.credentials, Settings.credentials)
6667
}
6768
}
6869

6970

70-
// MARK: - Private Methods
71+
// MARK: - SessionManager: Testing Methods
7172
//
72-
private extension StoresManagerTests {
73+
private extension SessionManager {
7374

74-
/// Returns a Session instance with testing Keychain/UserDefaults
75+
/// Returns a SessionManager instance with testing Keychain/UserDefaults
7576
///
76-
func initializeTestingSession() -> Session {
77-
return Session(keychainServiceName: Settings.keychainServiceName, defaultsStorage: Settings.defaultsStorage)
77+
static var testingInstance: SessionManager {
78+
return SessionManager(defaults: Settings.defaults, keychainServiceName: Settings.keychainServiceName)
7879
}
80+
}
81+
82+
83+
// MARK: - StoresManager: Testing Methods
84+
//
85+
private extension StoresManager {
7986

8087
/// Returns a StoresManager instance with testing Keychain/UserDefaults
8188
///
82-
func initializeTestingStoresManager() -> StoresManager {
83-
return StoresManager(keychainServiceName: Settings.keychainServiceName, defaultsStorage: Settings.defaultsStorage)
89+
static var testingInstance: StoresManager {
90+
return StoresManager(defaults: Settings.defaults, keychainServiceName: Settings.keychainServiceName)
8491
}
8592
}
8693

@@ -89,6 +96,6 @@ private extension StoresManagerTests {
8996
//
9097
private enum Settings {
9198
static let credentials = Credentials(username: "username", authToken: "authToken")
92-
static let defaultsStorage = UserDefaults(suiteName: "testingKeychainServiceName")!
99+
static let defaults = UserDefaults(suiteName: "testingKeychainServiceName")!
93100
static let keychainServiceName = "com.woocommerce.storesmanagertests"
94101
}

0 commit comments

Comments
 (0)