package org.exoplatform.ecm.webui; import org.exoplatform.ecm.webui.form.UIDialogForm; import org.exoplatform.ecm.webui.utils.DialogFormUtil; import org.exoplatform.services.cms.JcrInputProperty; import org.exoplatform.webui.form.UIFormStringInput; import org.junit.Test; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; /** * Created by exo on 9/22/16. */ public class TestDialogFormUtil { @Test public void testPrepareMap() throws Exception { // Given List inputs = new ArrayList<UIFormStringInput>(); Map properties = new HashMap<String, String>(); UIFormStringInput property1 = new UIFormStringInput("name", "name"); UIFormStringInput property2 = new UIFormStringInput("title", "title"); UIDialogForm parent = new UIDialogForm(); JcrInputProperty jcrExoName = new JcrInputProperty(); JcrInputProperty jcrExoTitle = new JcrInputProperty(); inputs.add(property1); inputs.add(property2); property1.setParent(parent); property2.setParent(parent); jcrExoName.setJcrPath("/node/exo:name"); jcrExoTitle.setJcrPath("/node/exo:title"); properties.put("name", jcrExoName); properties.put("title", jcrExoTitle); // When Map<String, JcrInputProperty> map = DialogFormUtil.prepareMap(inputs, properties, null); // Then assertNotNull(map); assertEquals(jcrExoName.getValue(), "name"); assertEquals(jcrExoTitle.getValue(), "title"); } @Test public void testPrepareMapNameOnly() throws Exception { // Given List inputs = new ArrayList<UIFormStringInput>(); Map properties = new HashMap<String, String>(); UIFormStringInput property1 = new UIFormStringInput("name", "name"); UIDialogForm parent = new UIDialogForm(); JcrInputProperty jcrExoName = new JcrInputProperty(); inputs.add(property1); property1.setParent(parent); jcrExoName.setJcrPath("/node/exo:name"); properties.put("name", jcrExoName); // When Map<String, JcrInputProperty> map = DialogFormUtil.prepareMap(inputs, properties, null); // Then String jcrTitle = (String) map.get("/node/exo:title").getValue(); assertNotNull(map); assertTrue(map.size() == 2); assertEquals(jcrExoName.getValue(), "name"); assertEquals(jcrTitle, "name"); } }