@@ -83,7 +83,7 @@ class AuthTests: XCTestCase {
8383 XCTAssertNil ( internalAPI. auth. authToken)
8484 }
8585
86- func testEmailWithTokenChange ( ) {
86+ func testNewEmailWithTokenChange ( ) {
8787 let internalAPI = IterableAPIInternal . initializeForTesting ( )
8888
8989 let originalEmail = " first@example.com "
@@ -105,6 +105,28 @@ class AuthTests: XCTestCase {
105105 XCTAssertEqual ( internalAPI. auth. authToken, newToken)
106106 }
107107
108+ func testNewUserIdWithTokenChange( ) {
109+ let internalAPI = IterableAPIInternal . initializeForTesting ( )
110+
111+ let originalUserId = " firstUserId "
112+ let originalToken = " nen "
113+
114+ let newUserId = " secondUserId "
115+ let newToken = " greedIsland "
116+
117+ internalAPI. setUserId ( originalUserId, withToken: originalToken)
118+
119+ XCTAssertNil ( internalAPI. email)
120+ XCTAssertEqual ( internalAPI. userId, originalUserId)
121+ XCTAssertEqual ( internalAPI. auth. authToken, originalToken)
122+
123+ internalAPI. setUserId ( newUserId, withToken: newToken)
124+
125+ XCTAssertNil ( internalAPI. email)
126+ XCTAssertEqual ( internalAPI. userId, newUserId)
127+ XCTAssertEqual ( internalAPI. auth. authToken, newToken)
128+ }
129+
108130 func testUpdateEmailWithToken( ) {
109131 let condition1 = expectation ( description: " update email with auth token " )
110132
@@ -151,4 +173,36 @@ class AuthTests: XCTestCase {
151173 XCTAssertNil ( internalAPI. userId)
152174 XCTAssertNil ( internalAPI. auth. authToken)
153175 }
176+
177+ func testAuthTokenChangeWithSameEmail( ) {
178+ let internalAPI = IterableAPIInternal . initializeForTesting ( )
179+
180+ internalAPI. setEmail ( AuthTests . email, withToken: AuthTests . authToken)
181+
182+ XCTAssertEqual ( internalAPI. email, AuthTests . email)
183+ XCTAssertEqual ( internalAPI. auth. authToken, AuthTests . authToken)
184+
185+ let newAuthToken = AuthTests . authToken + " 3984ru398gj893 "
186+
187+ internalAPI. setEmail ( AuthTests . email, withToken: newAuthToken)
188+
189+ XCTAssertEqual ( internalAPI. email, AuthTests . email)
190+ XCTAssertEqual ( internalAPI. auth. authToken, newAuthToken)
191+ }
192+
193+ func testAuthTokenChangeWithSameUserId( ) {
194+ let internalAPI = IterableAPIInternal . initializeForTesting ( )
195+
196+ internalAPI. setUserId ( AuthTests . userId, withToken: AuthTests . authToken)
197+
198+ XCTAssertEqual ( internalAPI. userId, AuthTests . userId)
199+ XCTAssertEqual ( internalAPI. auth. authToken, AuthTests . authToken)
200+
201+ let newAuthToken = AuthTests . authToken + " 3984ru398gj893 "
202+
203+ internalAPI. setUserId ( AuthTests . userId, withToken: newAuthToken)
204+
205+ XCTAssertEqual ( internalAPI. userId, AuthTests . userId)
206+ XCTAssertEqual ( internalAPI. auth. authToken, newAuthToken)
207+ }
154208}
0 commit comments