Skip to content

Commit 28cda7d

Browse files
author
sm-deployer
authored
Merge pull request #431 from salemove/feature/custom_card_detection
2 parents 0bf3208 + 3003829 commit 28cda7d

File tree

4 files changed

+9
-4
lines changed

4 files changed

+9
-4
lines changed

widgetssdk/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ dependencies {
7575
androidTestImplementation "org.mockito:mockito-android:$mockitoVersion"
7676
androidTestImplementation "androidx.test.ext:junit:$androidXTestVersion"
7777
androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion"
78+
79+
// Test dependencies to Android native libraries
80+
// To prevent unit tests firing errors like 'Method length in org.json.JSONObject not mocked'
81+
testImplementation "org.json:json:20220924"
7882
}
7983

8084
ext {

widgetssdk/src/main/java/com/glia/widgets/chat/adapter/holder/WebViewViewHolder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public void bind(@NonNull ChatMessage message, @NonNull ResponseCallback callbac
104104
*/
105105
public static boolean isWebViewType(@NonNull ChatMessage message) {
106106
JSONObject metadata = message.getMetadata();
107-
if (metadata == null) {
107+
if (metadata == null || metadata.length() == 0) {
108108
return false;
109109
}
110110
return metadata.has(METADATA_KEY);

widgetssdk/src/main/java/com/glia/widgets/chat/domain/CustomCardAdapterTypeUseCase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public CustomCardAdapterTypeUseCase(@Nullable CustomCardAdapter adapter) {
1515

1616
@Nullable
1717
public Integer execute(ChatMessage message) {
18-
if (adapter == null || message.getMetadata() == null) {
18+
if (adapter == null || message.getMetadata() == null || message.getMetadata().length() == 0) {
1919
return null;
2020
}
2121
return adapter.getChatAdapterViewType(message);

widgetssdk/src/test/java/com/glia/widgets/chat/domain/CustomCardAdapterTypeUseCaseTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.glia.androidsdk.chat.ChatMessage;
1010
import com.glia.widgets.chat.adapter.CustomCardAdapter;
1111

12+
import org.json.JSONException;
1213
import org.json.JSONObject;
1314
import org.junit.Before;
1415
import org.junit.Test;
@@ -57,9 +58,9 @@ public void execute_returnsNull_whenAdapterReturnsNull() {
5758
}
5859

5960
@Test
60-
public void execute_returnsViewType_whenAdapterReturnsViewType() {
61+
public void execute_returnsViewType_whenAdapterReturnsViewType() throws JSONException {
6162
ChatMessage message = mock(ChatMessage.class);
62-
JSONObject metadata = new JSONObject();
63+
JSONObject metadata = new JSONObject().put("someKey", "someValue");
6364
when(message.getMetadata()).thenReturn(metadata);
6465
when(customCardAdapter.getChatAdapterViewType(message)).thenReturn(VIEW_TYPE);
6566

0 commit comments

Comments
 (0)