Skip to content

Commit 0149a12

Browse files
committed
Unit test for page changed event
1 parent 565f476 commit 0149a12

File tree

4 files changed

+30
-2
lines changed

4 files changed

+30
-2
lines changed

OneSignalSDK/onesignal/src/main/java/com/onesignal/OSInAppMessageController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -281,8 +281,8 @@ void onFailure(int statusCode, String response, Throwable throwable) {
281281
}
282282
}
283283

284-
void onPageChanged(@NonNull final OSInAppMessage message, @NonNull final JSONObject messageJson) {
285-
final OSInAppMessagePage newPage = new OSInAppMessagePage(messageJson);
284+
void onPageChanged(@NonNull final OSInAppMessage message, @NonNull final JSONObject eventJson) {
285+
final OSInAppMessagePage newPage = new OSInAppMessagePage(eventJson);
286286
if (message.isPreview) {
287287
return;
288288
}

OneSignalSDK/unittest/src/test/java/com/onesignal/InAppMessagingHelpers.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public class InAppMessagingHelpers {
1717
public static final String TEST_ENGLISH_ANDROID_VARIANT_ID = "11e4-bed1-df8f05be55ba-a4b3gj7f-d8cc";
1818
public static final String ONESIGNAL_APP_ID = "b4f7f966-d8cc-11e4-bed1-df8f05be55ba";
1919
public static final String IAM_CLICK_ID = "12345678-1234-1234-1234-123456789012";
20+
public static final String IAM_PAGE_ID = "12345678-1234-ABCD-1234-123456789012";
2021

2122
public static boolean evaluateMessage(OSInAppMessage message) {
2223
return OneSignal.getInAppMessageController().triggerController.evaluateMessageTriggers(message);
@@ -160,9 +161,17 @@ public static JSONObject buildTestActionJson() throws JSONException {
160161
put("url", "https://www.onesignal.com");
161162
put("url_target", "webview");
162163
put("close", true);
164+
put("page_id", IAM_PAGE_ID);
163165
put("data", new JSONObject() {{
164166
put("test", "value");
165167
}});
166168
}};
167169
}
170+
171+
public static JSONObject buildTestPageJson() throws JSONException {
172+
return new JSONObject() {{
173+
put("page_index", 1);
174+
put("page_id", IAM_PAGE_ID);
175+
}};
176+
}
168177
}

OneSignalSDK/unittest/src/test/java/com/onesignal/OneSignalPackagePrivateHelper.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -495,6 +495,10 @@ public static void onMessageWasShown(@NonNull com.onesignal.OSInAppMessage messa
495495
OneSignal.getInAppMessageController().onMessageWasShown(message);
496496
}
497497

498+
public static void onPageChanged(@NonNull com.onesignal.OSInAppMessage message, @NonNull final JSONObject eventJson) {
499+
OneSignal.getInAppMessageController().onPageChanged(message, eventJson);
500+
}
501+
498502
public static List<OSTestInAppMessage> getRedisplayInAppMessages() {
499503
List<OSInAppMessage> messages = OneSignal.getInAppMessageController().getRedisplayedInAppMessages();
500504
List<OSTestInAppMessage> testMessages = new ArrayList<>();

OneSignalSDK/unittest/src/test/java/com/test/onesignal/InAppMessagingUnitTests.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -616,4 +616,19 @@ public void testOnMessageWasShown() throws Exception {
616616
assertEquals(1, iamImpressionRequest.payload.get("device_type"));
617617
assertEquals(true, iamImpressionRequest.payload.get("first_impression"));
618618
}
619+
620+
@Test
621+
public void testOnPageChanged() throws Exception {
622+
threadAndTaskWait();
623+
624+
OneSignalPackagePrivateHelper.onPageChanged(message, InAppMessagingHelpers.buildTestPageJson());
625+
626+
ShadowOneSignalRestClient.Request iamPageImpressionRequest = ShadowOneSignalRestClient.requests.get(2);
627+
628+
assertEquals("in_app_messages/" + message.messageId + "/pageImpression", iamPageImpressionRequest.url);
629+
assertEquals(InAppMessagingHelpers.ONESIGNAL_APP_ID, iamPageImpressionRequest.payload.get("app_id"));
630+
assertEquals(ShadowOneSignalRestClient.pushUserId, iamPageImpressionRequest.payload.get("player_id"));
631+
assertEquals(1, iamPageImpressionRequest.payload.get("device_type"));
632+
assertEquals(InAppMessagingHelpers.IAM_PAGE_ID, iamPageImpressionRequest.payload.get("page_id"));
633+
}
619634
}

0 commit comments

Comments
 (0)