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