package de.flower.common.ui.serialize;
import de.flower.common.ui.panel.BasePanel;
import de.flower.common.ui.serialize.PageSerializationValidatorListener.PageSerializationException;
import de.flower.rmt.model.db.entity.Club;
import de.flower.rmt.model.db.entity.event.Match;
import de.flower.rmt.model.dto.Password;
import de.flower.rmt.test.AbstractRMTWicketIntegrationTests;
import org.apache.wicket.markup.Markup;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.testng.annotations.Test;
/**
* @author flowerrrr
*/
public class PageSerializationValidatorListenerTest extends AbstractRMTWicketIntegrationTests {
@Test(expectedExceptions = {PageSerializationException.class })
public void testPageSerializationValidatorDetectsEntity() {
wicketTester.startComponentInPage(new TestPanel(Model.of(new Club("foobar"))));
}
@Test(expectedExceptions = {PageSerializationException.class })
public void testPageSerializationValidatorDetectsEntityInSubpackage() {
wicketTester.startComponentInPage(new TestPanel(Model.of(new Match(new Club("foobar")))));
}
@Test
public void testPageSerializationValidator() {
wicketTester.startComponentInPage(new TestPanel(Model.of(new Password(1L))));
}
public static class TestPanel extends BasePanel {
public TestPanel(IModel<?> model) {
super(model);
}
@Override
public Markup getAssociatedMarkup() {
return Markup.of("<wicket:panel></wicket:panel>");
}
}
}