Author: abelevich
Date: 2009-02-24 12:46:46 -0500 (Tue, 24 Feb 2009)
New Revision: 12732
Modified:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/TogglePanelTest.java
Log:
Modified:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/TogglePanelTest.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/TogglePanelTest.java 2009-02-24
17:45:43 UTC (rev 12731)
+++
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/TogglePanelTest.java 2009-02-24
17:46:46 UTC (rev 12732)
@@ -20,22 +20,29 @@
*/
package org.richfaces.testng;
+import java.util.HashMap;
+import java.util.Map;
+
import org.ajax4jsf.template.Template;
+import org.richfaces.AutoTester;
import org.richfaces.SeleniumTestBase;
import org.testng.annotations.Test;
public class TogglePanelTest extends SeleniumTestBase {
private static final String RESET_METHOD = "#{panelBean.cleanValues}";
+
+ private final static String CHILD_PROCESSING_TEST_URL =
"pages/togglePanel/togglePanelChildProcessingTest.xhtml";
+
@Test
public void testTogglePanelComponentAjaxMode(Template template) {
renderPage(template, RESET_METHOD);
- String parentId = getParentId() + "_form:";
+ String parentId = getParentId() + "mainForm:";
- String inputId = parentId + "_value";
- String outputId = parentId + "_value2";
+ String inputId = parentId + "value";
+ String outputId = parentId + "value2";
String controlNext = parentId + "ajax_next";
String controlOne = parentId + "ajax_one";
@@ -72,10 +79,10 @@
public void testTogglePanelComponentServerMode(Template template) {
renderPage(template, RESET_METHOD);
- String parentId = getParentId() + "_form:";
+ String parentId = getParentId() + "mainForm:";
- String inputId = parentId + "_value";
- String outputId = parentId + "_value2";
+ String inputId = parentId + "value";
+ String outputId = parentId + "value2";
String controlNext = parentId + "server_next";
String controlOne = parentId + "server_one";
@@ -111,7 +118,7 @@
public void testTogglePanelComponentClientMode(Template template) {
renderPage(template, RESET_METHOD);
- String parentId = getParentId() + "_form:";
+ String parentId = getParentId() + "mainForm:";
String controlNext = parentId + "client_next";
String controlOne = parentId + "client_one";
@@ -136,10 +143,152 @@
AssertVisible(twoFacet, "State 'one' has to give place to state
'two'");
AssertNotVisible(oneFacet, "Both of 'one' and 'two' states
were rendered for client toggle panel.");
}
-
+
+ @Test
+ public void testRendered(Template template) {
+ AutoTester autoTester = getAutoTester(this);
+ autoTester.renderPage(template, null);
+ autoTester.testRendered();
+ }
+
+ @Test
+ public void testStandardAttributes(Template template) {
+ AutoTester autoTester = getAutoTester(this);
+ autoTester.renderPage(template, null);
+ Map <String, String> styleAttributes = new HashMap<String, String>();
+ styleAttributes.put("width", "200px");
+ styleAttributes.put("background-color", "blue");
+ styleAttributes.put("color", "yellow");
+ autoTester.testStyleAndClasses(new String[]{"className"},
styleAttributes);
+ autoTester.testHTMLEvents();
+ }
+
+ @Test
+ public void testWithExternalValidationFailure(Template template) {
+ AutoTester autoTester = getAutoTester(this);
+ autoTester.renderPage(template, null);
+ writeStatus("Check component in case of external validation failure:
listeners are not invoked, model is not updated");
+ autoTester.testExtrenalValidationFailure();
+ }
+
+ @Test
+ public void testImmediate(Template template) {
+ AutoTester autoTester = getAutoTester(this);
+ autoTester.renderPage(template, null);
+ autoTester.testImmediate(false);
+ }
+
+ @Test
+ public void testImmediateWithExternalValidationFailed(Template template) {
+ AutoTester tester = getAutoTester(this);
+ tester.renderPage(template, RESET_METHOD);
+ writeStatus("Test immediate attribute with external validation
failed");
+ tester.testImmediateWithExternalValidationFailed(false);
+ }
+
+ @Test
+ public void testChildProcessingAjax(Template template) {
+ renderPage(CHILD_PROCESSING_TEST_URL, template,
"#{panelBean.reset2Ajax}");
+
+ writeStatus("Check children processing for ajax mode");
+
+ String parentId = getParentId() + "mainForm:";
+ String resultId = parentId + "_result";
+ String child = parentId + "_child";
+ String ajaxButton = parentId + "_ajax_submit";
+ String serverButton = parentId + "_server_submit";
+ String toggleControl = parentId + "_ajax_switch";
+
+ clickAjaxCommandAndWait(ajaxButton);
+ AssertTextEquals(resultId, "1", "Panel is server-aware and closed!
Invalid child components must not be processed");
+
+ clickCommandAndWait(serverButton);
+ AssertTextEquals(resultId, "2", "Panel is server-aware and closed!
Invalid child components must not be processed");
+
+ clickAjaxCommandAndWait(toggleControl);
+ AssertTextEquals(resultId, "2", "Panel is server-aware and closed!
Invalid child components must not be processed");
+
+ type(child, "valid");
+
+ clickAjaxCommandAndWait(ajaxButton);
+ AssertTextEquals(resultId, "3", "Panel is server-aware and open!
Invalid child components must be processed");
+
+ clickCommandAndWait(serverButton);
+ AssertTextEquals(resultId, "4", "Panel is server-aware and open!
Invalid child components must be processed");
+ }
+
+ @Test
+ public void testChildProcessingServer(Template template) {
+ renderPage(CHILD_PROCESSING_TEST_URL, template,
"#{panelBean.reset2Server}");
+
+ writeStatus("Check children processing for server mode");
+
+ String parentId = getParentId() + "mainForm:";
+ String resultId = parentId + "_result";
+ String child = parentId + "_child";
+ String ajaxButton = parentId + "_ajax_submit";
+ String serverButton = parentId + "_server_submit";
+ String toggleControl = parentId + "_ajax_switch";
+
+ clickAjaxCommandAndWait(ajaxButton);
+ AssertTextEquals(resultId, "1", "Panel is server-aware and closed!
Invalid child components must not be processed");
+
+ clickCommandAndWait(serverButton);
+ AssertTextEquals(resultId, "2", "Panel is server-aware and closed!
Invalid child components must not be processed");
+
+ clickCommandAndWait(toggleControl);
+ AssertTextEquals(resultId, "2", "Panel is server-aware and closed!
Invalid child components must not be processed");
+
+ type(child, "valid");
+
+ clickAjaxCommandAndWait(ajaxButton);
+ AssertTextEquals(resultId, "3", "Panel is server-aware and open!
Invalid child components must be processed");
+
+ clickCommandAndWait(serverButton);
+ AssertTextEquals(resultId, "4", "Panel is server-aware and open!
Invalid child components must be processed");
+
+ }
+
+ @Test
+ public void testChildProcessingClient(Template template) {
+ renderPage(CHILD_PROCESSING_TEST_URL, template,
"#{panelBean.reset2Client}");
+
+ writeStatus("Check children processing for client mode");
+
+ String parentId = getParentId() + "mainForm:";
+ String resultId = parentId + "_result";
+ String child = parentId + "_child";
+ String ajaxButton = parentId + "_ajax_submit";
+ String serverButton = parentId + "_server_submit";
+ String toggleControl = parentId + "_ajax_switch";
+
+ clickAjaxCommandAndWait(ajaxButton);
+ AssertTextEquals(resultId, "0", "Panel is server-aware and closed!
Invalid child components must not be processed");
+
+ clickCommandAndWait(serverButton);
+ AssertTextEquals(resultId, "0", "Panel is server-aware and closed!
Invalid child components must not be processed");
+
+ clickById(toggleControl);
+ AssertTextEquals(resultId, "0", "Panel is server-aware and closed!
Invalid child components must not be processed");
+
+ type(child, "valid");
+
+ clickAjaxCommandAndWait(ajaxButton);
+ AssertTextEquals(resultId, "1", "Panel is server-aware and open!
Invalid child components must be processed");
+
+ clickCommandAndWait(serverButton);
+ AssertTextEquals(resultId, "2", "Panel is server-aware and open!
Invalid child components must be processed");
+
+ }
+
@Override
public String getTestUrl() {
return "pages/togglePanel/togglePanelTest.xhtml";
}
-
+
+ @Override
+ public String getAutoTestUrl() {
+ return "pages/togglePanel/togglePanelAutoTest.xhtml";
+ }
+
}