package de.flower.rmt.ui.markup.html.form.field; import de.flower.common.test.wicket.WicketTesterHelper; import de.flower.rmt.test.AbstractRMTWicketMockitoTests; import org.apache.wicket.markup.Markup; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.model.CompoundPropertyModel; import org.testng.annotations.Test; import java.util.Arrays; /** * @author flowerrrr */ public class FormFieldPanelTest extends AbstractRMTWicketMockitoTests { @Test public void testRender() { wicketTester.startPage(new FormFieldPanelTestPage()); wicketTester.dumpPage(); wicketTester.assertContains("fooName"); } private static class FormFieldPanelTestPage extends WebPage { public FormFieldPanelTestPage() { TestEntity entity = new TestEntity("fooName", "fooTime"); Form form = new Form<TestEntity>("form", new CompoundPropertyModel<TestEntity>(entity)); add(form); form.add(new TextFieldPanel("name")); form.add(new DropDownChoicePanel<String>("time", Arrays.asList("a", "b", "c"))); form.add(new CheckBoxPanel("flag")); } public Markup getAssociatedMarkup() { return WicketTesterHelper.creatPageMarkup("<html><body>\n" + "<form wicket:id='form'>\n" // can use whatever tag we like, since the tag is rewritten by the panel + "<foobar wicket:id='name' labelKey='login.username' />\n" + "<rmt:select wicket:id='time' labelKey='login.password' />\n" + "<rmt:checkbox wicket:id='flag' labelKey='login.username' />\n" + "</form>\n" + "</body></html>", this); } } private static class TestEntity { private String name; private String time; private Boolean flag; private TestEntity(final String name, final String time) { this.name = name; this.time = time; } public String getName() { return name; } public void setName(final String name) { this.name = name; } public String getTime() { return time; } public void setTime(final String time) { this.time = time; } public Boolean getFlag() { return flag; } public void setFlag(final Boolean flag) { this.flag = flag; } } }