[richfaces-svn-commits] JBoss Rich Faces SVN: r9209 - in trunk/test-applications/seleniumTest/src: main/webapp/pages/actionParam and 2 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Wed Jun 25 05:10:49 EDT 2008


Author: andrei_exadel
Date: 2008-06-25 05:10:49 -0400 (Wed, 25 Jun 2008)
New Revision: 9209

Modified:
   trunk/test-applications/seleniumTest/src/main/java/org/ajax4jsf/bean/A4JActionParam.java
   trunk/test-applications/seleniumTest/src/main/webapp/pages/actionParam/actionParam.xhtml
   trunk/test-applications/seleniumTest/src/test/java/org/richfaces/SeleniumTestBase.java
   trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/AjaxActionParameterTest.java
Log:
action parameter test refactoring

Modified: trunk/test-applications/seleniumTest/src/main/java/org/ajax4jsf/bean/A4JActionParam.java
===================================================================
--- trunk/test-applications/seleniumTest/src/main/java/org/ajax4jsf/bean/A4JActionParam.java	2008-06-25 09:09:54 UTC (rev 9208)
+++ trunk/test-applications/seleniumTest/src/main/java/org/ajax4jsf/bean/A4JActionParam.java	2008-06-25 09:10:49 UTC (rev 9209)
@@ -13,23 +13,40 @@
 	
 	private static final String PARAMETER_VALUE = "Action Parameter";
 	
+	public static class ERRORS {
+		public static final String NO_PARAM = "1"; 
+		
+		public static final String INVALID_VALUE = "2";
+		
+		public static final String NOT_ASSIGNED = "3";
+	}
+	
 	private String parameterName;
 	
 	private String parameterValue;
 	
