|
66 | 66 | import static com.onesignal.OneSignalPackagePrivateHelper.OneSignal_setSharedPreferences;
|
67 | 67 | import static com.onesignal.OneSignalPackagePrivateHelper.OneSignal_setTime;
|
68 | 68 | import static com.onesignal.OneSignalPackagePrivateHelper.OneSignal_setTrackerFactory;
|
| 69 | +import static com.onesignal.OneSignalPackagePrivateHelper.dismissCurrentMessage; |
69 | 70 | import static com.onesignal.ShadowOneSignalRestClient.setRemoteParamsGetHtmlResponse;
|
70 | 71 | import static com.test.onesignal.RestClientAsserts.assertMeasureOnV2AtIndex;
|
71 | 72 | import static com.test.onesignal.TestHelpers.assertMainThread;
|
@@ -398,6 +399,55 @@ public void testTimedMessageDisplayedAfterAllTriggersValid() throws Exception {
|
398 | 399 | assertFalse(ShadowDynamicTimer.hasScheduledTimer);
|
399 | 400 | }
|
400 | 401 |
|
| 402 | + @Test |
| 403 | + public void testMessageDisplayedAfterAddTriggerEqualWithStringVsNumber() throws Exception { |
| 404 | + // Set IAM with EQUAL trigger with number value as string |
| 405 | + final OSTestInAppMessage message = |
| 406 | + InAppMessagingHelpers.buildTestMessageWithSingleTrigger(OSTriggerKind.CUSTOM, "test", OSTestTrigger.OSTriggerOperator.EQUAL_TO.toString(), "5"); |
| 407 | + |
| 408 | + setMockRegistrationResponseWithMessages(new ArrayList<OSTestInAppMessage>() {{ |
| 409 | + add(message); |
| 410 | + }}); |
| 411 | + |
| 412 | + OneSignalInit(); |
| 413 | + threadAndTaskWait(); |
| 414 | + |
| 415 | + assertEquals(0, OneSignalPackagePrivateHelper.getInAppMessageDisplayQueue().size()); |
| 416 | + |
| 417 | + // after setting this trigger the message should be displayed immediately |
| 418 | + OneSignal.addTrigger("test", 5.0); |
| 419 | + threadAndTaskWait(); |
| 420 | + |
| 421 | + // the message should now have been displayed |
| 422 | + assertEquals(1, OneSignalPackagePrivateHelper.getInAppMessageDisplayQueue().size()); |
| 423 | + dismissCurrentMessage(); |
| 424 | + } |
| 425 | + |
| 426 | + |
| 427 | + @Test |
| 428 | + public void testMessageDisplayedAfterAddTriggerEqualWithStringVsNumberFloat() throws Exception { |
| 429 | + // Set IAM with EQUAL trigger with number value as string |
| 430 | + final OSTestInAppMessage message = |
| 431 | + InAppMessagingHelpers.buildTestMessageWithSingleTrigger(OSTriggerKind.CUSTOM, "test", OSTestTrigger.OSTriggerOperator.EQUAL_TO.toString(), "5.5"); |
| 432 | + |
| 433 | + setMockRegistrationResponseWithMessages(new ArrayList<OSTestInAppMessage>() {{ |
| 434 | + add(message); |
| 435 | + }}); |
| 436 | + |
| 437 | + OneSignalInit(); |
| 438 | + threadAndTaskWait(); |
| 439 | + |
| 440 | + assertEquals(0, OneSignalPackagePrivateHelper.getInAppMessageDisplayQueue().size()); |
| 441 | + |
| 442 | + // after setting this trigger the message should be displayed immediately |
| 443 | + OneSignal.addTrigger("test", 5.50); |
| 444 | + threadAndTaskWait(); |
| 445 | + |
| 446 | + // the message should now have been displayed |
| 447 | + assertEquals(1, OneSignalPackagePrivateHelper.getInAppMessageDisplayQueue().size()); |
| 448 | + dismissCurrentMessage(); |
| 449 | + } |
| 450 | + |
401 | 451 | @Test
|
402 | 452 | public void useCachedInAppListOnQuickColdRestart() throws Exception {
|
403 | 453 | // 1. Start app
|
|
0 commit comments