Skip to content

Commit 10a3d52

Browse files
committed
Updating unit tests for setExternalUserId change
Now that setExternalUserId's put request is called after registerUser the unit tests need to be updated.
1 parent 968654a commit 10a3d52

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

iOS_SDK/OneSignalSDK/UnitTests/UnitTests.m

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2323,9 +2323,9 @@ - (void)testSetExternalUserIdWithRegistration {
23232323
[OneSignal setExternalUserId:TEST_EXTERNAL_USER_ID];
23242324

23252325
[UnitTestCommonMethods initOneSignal_andThreadWait];
2326-
2327-
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequest[@"external_user_id"], TEST_EXTERNAL_USER_ID);
2328-
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequestType, NSStringFromClass([OSRequestRegisterUser class]));
2326+
let registerUserRequest = OneSignalClientOverrider.executedRequests[1];
2327+
XCTAssertEqualObjects(registerUserRequest.parameters[@"external_user_id"], TEST_EXTERNAL_USER_ID);
2328+
XCTAssertEqualObjects(NSStringFromClass([registerUserRequest class]), NSStringFromClass([OSRequestRegisterUser class]));
23292329
}
23302330

23312331
- (void)testSetExternalUserIdAfterRegistration {
@@ -2354,33 +2354,33 @@ - (void)testRemoveExternalUserId {
23542354
}
23552355

23562356
// Tests to make sure that the SDK will not send an external ID if it already successfully sent the same ID
2357-
- (void)testDoesntSendExistingExternalUserIdAfterRegistration {
2357+
- (void)testDoesSendExistingExternalUserIdAfterRegistration {
23582358
[OneSignal setExternalUserId:TEST_EXTERNAL_USER_ID];
23592359

23602360
[UnitTestCommonMethods initOneSignal_andThreadWait];
23612361

2362-
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequestType, NSStringFromClass([OSRequestRegisterUser class]));
2362+
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequestType, NSStringFromClass([OSRequestUpdateExternalUserId class]));
23632363

23642364
[OneSignal setExternalUserId:TEST_EXTERNAL_USER_ID];
23652365

23662366
// the PUT request to set external ID should not happen since the external ID
23672367
// is the same as it was during registration
2368-
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequestType, NSStringFromClass([OSRequestRegisterUser class]));
2368+
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequestType, NSStringFromClass([OSRequestUpdateExternalUserId class]));
23692369
}
23702370

2371-
- (void)testDoesntSendExistingExternalUserIdBeforeRegistration {
2371+
- (void)testDoesSendExistingExternalUserIdBeforeRegistration {
23722372
//mimics a previous session where the external user ID was set
23732373
[OneSignalUserDefaults.initStandard saveStringForKey:OSUD_EXTERNAL_USER_ID withValue:TEST_EXTERNAL_USER_ID];
23742374

23752375
[OneSignal setExternalUserId:TEST_EXTERNAL_USER_ID];
23762376

23772377
[UnitTestCommonMethods initOneSignal_andThreadWait];
23782378

2379-
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequestType, NSStringFromClass([OSRequestRegisterUser class]));
2379+
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequestType, NSStringFromClass([OSRequestUpdateExternalUserId class]));
23802380

23812381
// the registration request should not have included external user ID
23822382
// since it had been set already to the same value in a previous session
2383-
XCTAssertNil(OneSignalClientOverrider.lastHTTPRequest[@"external_user_id"]);
2383+
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequest[@"external_user_id"], TEST_EXTERNAL_USER_ID);
23842384
}
23852385

23862386
- (void)testSetExternalUserId_forPush_withCompletion {
@@ -2441,13 +2441,14 @@ - (void)testSetExternalUserId_WithAuthToken_forPush_withCompletion_beforRegister
24412441

24422442
// 2. Init OneSignal
24432443
[UnitTestCommonMethods initOneSignal_andThreadWait];
2444+
[UnitTestCommonMethods runBackgroundThreads];
24442445

24452446
// 3. Make sure only push external id was attempted to be set since no email was set yet
24462447
XCTAssertEqual(self.CALLBACK_EXTERNAL_USER_ID, TEST_EXTERNAL_USER_ID);
24472448
XCTAssertNil(self.CALLBACK_EMAIL_EXTERNAL_USER_ID);
24482449

24492450
// 3. Make sure last request was external id and had the correct external id being used in the request payload
2450-
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequestType, NSStringFromClass([OSRequestRegisterUser class]));
2451+
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequestType, NSStringFromClass([OSRequestUpdateExternalUserId class]));
24512452
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequest[@"external_user_id"], TEST_EXTERNAL_USER_ID);
24522453
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequest[@"external_user_id_auth_hash"], TEST_EXTERNAL_USER_ID_HASH_TOKEN);
24532454
}

0 commit comments

Comments
 (0)