Skip to content

Commit cf48431

Browse files
committed
Unit test for sending NSNull in the tag dict
1 parent 1ecbb52 commit cf48431

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

iOS_SDK/OneSignalSDK/UnitTests/UnitTests.m

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1364,6 +1364,38 @@ - (void)testSendTagsOnBackground {
13641364
XCTAssertEqual(OneSignalClientOverrider.networkRequestCount, 4);
13651365
}
13661366

1367+
- (void)testSendNSNullInTags {
1368+
[UnitTestCommonMethods initOneSignal_andThreadWait];
1369+
1370+
XCTAssertEqual(OneSignalClientOverrider.networkRequestCount, 2);
1371+
1372+
[OneSignal sendTags:@{@"key1": @"value1", @"key2": [NSNull new]}];
1373+
1374+
// Make sure all tags where send in 1 network call.
1375+
[NSObjectOverrider runPendingSelectors];
1376+
[UnitTestCommonMethods runBackgroundThreads];
1377+
[NSObjectOverrider runPendingSelectors];
1378+
1379+
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequest[@"tags"][@"key1"], @"value1");
1380+
XCTAssertEqualObjects(OneSignalClientOverrider.lastHTTPRequest[@"tags"][@"key2"], [NSNull new]);
1381+
XCTAssertEqual(OneSignalClientOverrider.networkRequestCount, 3);
1382+
}
1383+
1384+
- (void)testSendBadObjectInTags {
1385+
[UnitTestCommonMethods initOneSignal_andThreadWait];
1386+
1387+
XCTAssertEqual(OneSignalClientOverrider.networkRequestCount, 2);
1388+
//The OneSignal class is not a valid json object
1389+
[OneSignal sendTags:@{@"key1": @"value1", @"key2": [OneSignal new]}];
1390+
1391+
// Make sure the tags were not sent.
1392+
[NSObjectOverrider runPendingSelectors];
1393+
[UnitTestCommonMethods runBackgroundThreads];
1394+
[NSObjectOverrider runPendingSelectors];
1395+
1396+
XCTAssertEqual(OneSignalClientOverrider.networkRequestCount, 2);
1397+
}
1398+
13671399
- (void)testDeleteTags {
13681400
[UnitTestCommonMethods initOneSignal_andThreadWait];
13691401
XCTAssertEqual(OneSignalClientOverrider.networkRequestCount, 2);

0 commit comments

Comments
 (0)