+	private String errorMessage = null;
+	
 	public void listener(ActionEvent event) {
 		FacesContext context = FacesContextImpl.getCurrentInstance();
 		Map<String, String> p = context.getExternalContext().getRequestParameterMap();
-		if (p.get(PARAMETER_NAME) != null && p.get(PARAMETER_NAME).equals(PARAMETER_VALUE)) {
+		if (p.get(PARAMETER_NAME) == null) {
+			errorMessage = ERRORS.NO_PARAM;
+		} else if (!PARAMETER_VALUE.equals(p.get(PARAMETER_NAME))) {
+			errorMessage = ERRORS.INVALID_VALUE;
+		} else if (parameterValue == null) {
+			errorMessage = ERRORS.NOT_ASSIGNED;
+		} else {
 			parameterName = PARAMETER_NAME;
 		}
+		
 	}
 
 	/**
 	 * @return the parameter
 	 */
 	public String getParameter() {
-		return (parameterName != null || parameterValue!=null) ? (parameterName + "='" + parameterValue + "'") : "";
+		return (errorMessage == null && (parameterName != null || parameterValue!=null)) ? (parameterName + "='" + parameterValue + "'") : "";
 	}
 
 	/**

Modified: trunk/test-applications/seleniumTest/src/main/webapp/pages/actionParam/actionParam.xhtml
===================================================================
--- trunk/test-applications/seleniumTest/src/main/webapp/pages/actionParam/actionParam.xhtml	2008-06-25 09:09:54 UTC (rev 9208)
+++ trunk/test-applications/seleniumTest/src/main/webapp/pages/actionParam/actionParam.xhtml	2008-06-25 09:10:49 UTC (rev 9209)
@@ -11,20 +11,25 @@
 		
 	</ui:define>
 	<ui:define name="component">
+	<script type="text/javascript">
+		function _getValue() {
+			return "Action Parameter";
+		}
+	</script>
 	
 	<table style="width: 600px"><tr>
 		<td><b>Parameter:</b></td>
 		<td><h:outputText style="color: green" value="#{actionParam.parameter}" id="_parameter"></h:outputText></td>
 	</tr></table>
 		<h:form id="_form1">
-			<a4j:commandLink value="Ajax Submit" id="ajaxSubmit" reRender="_parameter" actionListener="#{actionParam.listener}">
-				<a4j:actionparam assignTo="#{actionParam.parameterValue}" name="param" value="Action Parameter"></a4j:actionparam>
+			<a4j:commandLink value="Ajax Submit" id="ajaxSubmit" reRender="_parameter">
+				<a4j:actionparam assignTo="#{actionParam.parameterValue}" actionListener="#{actionParam.listener}" name="param" value="_getValue()"  noEscape="true"></a4j:actionparam>
 			</a4j:commandLink>
 		</h:form>
 		
 		<h:form id="_form2">
-			<h:commandLink value="Html Submit" id="htmlSubmit" actionListener="#{actionParam.listener}">
-				<a4j:actionparam assignTo="#{actionParam.parameterValue}" name="param" value="Action Parameter"></a4j:actionparam>
+			<h:commandLink value="Html Submit" id="htmlSubmit">
+				<a4j:actionparam assignTo="#{actionParam.parameterValue}"  actionListener="#{actionParam.listener}" name="param" value="Action Parameter"></a4j:actionparam>
 			</h:commandLink>
 		</h:form>
 	</ui:define>

Modified: trunk/test-applications/seleniumTest/src/test/java/org/richfaces/SeleniumTestBase.java
===================================================================
--- trunk/test-applications/seleniumTest/src/test/java/org/richfaces/SeleniumTestBase.java	2008-06-25 09:09:54 UTC (rev 9208)
+++ trunk/test-applications/seleniumTest/src/test/java/org/richfaces/SeleniumTestBase.java	2008-06-25 09:10:49 UTC (rev 9209)
@@ -192,13 +192,26 @@
      *
      * @param message
      */
-    public void writeStatus(String message) {
+    public void writeStatus(String message, boolean isError) {
         message = message.replace("'", "\\'");
         StringBuffer buffer = new StringBuffer("writeStatus('");
         buffer.append(message);
-        buffer.append("')");
+        if (!isError) {
+        	buffer.append("')");
+        }else {
+        	buffer.append("',true)");
+        }
         runScript(buffer.toString());
     }
+    
+    /**
+     * Writes status message on client side
+     *
+     * @param message
+     */
+    public void writeStatus(String message) {
+    	writeStatus(message, false);
+    }
 
     /**
      * ReRenders the component

Modified: trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/AjaxActionParameterTest.java
===================================================================
--- trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/AjaxActionParameterTest.java	2008-06-25 09:09:54 UTC (rev 9208)
+++ trunk/test-applications/seleniumTest/src/test/java/org/richfaces/testng/AjaxActionParameterTest.java	2008-06-25 09:10:49 UTC (rev 9209)
@@ -1,5 +1,6 @@
 package org.richfaces.testng;
 
+import org.ajax4jsf.bean.A4JActionParam;
 import org.ajax4jsf.template.Template;
 import org.richfaces.RichSeleniumTest;
 import org.richfaces.SeleniumTestBase;
@@ -46,37 +47,49 @@
 		_testAjaxCommandLinkComponent(Template.DATA_TABLE);
 	}
 	
+	/**
+	 * Tests ajax action parameter component
+	 * @param template
+	 */
 	private void _testAjaxCommandLinkComponent(Template template) {
 		renderPage(template);
 		String parentId = getParentId();
+		String parameter = null;
 		
 		String paramID = parentId + "_parameter";
 		String ajaxButttonID = parentId + "_form1:ajaxSubmit";
 		String htmlButttonID = parentId + "_form2:htmlSubmit";
 		
+		// test ajax submit
 		clickById(ajaxButttonID);
 		waitForAjaxCompletion();
+		parameter = getTextById(paramID);
+		checkParameter(parameter);
 		
-		String parameter = getTextById(paramID);
-		if (parameter == null) {
-			writeStatus("<a4j:actionParameter> failed. Parameter has been not sent with ajax request.");
-			Assert.fail("<a4j:actionParameter> failed. Parameter has been not sent with ajax request.");
-		} else if (parameter != null && parameter.equals("param='null'")) {
-			writeStatus("<a4j:actionParameter> failed. Parameter value has been not assigned to bean");
-			Assert.fail("<a4j:actionParameter> failed. Parameter value has been not assigned to bean");
-		} else {
-			writeStatus("<a4j:actionParameter> passed successfully");
-		}
 		
+		// test html submit
 		clickCommandAndWait(htmlButttonID);
-		
 		parameter = getTextById(paramID);
-		if (parameter == null) {
-			writeStatus("<a4j:actionParameter> failed. Parameter has been not sent with ajax request.");
+		checkParameter(parameter);
+	}
+	
+	/**
+	 * Checks action parameter
+	 * @param parameter - Action Parameter value 
+	 */
+	private void checkParameter (String parameter) {
+		if ("".equals(parameter)) {
+			writeStatus("<a4j:actionParameter> failed. ActionListener skipped.", true);
+			Assert.fail("<a4j:actionParameter> failed. ActionListener skipped.");
+		} else if (parameter.equals(A4JActionParam.ERRORS.NO_PARAM)) {
+			writeStatus("<a4j:actionParameter> failed. Parameter has been not sent with ajax request.", true);
 			Assert.fail("<a4j:actionParameter> failed. Parameter has been not sent with ajax request.");
-		} else if (parameter != null && parameter.equals("param='null'")) {
-			writeStatus("<a4j:actionParameter> failed. Parameter value has been not assigned to bean");
+		} else if (parameter.equals(A4JActionParam.ERRORS.NOT_ASSIGNED)) {
+			writeStatus("<a4j:actionParameter> failed. Parameter value has been not assigned to bean", true);
 			Assert.fail("<a4j:actionParameter> failed. Parameter value has been not assigned to bean");
+		} else if (parameter.equals(A4JActionParam.ERRORS.INVALID_VALUE)) {
+			writeStatus("<a4j:actionParameter> failed. Parameter value is incorrect", true);
+			Assert.fail("<a4j:actionParameter> failed. Parameter value is incorrect");
 		} else {
 			writeStatus("<a4j:actionParameter> passed successfully");
 		}




More information about the richfaces-svn-commits mailing list