/**
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/
package com.liferay.dynamic.data.mapping.type.select.internal;
import com.liferay.dynamic.data.mapping.model.DDMForm;
import com.liferay.dynamic.data.mapping.model.DDMFormField;
import com.liferay.dynamic.data.mapping.type.BaseDDMFormFieldTypeSettingsTestCase;
import com.liferay.dynamic.data.mapping.util.DDMFormFactory;
import com.liferay.portal.kernel.util.PortalClassLoaderUtil;
import com.liferay.portal.kernel.util.ResourceBundleUtil;
import java.util.Map;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
/**
* @author Leonardo Barros
*/
@PrepareForTest({PortalClassLoaderUtil.class, ResourceBundleUtil.class})
@RunWith(PowerMockRunner.class)
public class SelectDDMFormFieldTypeSettingsTest
extends BaseDDMFormFieldTypeSettingsTestCase {
@Test
public void testCreateSelectDDMFormFieldTypeSettingsDDMForm() {
DDMForm ddmForm = DDMFormFactory.create(
SelectDDMFormFieldTypeSettings.class);
Map<String, DDMFormField> ddmFormFieldsMap =
ddmForm.getDDMFormFieldsMap(false);
DDMFormField dataSourceTypeDDMFormField = ddmFormFieldsMap.get(
"dataSourceType");
Assert.assertNotNull(dataSourceTypeDDMFormField);
Assert.assertNotNull(dataSourceTypeDDMFormField.getLabel());
Assert.assertNotNull(dataSourceTypeDDMFormField.getPredefinedValue());
Assert.assertEquals("radio", dataSourceTypeDDMFormField.getType());
DDMFormField ddmDataProviderInstanceIdDDMFormField =
ddmFormFieldsMap.get("ddmDataProviderInstanceId");
Assert.assertNotNull(ddmDataProviderInstanceIdDDMFormField);
Assert.assertNotNull(ddmDataProviderInstanceIdDDMFormField.getLabel());
Assert.assertEquals(
"select", ddmDataProviderInstanceIdDDMFormField.getType());
Assert.assertEquals(
"equals(dataSourceType, \"data-provider\")",
ddmDataProviderInstanceIdDDMFormField.getVisibilityExpression());
DDMFormField ddmDataProviderInstanceOutputDDMFormField =
ddmFormFieldsMap.get("ddmDataProviderInstanceOutput");
Assert.assertNotNull(
ddmDataProviderInstanceOutputDDMFormField.getLabel());
Assert.assertEquals(
"select", ddmDataProviderInstanceOutputDDMFormField.getType());
DDMFormField multipleDDMFormField = ddmFormFieldsMap.get("multiple");
Assert.assertNotNull(multipleDDMFormField);
Assert.assertNotNull(multipleDDMFormField.getLabel());
Assert.assertEquals(
"true", multipleDDMFormField.getProperty("showAsSwitcher"));
DDMFormField optionsDDMFormField = ddmFormFieldsMap.get("options");
Assert.assertNotNull(optionsDDMFormField);
Assert.assertEquals("ddm-options", optionsDDMFormField.getDataType());
Assert.assertNotNull(optionsDDMFormField.getLabel());
Assert.assertEquals(
"false", optionsDDMFormField.getProperty("showLabel"));
Assert.assertTrue(optionsDDMFormField.isRequired());
Assert.assertEquals("options", optionsDDMFormField.getType());
Assert.assertEquals(
"equals(dataSourceType, \"manual\")",
optionsDDMFormField.getVisibilityExpression());
DDMFormField validationDDMFormField = ddmFormFieldsMap.get(
"validation");
Assert.assertNotNull(validationDDMFormField);
Assert.assertEquals(
"FALSE", validationDDMFormField.getVisibilityExpression());
}
}