package play.modules.scaffold.strategy;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.lang.reflect.Field;
import org.junit.Test;
import play.modules.scaffold.entity.MyEntity;
import play.modules.scaffold.form.FormElement;
public class DefaultViewScaffoldingStrategyTest {
ViewScaffoldingStrategy strategy = new DefaultViewScaffoldingStrategy();
@Test
public void testBooleanPrimitiveRenderedAsCheckbox()
throws NoSuchFieldException {
Field field = MyEntity.class.getField("aPrimitiveBoolean");
FormElement property = strategy.render(field);
assertTrue(property.isCheckbox());
}
@Test
public void testBooleanObjectRenderedAsCheckbox()
throws NoSuchFieldException {
Field field = MyEntity.class
.getField("aSlightlyMoreSophisticatedBoolean");
FormElement property = strategy.render(field);
assertTrue(property.isCheckbox());
}
@Test
public void testEnumRenderedAsSelectWithValidValuesAsOptions()
throws NoSuchFieldException {
Field field = MyEntity.class.getField("anEnum");
FormElement property = strategy.render(field);
assertTrue(property.isSelect());
assertEquals(3, property.getOptions().size());
assertTrue(property.getOptions().contains("ONE"));
assertTrue(property.getOptions().contains("TWO"));
assertTrue(property.getOptions().contains("THREE"));
assertFalse(property.getOptions().contains("FOUR"));
}
}