@@ -282,8 +282,14 @@ private void initializeSdkWithMultiplePendingMessages() throws Exception {
282
282
}
283
283
284
284
@ Test
285
- public void testTimedMessageIsDisplayed () throws Exception {
286
- final OSTestInAppMessage message = InAppMessagingHelpers .buildTestMessageWithSingleTrigger (OSTriggerKind .SESSION_TIME , null , OSTestTrigger .OSTriggerOperator .GREATER_THAN .toString (), 0.05 );
285
+ public void testTimedMessageIsDisplayedOncePerSession () throws Exception {
286
+ final OSTestInAppMessage message = InAppMessagingHelpers .buildTestMessageWithSingleTriggerAndRedisplay (
287
+ OSTriggerKind .SESSION_TIME ,
288
+ null ,
289
+ OSTestTrigger .OSTriggerOperator .GREATER_THAN .toString (),
290
+ 0.05 ,
291
+ 10 ,
292
+ 0 );
287
293
288
294
setMockRegistrationResponseWithMessages (new ArrayList <OSTestInAppMessage >() {{
289
295
add (message );
@@ -301,31 +307,31 @@ public void testTimedMessageIsDisplayed() throws Exception {
301
307
Awaitility .await ()
302
308
.atMost (new Duration (150 , TimeUnit .MILLISECONDS ))
303
309
.pollInterval (new Duration (10 , TimeUnit .MILLISECONDS ))
304
- .until (new Callable <Boolean >() {
305
- @ Override
306
- public Boolean call () throws Exception {
307
- return OneSignalPackagePrivateHelper .getInAppMessageDisplayQueue ().size () == 1 ;
308
- }
309
- });
310
- }
310
+ .until (() -> OneSignalPackagePrivateHelper .getInAppMessageDisplayQueue ().size () == 1 );
311
311
312
+ OneSignalPackagePrivateHelper .dismissCurrentMessage ();
313
+
314
+ // Check that the IAM is not displayed again
315
+ assertEquals (0 , OneSignalPackagePrivateHelper .getInAppMessageDisplayQueue ().size ());
316
+ }
312
317
313
318
@ Test
314
- public void testAfterLastInAppTimeIsDisplayed () throws Exception {
315
- final OSTestInAppMessage message1 = InAppMessagingHelpers .buildTestMessageWithSingleTrigger (
319
+ public void testAfterLastInAppTimeIsDisplayedOncePerSession () throws Exception {
320
+ final OSTestInAppMessage message1 = InAppMessagingHelpers .buildTestMessageWithSingleTriggerAndRedisplay (
316
321
OSTriggerKind .SESSION_TIME ,
317
322
null ,
318
323
OSTestTrigger .OSTriggerOperator .GREATER_THAN .toString (),
319
- 0.05
320
- );
324
+ 0.05 ,
325
+ 10 ,
326
+ 0 );
321
327
322
328
ArrayList <ArrayList <OSTestTrigger >> triggers2 = new ArrayList <ArrayList <OSTestTrigger >>() {{
323
329
add (new ArrayList <OSTestTrigger >() {{
324
330
add (InAppMessagingHelpers .buildTrigger (OSTriggerKind .SESSION_TIME , null , OSTestTrigger .OSTriggerOperator .GREATER_THAN .toString (), 0.1 ));
325
331
add (InAppMessagingHelpers .buildTrigger (OSTriggerKind .TIME_SINCE_LAST_IN_APP , null , OSTestTrigger .OSTriggerOperator .GREATER_THAN .toString (), 0.05 ));
326
332
}});
327
333
}};
328
- final OSTestInAppMessage message2 = InAppMessagingHelpers .buildTestMessageWithMultipleTriggers (triggers2 );
334
+ final OSTestInAppMessage message2 = InAppMessagingHelpers .buildTestMessageWithMultipleTriggersAndRedisplay (triggers2 , 10 , 0 );
329
335
330
336
setMockRegistrationResponseWithMessages (new ArrayList <OSTestInAppMessage >() {{
331
337
add (message1 );
@@ -365,6 +371,12 @@ public void run() {
365
371
assertEquals (message2 .messageId , OneSignalPackagePrivateHelper .getShowingInAppMessageId ());
366
372
}
367
373
});
374
+
375
+
376
+ OneSignalPackagePrivateHelper .dismissCurrentMessage ();
377
+
378
+ // Check that the IAM is not displayed again
379
+ assertEquals (0 , OneSignalPackagePrivateHelper .getInAppMessageDisplayQueue ().size ());
368
380
}
369
381
370
382
/**
0 commit comments