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");
}
Show replies by date