Skip to content

Commit dad584a

Browse files
committed
Fix failing tests
* Call _registerUserFinished set from OSStateSynchronizer * Reset _registerUserFinished after each test
1 parent 6df9742 commit dad584a

File tree

5 files changed

+10
-4
lines changed

5 files changed

+10
-4
lines changed

iOS_SDK/OneSignalSDK/Source/OSObservable.m

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ - (BOOL)notifyChange:(id)state {
6969

7070
@synchronized(observers) {
7171
NSArray *obs = [observers copy];
72-
7372
for (id observer in obs) {
7473
fired = true;
7574
if (changeSelector) {

iOS_SDK/OneSignalSDK/Source/OSStateSynchronizer.m

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ + (void)emailChangedWithNewEmailPlayerId:(NSString * _Nullable)emailPlayerId;
4343
+ (void)setUserId:(NSString *)userId;
4444
+ (void)setEmailUserId:(NSString *)emailUserId;
4545
+ (void)saveExternalIdAuthToken:(NSString *)hashToken;
46+
+ (void)registerUserFinished;
4647

4748
@end
4849

@@ -108,6 +109,7 @@ - (void)registerUserWithState:(OSUserState *)registrationState withSuccess:(OSMu
108109

109110
[OneSignalClient.sharedClient executeSimultaneousRequests:requests withSuccess:^(NSDictionary<NSString *, NSDictionary *> *results) {
110111
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:[NSString stringWithFormat:@"on_session result: %@", results]];
112+
[OneSignal registerUserFinished];
111113

112114
// If the external user ID was sent as part of this request, we need to save it
113115
// Cache the external id if it exists within the registration payload
@@ -152,6 +154,7 @@ - (void)registerUserWithState:(OSUserState *)registrationState withSuccess:(OSMu
152154
for (NSString *key in @[OS_PUSH, OS_EMAIL])
153155
[OneSignal onesignal_Log:ONE_S_LL_ERROR message:[NSString stringWithFormat: @"Encountered error during %@ registration with OneSignal: %@", key, errors[key]]];
154156

157+
[OneSignal registerUserFinished];
155158
if (failureBlock)
156159
failureBlock(errors);
157160
}];

iOS_SDK/OneSignalSDK/Source/OSSubscription.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ - (void)setPushToken:(NSString*)pushToken {
127127
- (void)setIsPushDisabled:(BOOL)isPushDisabled {
128128
BOOL changed = isPushDisabled != _isPushDisabled;
129129
_isPushDisabled = isPushDisabled;
130+
130131
if (self.observable && changed)
131132
[self.observable notifyChange:self];
132133
}

iOS_SDK/OneSignalSDK/Source/OneSignal.m

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -425,6 +425,10 @@ + (void)setUserId:(NSString *)userId {
425425
self.currentSubscriptionState.userId = userId;
426426
}
427427

428+
+ (void)registerUserFinished {
429+
_registerUserFinished = true;
430+
}
431+
428432
+ (NSString *)mEmailAuthToken {
429433
return self.currentEmailSubscriptionState.emailAuthCode;
430434
}
@@ -1717,7 +1721,6 @@ + (void)registerUserInternal {
17171721

17181722
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"Calling OneSignal create/on_session"];
17191723
[self.stateSynchronizer registerUserWithState:userState withSuccess:^(NSDictionary<NSString *, NSDictionary *> *results) {
1720-
_registerUserFinished = true;
17211724
immediateOnSessionRetry = NO;
17221725
waitingForOneSReg = false;
17231726
isOnSessionSuccessfulForCurrentState = true;
@@ -1770,7 +1773,6 @@ + (void)registerUserInternal {
17701773
[self receivedInAppMessageJson:results[@"push"][@"in_app_messages"]];
17711774
}
17721775
} onFailure:^(NSDictionary<NSString *, NSError *> *errors) {
1773-
_registerUserFinished = true;
17741776
waitingForOneSReg = false;
17751777

17761778
// If the failed registration is priority, force the next one to be a high priority
@@ -2473,7 +2475,7 @@ + (void)setExternalUserId:(NSString *)externalId withExternalIdAuthHashToken:(NS
24732475
delayedExternalIdParameters = [OneSignalSetExternalIdParameters withExternalId:externalId withAuthToken:hashToken withSuccess:successBlock withFailure:failureBlock];
24742476
return;
24752477
} else if (!appId) {
2476-
[OneSignal onesignal_Log:ONE_S_LL_WARN message:@"Attempted to set external user id, butapp_id is not set"];
2478+
[OneSignal onesignal_Log:ONE_S_LL_WARN message:@"Attempted to set external user id, but app_id is not set"];
24772479
if (failureBlock)
24782480
failureBlock([NSError errorWithDomain:@"com.onesignal" code:0 userInfo:@{@"error" : [NSString stringWithFormat:@"%@ is not set", appId == nil ? @"app_id" : @"user_id"]}]);
24792481
return;

iOS_SDK/OneSignalSDK/UnitTests/UnitTests.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -602,6 +602,7 @@ - (void)testSubscriptionChangeObserverBasic {
602602

603603
XCTAssertEqual(observer->last.from.isSubscribed, true);
604604
XCTAssertEqual(observer->last.to.isSubscribed, false);
605+
XCTAssertEqual(observer->fireCount, 2);
605606
}
606607

607608
- (void)testSubscriptionChangeObserverWhenPromptNotShown {

0 commit comments

Comments
 (0)