Skip to content

Commit 46fbb45

Browse files
committed
SessionManager: defaultAccount / defaultAccountID Fields
1 parent 1d4bde1 commit 46fbb45

File tree

2 files changed

+37
-18
lines changed

2 files changed

+37
-18
lines changed

WooCommerce/Classes/System/SessionManager.swift

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,17 @@ struct SessionManager {
2222
///
2323
private let keychain: Keychain
2424

25-
/// Active Credentials.
25+
/// Default Credentials.
2626
///
27-
var credentials: Credentials? {
27+
var defaultCredentials: Credentials? {
2828
get {
2929
return loadCredentials()
3030
}
3131
set {
32+
guard newValue != defaultCredentials else {
33+
return
34+
}
35+
3236
guard let credentials = newValue else {
3337
removeCredentials()
3438
return
@@ -38,14 +42,28 @@ struct SessionManager {
3842
}
3943
}
4044

41-
/// Active Store's Site ID.
45+
/// Ephemeral: Default Account.
46+
///√
47+
var defaultAccount: Yosemite.Account? {
48+
didSet {
49+
defaults[.defaultAccountID] = defaultAccount?.userID
50+
}
51+
}
52+
53+
/// Default AccountID: Returns the last known Account's User ID.
54+
///
55+
var defaultAccountID: Int? {
56+
return defaults[.defaultAccountID]
57+
}
58+
59+
/// Default StoreID.
4260
///
43-
var storeID: Int? {
61+
var defaultStoreID: Int? {
4462
get {
4563
return defaults[.defaultStoreID]
4664
}
4765
set {
48-
defaults[.defaultStoreID] = storeID
66+
defaults[.defaultStoreID] = defaultStoreID
4967
}
5068
}
5169

@@ -60,8 +78,9 @@ struct SessionManager {
6078
/// Nukes all of the known Session's properties.
6179
///
6280
mutating func reset() {
63-
credentials = nil
64-
storeID = nil
81+
defaultAccount = nil
82+
defaultCredentials = nil
83+
defaultStoreID = nil
6584
}
6685
}
6786

WooCommerce/WooCommerceTests/System/SessionManagerTests.swift

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,23 @@ class SessionManagerTests: XCTestCase {
1616

1717
override func setUp() {
1818
super.setUp()
19-
manager.credentials = nil
19+
manager.defaultCredentials = nil
2020
}
2121

2222

2323
/// Verifies that `loadDefaultCredentials` returns nil whenever there are no default credentials stored.
2424
///
2525
func testLoadDefaultCredentialsReturnsNilWhenThereAreNoDefaultCredentials() {
26-
XCTAssertNil(manager.credentials)
26+
XCTAssertNil(manager.defaultCredentials)
2727
}
2828

2929

3030
/// Verifies that `loadDefaultCredentials` effectively returns the last stored credentials
3131
///
3232
func testDefaultCredentialsAreProperlyPersisted() {
33-
manager.credentials = Settings.credentials1
33+
manager.defaultCredentials = Settings.credentials1
3434

35-
let retrieved = manager.credentials
35+
let retrieved = manager.defaultCredentials
3636
XCTAssertEqual(retrieved?.authToken, Settings.credentials1.authToken)
3737
XCTAssertEqual(retrieved?.username, Settings.credentials1.username)
3838
}
@@ -41,21 +41,21 @@ class SessionManagerTests: XCTestCase {
4141
/// Verifies that `removeDefaultCredentials` effectively nukes everything from the keychain
4242
///
4343
func testDefaultCredentialsAreEffectivelyNuked() {
44-
manager.credentials = Settings.credentials1
45-
manager.credentials = nil
44+
manager.defaultCredentials = Settings.credentials1
45+
manager.defaultCredentials = nil
4646

47-
XCTAssertNil(manager.credentials)
47+
XCTAssertNil(manager.defaultCredentials)
4848
}
4949

5050

5151
/// Verifies that `saveDefaultCredentials` overrides previous stored credentials
5252
///
5353
func testDefaultCredentialsCanBeUpdated() {
54-
manager.credentials = Settings.credentials1
55-
XCTAssertEqual(manager.credentials, Settings.credentials1)
54+
manager.defaultCredentials = Settings.credentials1
55+
XCTAssertEqual(manager.defaultCredentials, Settings.credentials1)
5656

57-
manager.credentials = Settings.credentials2
58-
XCTAssertEqual(manager.credentials, Settings.credentials2)
57+
manager.defaultCredentials = Settings.credentials2
58+
XCTAssertEqual(manager.defaultCredentials, Settings.credentials2)
5959
}
6060
}
6161

0 commit comments

Comments
 (0)