package de.flower.rmt.ui.markup.html.panel;
import de.flower.common.test.wicket.AbstractWicketUnitTests;
import de.flower.common.ui.panel.BasePanel;
import org.apache.wicket.markup.Markup;
import org.apache.wicket.markup.html.form.Form;
import org.testng.annotations.Test;
/**
* @author flowerrrr
*/
public class FormFeedbackPanelTest extends AbstractWicketUnitTests {
protected final static String message = "jöksdifuwe9823hkldhf";
protected static boolean renderError = false;
@Test
public void testRender() {
wicketTester.startComponentInPage(new FormFeedbackTestPanel());
wicketTester.dumpComponentWithPage();
wicketTester.assertInvisible("hasErrors");
wicketTester.assertInvisible("submitSuccess");
}
@Test
public void testRenderError() {
FormFeedbackTestPanel panel = new FormFeedbackTestPanel();
renderError = true;
wicketTester.startComponentInPage(panel);
wicketTester.dumpComponentWithPage();
wicketTester.assertVisible("hasErrors");
wicketTester.assertContains(message);
}
private static class FormFeedbackTestPanel extends BasePanel {
Form form;
public FormFeedbackTestPanel() {
form = new Form("form");
form.add(new FormFeedbackPanel(form));
add(form);
}
@Override
protected void onBeforeRender() {
super.onBeforeRender();
if (renderError) {
getSession().getFeedbackMessages().error(form, message);
}
}
@Override
public Markup getAssociatedMarkup() {
return Markup.of("<wicket:panel><form wicket:id='form'><div wicket:id='formFeedbackPanel' /></form></wicket:panel>");
}
}
}