Example #1
0
  @Test
  public void testSubmitInvalidXml() {
    PageParameters pageParameters = new PageParameters();
    pageParameters.set(VIEW.toString(), "xml");
    pageParameters.set(EDIT_MODE.toString(), true);
    pageParameters.set(CURRENT_UUID.toString(), shsProduct.getUuid());

    tester.startPage(EditProductPage.class, pageParameters);
    FormTester formTester = tester.newFormTester("productPanel:productForm");
    formTester.setValue("control.xml:xml", "Not xml");
    formTester.submitLink("submit", false);

    tester.assertRenderedPage(EditProductPage.class);

    tester.assertErrorMessages("The supplied product xml is invalid");
  }
Example #2
0
  @Test
  public void testEditProductXmlView() {
    PageParameters pageParameters = new PageParameters();
    pageParameters.set(VIEW.toString(), "xml");
    pageParameters.set(EDIT_MODE.toString(), true);
    pageParameters.set(CURRENT_UUID.toString(), shsProduct.getUuid());

    tester.startPage(EditProductPage.class, pageParameters);
    FormTester formTester = tester.newFormTester("productPanel:productForm");
    shsProduct.setCommonName("New common name");
    formTester.setValue("control.xml:xml", productMarshaller.marshal(shsProduct));
    formTester.submitLink("submit", false);

    tester.assertRenderedPage(ProductPage.class);

    tester.assertNoErrorMessage();
  }
Example #3
0
  @Test
  public void testChangeUUIDXmlView() {
    PageParameters pageParameters = new PageParameters();
    pageParameters.set(VIEW.toString(), "xml");
    pageParameters.set(EDIT_MODE.toString(), true);
    pageParameters.set(CURRENT_UUID.toString(), shsProduct.getUuid());

    tester.startPage(EditProductPage.class, pageParameters);
    FormTester formTester = tester.newFormTester("productPanel:productForm");
    shsProduct.setUuid(UUID.randomUUID().toString());
    formTester.setValue("control.xml:xml", productMarshaller.marshal(shsProduct));
    formTester.submitLink("submit", false);

    tester.assertRenderedPage(EditProductPage.class);

    tester.assertErrorMessages(
        "UUID must not be updated when editing an existing product. Original uuid "
            + ObjectMother.DEFAULT_PRODUCT_ID);
  }
Example #4
0
  @Test
  public void testRenderEditXmlView() {
    PageParameters pageParameters = new PageParameters();
    pageParameters.set(VIEW.toString(), "xml");
    pageParameters.set(EDIT_MODE.toString(), true);
    pageParameters.set(CURRENT_UUID.toString(), shsProduct.getUuid());

    tester.startPage(EditProductPage.class, pageParameters);

    tester.assertNoErrorMessage();
    tester.assertComponent("productPanel:feedback", FeedbackPanel.class);
    tester.assertComponent("productPanel:productForm", Form.class);
    tester.assertComponent("productPanel:productForm:uuid", HiddenField.class);
    tester.assertComponent("productPanel:productForm:control.xml:xml", TextArea.class);

    final TextArea<String> xmlField =
        (TextArea<String>)
            tester.getComponentFromLastRenderedPage("productPanel:productForm:control.xml:xml");
    assertThat(xmlField.getValue(), containsString(shsProduct.getUuid()));
  }
Example #5
0
  @Test
  @SuppressWarnings("unchecked")
  public void testRenderEdit() {
    PageParameters pageParameters = new PageParameters();
    pageParameters.set(CURRENT_UUID.toString(), shsProduct.getUuid());
    pageParameters.set(EDIT_MODE.toString(), true);
    tester.startPage(EditProductPage.class, pageParameters);

    tester.assertRenderedPage(EditProductPage.class);

    tester.assertNoErrorMessage();
    tester.assertComponent("productPanel:feedback", FeedbackPanel.class);
    tester.assertComponent("productPanel:productForm", Form.class);

    tester.assertComponent("productPanel:productForm:control.uuid:uuid", TextField.class);

    final TextField<String> uuidField =
        (TextField<String>)
            tester.getComponentFromLastRenderedPage("productPanel:productForm:control.uuid:uuid");
    assertEquals(uuidField.getModelObject(), shsProduct.getUuid());
    assertFalse(uuidField.isEnabled(), "uuid was not disabled when editing an existing product");
  }