public void testRemoveLinks() { // print(tester.getLastRenderedPage(), true, true); tester.assertComponent("form", Form.class); tester.assertModelValue("form:panel:container:identifiers:listContainer:items:1:itemProperties:0:component:border:txt", "one"); tester.assertModelValue("form:panel:container:identifiers:listContainer:items:2:itemProperties:0:component:border:txt", "two"); // remove the first identifier tester.executeAjaxEvent("form:panel:container:identifiers:listContainer:items:1:itemProperties:2:component:remove", "onclick"); assertNull(tester.getLastRenderedPage().get("form:panel:container:identifiers:listContainer:items:1:itemProperties:0:component:border:txt")); tester.assertModelValue("form:panel:container:identifiers:listContainer:items:2:itemProperties:0:component:border:txt", "two"); // remove the second as well tester.executeAjaxEvent("form:panel:container:identifiers:listContainer:items:2:itemProperties:2:component:remove", "onclick"); assertNull(tester.getLastRenderedPage().get("form:panel:container:identifiers:listContainer:items:1:itemProperties:0:component:border:txt")); assertNull(tester.getLastRenderedPage().get("form:panel:container:identifiers:listContainer:items:2:itemProperties:0:component:border:txt")); // print(tester.getLastRenderedPage(), true, true); // now trigger the validation, we cannot be without spatial data identifiers tester.submitForm("form"); String error = new ParamResourceModel("UniqueResourceIdentifiersEditor.noSpatialDatasetIdentifiers", null).getString(); tester.assertErrorMessages(new String[] {error}); }
public void testNew() { final LayerInfo layer = getCatalog().getFactory().createLayer(); layer.setResource(getCatalog().getFactory().createFeatureType()); FormTestPage page = new FormTestPage(new ComponentBuilder() { public Component buildComponent(String id) { return new WMSLayerConfig(id, new Model(layer)); } } ); Component layerConfig = page.get("form:panel:styles:defaultStyle"); tester.startPage(page); tester.assertRenderedPage(FormTestPage.class); tester.assertComponent("form", Form.class); tester.assertComponent("form:panel:styles:defaultStyle", DropDownChoice.class); // check submitting like this will create errors, there is no selection tester.submitForm("form"); assertTrue(page.getSession().getFeedbackMessages().hasErrorMessageFor(layerConfig)); // now set something and check there are no messages this time page.getSession().getFeedbackMessages().clear(); FormTester ft = tester.newFormTester("form"); ft.select("panel:styles:defaultStyle", 0); ft.submit(); assertFalse(page.getSession().getFeedbackMessages().hasErrorMessageFor(layerConfig)); }