I'm trying to write a test case in which I'm having onChange event for
the drop down. I also have textfield as well.
When I submit the form I don't get the value of the textfield.
But if I comment the onChange event call then I'm able to get the value
of the Text Field.


Any help...

 @Test
    public void testDummyPage() throws Exception
    {
        TestPage testPage = new TestPage("id");
        wicketTester.startPage(testPage);

        // assert rendered field components
        wicketTester.assertComponent("form:txtName", TextField.class);
        wicketTester.assertComponent("form:department",
DropDownChoice.class);
        wicketTester.assertComponent("form:employee",
DropDownChoice.class);

        FormTester formTester1 = wicketTester.newFormTester("form");
        formTester1.setValue("txtName", "test");
        formTester1.select("department", 0);


        wicketTester.executeAjaxEvent("form:department", "onchange");
        wicketTester.assertComponentOnAjaxResponse("form:employee");

        formTester1.select("employee", 1);

        formTester1.submit();

 
Assert.assertEquals(formTester1.getTextComponentValue("txtName"),
"test");

        DropDownChoice dropDownChoice = (DropDownChoice)
wicketTester.getComponentFromLastRenderedPage(
                "form:department");

        System.out.println(" dropDownChoice " +
dropDownChoice.getModelObjectAsString());
        System.out.println(" department " +
formTester1.getForm().get("department"));
        Assert.assertEquals((dropDownChoice.getModelObjectAsString()),
"HR");
    }

Reply via email to