Author: dsvyatobatsko
Date: 2008-09-24 11:40:23 -0400 (Wed, 24 Sep 2008)
New Revision: 10549
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/graphValidator/graphValidatorTest.xhtml
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/GraphValidatorTest.java
Log:
GraphValidator test extension
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/graphValidator/graphValidatorTest.xhtml
===================================================================
(Binary files differ)
Modified:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/GraphValidatorTest.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/GraphValidatorTest.java 2008-09-24
13:53:10 UTC (rev 10548)
+++
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/GraphValidatorTest.java 2008-09-24
15:40:23 UTC (rev 10549)
@@ -6,11 +6,100 @@
public class GraphValidatorTest extends SeleniumTestBase {
+ private static final String NAME = "name";
+
+ private static final String AGE = "age";
+
+ private static final String EMAIL = "email";
+
+ private static final String ERR_MSG_POSTFIX = "_err_msg";
+
+ private static final String ALL_MSGS = "all_messages";
+
+ private static final String SAVE_BTN = "_save";
+
@Test
- public void testGraphValidatorComponent(Template template) {
+ public void testGraphValidatorComponentWithComponentSubtree(Template template) {
renderPage(template);
+
+ writeStatus("Check that components subtree confined by the component is
validated " +
+ "with Hibernate Validator properly");
+ String parentId = getParentId() + "_form:";
+
+ String tfNameId = parentId + NAME;
+ String tfEmailId = parentId + EMAIL;
+ String tfAgeId = parentId + AGE;
+
+ String tfNameErrMsg = tfNameId + ERR_MSG_POSTFIX;
+ String tfEmailErrMsg = tfEmailId + ERR_MSG_POSTFIX;
+ String tfAgeErrMsg = tfAgeId + ERR_MSG_POSTFIX;
+
+ String saveBtn = parentId + SAVE_BTN;
+
+ assertNotPresent(tfNameErrMsg);
+ assertNotPresent(tfEmailErrMsg);
+ assertNotPresent(tfAgeErrMsg);
+
+ writeStatus("Name must be between 3 and 12 at length. Type shorter
one");
+ type(tfNameId, "Mi");
+
+ writeStatus("Email must be an email. Type not a well-formed email");
+ type(tfEmailId, "notemail");
+
+ writeStatus("Age must be between 18 and 100. Type less than that");
+ type(tfAgeId, "3");
+
+ writeStatus("Try to save an input");
+ clickAjaxCommandAndWait(saveBtn);
+
+ assertPresent(tfNameErrMsg);
+ assertPresent(tfAgeErrMsg);
+ assertPresent(tfEmailErrMsg);
+
+ writeStatus("Correct the input and resubmit form. Error messages have to
disappear");
+
+ type(tfNameId, "Mick");
+ type(tfAgeId, "33");
+ type(tfEmailId, "email(a)ya.com");
+
+ writeStatus("Try to save an input once more");
+ clickAjaxCommandAndWait(saveBtn);
+
+ assertNotPresent(tfNameErrMsg);
+ assertNotPresent(tfAgeErrMsg);
+ assertNotPresent(tfEmailErrMsg);
+
}
+ @Test
+ public void testGraphValidatorComponentWithValueBoundToBean(Template template) {
+ renderPage(template);
+
+ writeStatus("Check that component validates a bean bound to component value
property. " +
+ "After model is updated the bean must be validated again.");
+
+ String parentId = getParentId() + "_form1:";
+
+ String firstCompId = parentId + "table:0:time";
+ String firstCompErrMsg = parentId + "table:0:time" + ERR_MSG_POSTFIX;
+ String saveBtn = parentId + SAVE_BTN;
+ String allMessages = parentId + ALL_MSGS;
+
+// writeStatus("Try to save an input. Model validation cannot be
passed");
+// clickAjaxCommandAndWait(saveBtn);
+//
+// AssertTextEquals(allMessages, "Invalid values: Please fill at least one
entry");
+
+ }
+
+ private void assertPresent(String id) {
+ AssertTextNotEquals(id, "", "Message [" + id + "] must
not be empty on the page");
+ }
+
+ private void assertNotPresent(String id) {
+ AssertTextEquals(id, "", "Message [" + id + "] must be
empty on the page");
+ }
+
@Override
public String getTestUrl() {
return "pages/graphValidator/graphValidatorTest.xhtml";