Skip to content

Commit ae55a0c

Browse files
committed
Fixing unit tests and subscription observer logic
1 parent e5c1128 commit ae55a0c

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

iOS_SDK/OneSignalSDK/Source/OSSubscription.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ - (instancetype)initAsFrom {
6464
_accpeted = [standardUserDefaults getSavedBoolForKey:OSUD_PERMISSION_ACCEPTED_FROM defaultValue:false];
6565
_userId = [standardUserDefaults getSavedStringForKey:OSUD_PLAYER_ID_FROM defaultValue:nil];
6666
_pushToken = [standardUserDefaults getSavedStringForKey:OSUD_PUSH_TOKEN_FROM defaultValue:nil];
67-
_isPushDisabled = [standardUserDefaults keyExists:OSUD_USER_SUBSCRIPTION_FROM];
67+
_isPushDisabled = ![standardUserDefaults getSavedBoolForKey:OSUD_USER_SUBSCRIPTION_FROM defaultValue:NO];
6868

6969
return self;
7070
}
@@ -146,7 +146,7 @@ - (BOOL)isSubscribed {
146146
}
147147

148148
- (NSString*)description {
149-
static NSString* format = @"<OSSubscriptionState: userId: %@, pushToken: %@, userSubscriptionSetting: %d, subscribed: %d>";
149+
static NSString* format = @"<OSSubscriptionState: userId: %@, pushToken: %@, isPushDisabled: %d, isSubscribed: %d>";
150150
return [NSString stringWithFormat:format, self.userId, self.pushToken, self.isPushDisabled, self.isSubscribed];
151151
}
152152

iOS_SDK/OneSignalSDK/UnitTests/UnitTests.m

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,9 @@ - (void)testSubscriptionChangeObserverFireAfterAppRestart {
438438
[UnitTestCommonMethods initOneSignal_andThreadWait];
439439
OSSubscriptionStateTestObserver* observer = [OSSubscriptionStateTestObserver new];
440440
[OneSignal addSubscriptionObserver:observer];
441-
441+
[UnitTestCommonMethods runBackgroundThreads];
442+
XCTAssertEqual(observer->last.to.isSubscribed, true);
443+
442444
// User kills app, turns off notifications, then opnes it agian.
443445
[UnitTestCommonMethods clearStateForAppRestart:self];
444446
[UnitTestCommonMethods setCurrentNotificationPermission:false];
@@ -449,7 +451,7 @@ - (void)testSubscriptionChangeObserverFireAfterAppRestart {
449451
[OneSignal addSubscriptionObserver:observer];
450452
[UnitTestCommonMethods runBackgroundThreads];
451453

452-
XCTAssertEqual(observer->last.from.isSubscribed, true);
454+
453455
XCTAssertEqual(observer->last.to.isSubscribed, false);
454456
}
455457

@@ -574,7 +576,8 @@ - (void)testPermissionAndSubscriptionChangeObserverRemove {
574576
[UnitTestCommonMethods runBackgroundThreads];
575577

576578
XCTAssertNil(permissionObserver->last);
577-
XCTAssertNil(subscriptionObserver->last);
579+
XCTAssertTrue([[OneSignal getDeviceState] isSubscribed]);
580+
XCTAssertFalse(subscriptionObserver->last.to.isSubscribed);
578581
}
579582

580583
- (void)testSubscriptionChangeObserverBasic {
@@ -1815,11 +1818,11 @@ - (void)testPushNotificationToken {
18151818
XCTAssertNil(observer->last.to.userId);
18161819
XCTAssertFalse(observer->last.to.isSubscribed);
18171820

1818-
[OneSignal disablePush:false];
1821+
[OneSignal disablePush:true]; //This should not result in a a change in state because we are waiting on privacy
18191822
[UnitTestCommonMethods runBackgroundThreads];
18201823

1821-
XCTAssertFalse(observer->last.from.isPushDisabled);
1822-
XCTAssertFalse(observer->last.to.isPushDisabled);
1824+
XCTAssertTrue(observer->last.from.isPushDisabled); //Initial from is that push is disabled
1825+
XCTAssertFalse(observer->last.to.isPushDisabled); //Default value after adding an observer is that push is not disabled
18231826
// Device registered with OneSignal so now make pushToken available.
18241827
XCTAssertNil(observer->last.to.pushToken);
18251828

0 commit comments

Comments
 (0)