@@ -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