You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Anna Simbirtsev <as...@gmail.com> on 2010/08/12 17:23:56 UTC
Testing modal window
Hi,
I am trying to write a test case to test that the parent page gets updated
with new values once the modal window closes.
public class DataAddITCase extends AbstractITCase
{
public DataAddITCase()
{
super();
}
@Override
protected void signin()
{
super.signin("login", "password");
}
@Test
public void createData()
{
ModalWindow modalWindow = testModalWindow();
wicketTester.startPage(new AddDataPage(modalWindow));
buildTestForm();
wicketTester.executeAjaxEvent("myForm:submit", "onclick");
wicketTester.assertNoErrorMessage();
wicketTester.assertRenderedPage(Data.class);
Data mainPage = (Data) wicketTester
.getLastRenderedPage();
List<Object> objects =
(List<Object>)mainPage.getDefaultModelObject();
boolean found = false;
for (Object c : objects) {
if (c.getCode().equals("PP"))
found = true;
}
if (!found)
Assert.fail("Object PP was not added");*/
}
private void buildTestForm()
{
FormTester form = wicketTester.newFormTester("myForm");
form.setValue("code", "PP");
form.setValue("name", "PPPP");
}
private ModalWindow testModalWindow()
{
wicketTester.startPage(Data.class);
wicketTester.executeAjaxEvent("myForm:showModal1", "onclick");
wicketTester.assertNoErrorMessage();
wicketTester.assertRenderedPage(Data.class);
ModalWindow modalWindow = (ModalWindow) wicketTester
.getComponentFromLastRenderedPage("myForm:modal1");
Assert.assertTrue(modalWindow.isVisible());
return modalWindow;
}
}
The problem is after wicketTester.executeAjaxEvent("myForm:submit",
"onclick"); it does not come back to the parent page.
So wicketTester.assertRenderedPage(Data.class); fails.
How can I test that that data on the parent page is updated once the modal
window is closed?
Thanks