package com.rapidftr.controls; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import org.json.me.JSONArray; import org.json.me.JSONException; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; import com.rapidftr.form.Forms; import com.rapidftr.model.ChildFactory; public class UIFormsTest { private UIForms uiForms; @Before public void setUp() throws JSONException { uiForms = new UIForms(new Forms(new JSONArray(forms())), Mockito .mock(FormFieldFactory.class), ChildFactory.newChild()); } @Test public void getFormsNames() throws Exception { Object[] formNames = uiForms.getFormNames(); assertArrayEquals(new String[] { "Basic Details", "Family Details" }, formNames); } @Test public void getDefaultForms() throws Exception { UIForm defaultForm = uiForms.getDefaultForm(); assertEquals("Basic Details", defaultForm.getName()); } @Test public void getIndexByName() throws Exception { assertEquals(1, uiForms.getIndexByName("Family Details")); } @Test public void getInvalidNameReturnsZero() throws Exception { assertEquals(0, uiForms.getIndexByName("Details")); } private String forms() { return "[{'name':'Basic Details','unique_id':'basic_details', 'enabled':true},{'name':'Family Details','unique_id':'family_details', 'enabled':true}]"; } }