@@ -984,7 +984,7 @@ - (void)testIAMClickedLaunchesClickHandlerSendDirectOutcomeV2Request {
984984
985985 let firstTrigger = [OSTrigger customTriggerWithProperty: @" testProp" withOperator: OSTriggerOperatorTypeExists withValue: nil ];
986986
987- OSInAppMessageInternal * message = [OSInAppMessageTestHelper testMessageWithTriggers: @[@[firstTrigger]]];
987+ OSInAppMessageInternal *message = [OSInAppMessageTestHelper testMessageWithTriggers: @[@[firstTrigger]]];
988988
989989 [self initOneSignalWithInAppMessage: message];
990990
@@ -1027,7 +1027,7 @@ - (void)testIAMClickedLaunchesClickHandlerDismissIAMSendIndirectOutcomeV2Request
10271027
10281028 let firstTrigger = [OSTrigger customTriggerWithProperty: @" testProp" withOperator: OSTriggerOperatorTypeExists withValue: nil ];
10291029
1030- OSInAppMessageInternal * message = [OSInAppMessageTestHelper testMessageWithTriggers: @[@[firstTrigger]]];
1030+ OSInAppMessageInternal *message = [OSInAppMessageTestHelper testMessageWithTriggers: @[@[firstTrigger]]];
10311031
10321032 [self initOneSignalWithInAppMessage: message];
10331033
@@ -1593,6 +1593,50 @@ - (void)testInAppMessageDisplayMultipleTimesSessionDurationTrigger {
15931593 XCTAssertEqual (secondDisplayQuantity, 2 );
15941594}
15951595
1596+ - (void )testIAMLifecyleEventsFired {
1597+ let firstTrigger = [OSTrigger customTriggerWithProperty: @" testProp" withOperator: OSTriggerOperatorTypeExists withValue: nil ];
1598+
1599+ OSInAppMessageInternal *message = [OSInAppMessageTestHelper testMessageWithTriggers: @[@[firstTrigger]]];
1600+
1601+ [self initOneSignalWithInAppMessage: message];
1602+
1603+ OSInAppMessageTestDelegate *iamDelegate = [OSInAppMessageTestDelegate new ];
1604+ [OneSignal setInAppMessageDelegate: iamDelegate];
1605+
1606+ XCTAssertEqual (0 , OSMessagingControllerOverrider.messageDisplayQueue .count );
1607+
1608+ XCTAssertNil (iamDelegate->lastMessageWillDisplay );
1609+ XCTAssertNil (iamDelegate->lastMessageDidDisplay );
1610+ XCTAssertNil (iamDelegate->lastMessageWillDismiss );
1611+ XCTAssertNil (iamDelegate->lastMessageDidDismiss );
1612+ [OneSignal addTrigger: @" testProp" withValue: @2 ];
1613+ [UnitTestCommonMethods runBackgroundThreads ];
1614+
1615+ [OSMessagingController.sharedInstance onWillDisplayInAppMessage: message];
1616+ XCTAssertNotNil (iamDelegate->lastMessageWillDisplay );
1617+ XCTAssertNil (iamDelegate->lastMessageDidDisplay );
1618+ XCTAssertNil (iamDelegate->lastMessageWillDismiss );
1619+ XCTAssertNil (iamDelegate->lastMessageDidDismiss );
1620+
1621+ [OSMessagingController.sharedInstance onDidDisplayInAppMessage: message];
1622+ XCTAssertNotNil (iamDelegate->lastMessageWillDisplay );
1623+ XCTAssertNotNil (iamDelegate->lastMessageDidDisplay );
1624+ XCTAssertNil (iamDelegate->lastMessageWillDismiss );
1625+ XCTAssertNil (iamDelegate->lastMessageDidDismiss );
1626+
1627+ [OSMessagingController.sharedInstance onWillDismissInAppMessage: message];
1628+ XCTAssertNotNil (iamDelegate->lastMessageWillDisplay );
1629+ XCTAssertNotNil (iamDelegate->lastMessageDidDisplay );
1630+ XCTAssertNotNil (iamDelegate->lastMessageWillDismiss );
1631+ XCTAssertNil (iamDelegate->lastMessageDidDismiss );
1632+
1633+ [OSMessagingController.sharedInstance onDidDismissInAppMessage: message];
1634+ XCTAssertNotNil (iamDelegate->lastMessageWillDisplay );
1635+ XCTAssertNotNil (iamDelegate->lastMessageDidDisplay );
1636+ XCTAssertNotNil (iamDelegate->lastMessageWillDismiss );
1637+ XCTAssertNotNil (iamDelegate->lastMessageDidDismiss );
1638+ }
1639+
15961640/*
15971641 Helper method that adds an OSInAppMessage to the IAM messageDisplayQueue
15981642 Mock response JSON and initializes the OneSignal SDK
0 commit comments