Skip to content

Commit

Permalink
JSON FOrm activity test
Browse files Browse the repository at this point in the history
  • Loading branch information
SebaMutuku committed Jul 1, 2022
1 parent 0f8d86c commit dda10e6
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import androidx.core.util.Pair;
import androidx.appcompat.widget.AppCompatRadioButton;
import android.text.Html;
import android.text.Spanned;
import android.view.View;
Expand All @@ -17,6 +15,9 @@
import android.widget.RadioGroup;
import android.widget.RelativeLayout;

import androidx.appcompat.widget.AppCompatRadioButton;
import androidx.core.util.Pair;

import com.rengwuxian.materialedittext.MaterialEditText;
import com.rey.material.util.ViewUtil;
import com.vijay.jsonwizard.NativeFormLibrary;
Expand Down Expand Up @@ -482,4 +483,63 @@ public void testUpdateUiByCalculation() throws JSONException {
Pair<String[], JSONObject> pair = activity.getCalculationAddressAndValue(view);
assertNotNull(pair);
}

@Test
public void testUpdateUIByConstraints() throws Exception {
View view = Mockito.mock(View.class);
String address = "test:key";
String childKey = "test";
String previous="false";
String errorMessage="false";
String key="yes";
Mockito.doReturn(address).when(view).getTag(R.id.address);
Mockito.doReturn(childKey).when(view).getTag(R.id.childKey);
Mockito.doReturn(previous).when(view).getTag(R.id.previous);
Mockito.doReturn(key).when(view).getTag(R.id.key);
Mockito.doReturn("check_box").when(view).getTag(R.id.type);
String json=" {\n" +
" \"key\": \"user_check_box\",\n" +
" \"openmrs_entity_parent\": \"\",\n" +
" \"openmrs_entity\": \"\",\n" +
" \"openmrs_entity_id\": \"\",\n" +
" \"openmrs_data_type\": \"select one\",\n" +
" \"type\": \"check_box\",\n" +
" \"label\": \"Do want to select any checkbox?\",\n" +
" \"label_text_style\": \"bold\",\n" +
" \"options\": [\n" +
" {\n" +
" \"key\": \"None\",\n" +
" \"text\": \"None\",\n" +
" \"value\": false,\n" +
" \"openmrs_choice_id\": \"\"\n" +
" },\n" +
" {\n" +
" \"key\": \"yes\",\n" +
" \"text\": \"Yes\",\n" +
" \"value\": false,\n" +
" \"openmrs_choice_id\": \"\"\n" +
" },\n" +
" {\n" +
" \"key\": \"no\",\n" +
" \"text\": \"No\",\n" +
" \"value\": false,\n" +
" \"openmrs_choice_id\": \"\"\n" +
" },\n" +
" {\n" +
" \"key\": \"other\",\n" +
" \"text\": \"Other\",\n" +
" \"value\": false,\n" +
" \"openmrs_choice_id\": \"\"\n" +
" }\n" +
" ],\n" +
" \"v_required\": {\n" +
" \"value\": \"false\"\n" +
" },\n" +
" \"value\": \"[yes]\"\n" +
" }";
Mockito.doReturn(new JSONObject(json)).when(view).getTag(R.id.json_object);
Whitebox.invokeMethod(activity, "updateUiByConstraints", view, true, errorMessage);


}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.vijay.jsonwizard.widgets;

import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.content.Context;
import android.view.View;
import android.widget.RadioButton;
Expand Down Expand Up @@ -163,7 +165,8 @@ public void testShowDateDialog() throws Exception {
View view = Mockito.mock(View.class);
View radioButtonView=Mockito.mock(RadioButton.class);
radioButton = Mockito.mock(RadioButton.class);
Context context = RuntimeEnvironment.application.getApplicationContext();
Activity context= Mockito.spy(Activity.class);
Context specify_context=RuntimeEnvironment.application.getApplicationContext();
String json = " {\n" +
" \"key\": \"Date_Birth\",\n" +
" \"openmrs_entity_parent\": \"\",\n" +
Expand All @@ -184,14 +187,15 @@ public void testShowDateDialog() throws Exception {
" \"err\": \"Please enter the date of birth\"\n" +
" }\n" +
" }";

CustomTextView customTextView = Mockito.mock(CustomTextView.class);
Mockito.doReturn(context).when(view).setTag(R.id.specify_context);
radioButtonView.setTag(R.id.option_json_object, json);
view.setTag(R.id.native_radio_button, radioButton);
view.setTag(R.id.specify_context, context);
view.setTag(R.id.specify_textview, customTextView);
Mockito.doReturn(radioButton).when(view).getTag(R.id.native_radio_button);
Mockito.doReturn("text:awesome").when(radioButton).getText();
Mockito.doReturn(context).when(view).getTag((R.id.specify_context));
Whitebox.setInternalState(factory, "context", activity);
Mockito.doReturn(new JSONObject(json)).when(radioButton).getTag(R.id.option_json_object);
Mockito.doReturn(radioButtonView).when(radioButtonView).getTag(R.id.specify_textview);
FragmentManager fragment=Mockito.spy(FragmentManager.class);
NativeRadioButtonFactory radioButtonFactory=Mockito.mock(NativeRadioButtonFactory.class);
Whitebox.setInternalState(NativeRadioButtonFactory.class,"TAG",fragment);
Mockito.verify(radioButtonFactory, Mockito.times(1)).showDateDialog(view);
}
}

0 comments on commit dda10e6

Please sign in to comment.