Skip to content

Commit 9de6f62

Browse files
committed
Unit test for migrating from OSInAppMessage to OSInAppMessageInternal
1 parent bd29ed4 commit 9de6f62

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

iOS_SDK/OneSignalSDK/UnitTests/MigrationTests.m

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,40 @@ - (void)testIAMNilCacheToNilMigration {
288288
XCTAssertNil(retrievedDict);
289289
}
290290

291+
- (void)testIAMToInternalMigration {
292+
let limit = 5;
293+
let delay = 60;
294+
let message = [OSInAppMessageTestHelper testMessageWithRedisplayLimit:limit delay:@(delay)];
295+
message.isDisplayedInSession = true;
296+
297+
// Cached Messages
298+
NSArray<OSInAppMessageInternal *> *messages = [[NSArray alloc] initWithObjects:message, nil];
299+
300+
[NSKeyedArchiver setClassName:@"OSInAppMessage" forClass:[OSInAppMessageInternal class]];
301+
302+
[OneSignalUserDefaults.initStandard saveCodeableDataForKey:OS_IAM_MESSAGES_ARRAY withValue:messages];
303+
304+
[migrationController migrate];
305+
306+
NSArray<OSInAppMessageInternal *>*retrievedArray = [OneSignalUserDefaults.initStandard
307+
getSavedCodeableDataForKey:OS_IAM_MESSAGES_ARRAY defaultValue:nil];
308+
XCTAssertEqualObjects(messages, retrievedArray);
309+
310+
// Cached Redisplay Messages
311+
NSMutableDictionary <NSString *, OSInAppMessageInternal *> *redisplayedInAppMessages = [NSMutableDictionary new];
312+
[redisplayedInAppMessages setObject:message forKey:message.messageId];
313+
314+
[NSKeyedArchiver setClassName:@"OSInAppMessage" forClass:[OSInAppMessageInternal class]];
315+
316+
[OneSignalUserDefaults.initStandard saveCodeableDataForKey:OS_IAM_REDISPLAY_DICTIONARY withValue:redisplayedInAppMessages];
317+
318+
[migrationController migrate];
319+
320+
NSDictionary<NSString *, OSInAppMessageInternal *>*retrievedDict = [OneSignalUserDefaults.initStandard
321+
getSavedCodeableDataForKey:OS_IAM_REDISPLAY_DICTIONARY defaultValue:nil];
322+
XCTAssertEqualObjects(redisplayedInAppMessages, retrievedDict);
323+
}
324+
291325

292326

293327

0 commit comments

Comments
 (0)