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

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Fri Jan 23 08:11:28 EST 2009


Author: alevkovsky
Date: 2009-01-23 08:11:28 -0500 (Fri, 23 Jan 2009)
New Revision: 12385

Added:
   trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/toolBar/toolBarGroupTest.xhtml
Modified:
   trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/ToolBarTestBean.java
   trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/toolBar/toolBarTest.xhtml
   trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/SeleniumTestBase.java
   trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/ToolBarTest.java
Log:
Tool bar selenium tests

Modified: trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/ToolBarTestBean.java
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/ToolBarTestBean.java	2009-01-23 13:03:54 UTC (rev 12384)
+++ trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/ToolBarTestBean.java	2009-01-23 13:11:28 UTC (rev 12385)
@@ -25,6 +25,18 @@
     private String groupSeparator = "";
 
     private String groupItemSeparator = "";
+    
+    private String location = "left";
+    
+    private boolean toolBarGroupRendered = true;
+    
+    public void reset(){
+    	toolBarGroupRendered = true;
+    	groupSeparator = "";
+    	groupItemSeparator = "";
+    	location = "left";
+    }
+    
 
     /**
      * Gets value of groupSeparator field.
@@ -63,4 +75,38 @@
     public void setGroupItemSeparator(String groupItemSeparator) {
         this.groupItemSeparator = groupItemSeparator;
     }
+
+
+	/**
+	 * @return the toolBarGroupRendered
+	 */
+	public boolean isToolBarGroupRendered() {
+		return toolBarGroupRendered;
+	}
+
+
+	/**
+	 * @param toolBarGroupRendered the toolBarGroupRendered to set
+	 */
+	public void setToolBarGroupRendered(boolean toolBarGroupRendered) {
+		this.toolBarGroupRendered = toolBarGroupRendered;
+	}
+
+
+	/**
+	 * @return the location
+	 */
+	public String getLocation() {
+		return location;
+	}
+
+
+	/**
+	 * @param location the location to set
+	 */
+	public void setLocation(String location) {
+		this.location = location;
+	}
+	
+	
 }

Added: trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/toolBar/toolBarGroupTest.xhtml
===================================================================
(Binary files differ)


Property changes on: trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/toolBar/toolBarGroupTest.xhtml
___________________________________________________________________
Name: svn:mime-type
   + application/xhtml+xml

Modified: trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/toolBar/toolBarTest.xhtml
===================================================================
(Binary files differ)

Modified: trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/SeleniumTestBase.java
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/SeleniumTestBase.java	2009-01-23 13:03:54 UTC (rev 12384)
+++ trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/SeleniumTestBase.java	2009-01-23 13:11:28 UTC (rev 12385)
@@ -1146,7 +1146,7 @@
      * @param message - error message to insert in log 
      */
     public void assertColumnsCount(int i, String tableId, String mesage) {
-        StringBuffer script = new StringBuffer("$('");
+        StringBuffer script = new StringBuffer("document.getElementById('");
         script.append(tableId);
         script.append("').rows[0].cells.length");
 

Modified: trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/ToolBarTest.java
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/ToolBarTest.java	2009-01-23 13:03:54 UTC (rev 12384)
+++ trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/ToolBarTest.java	2009-01-23 13:11:28 UTC (rev 12385)
@@ -29,13 +29,15 @@
 import org.testng.annotations.Test;
 
 public class ToolBarTest extends SeleniumTestBase {
+
+	private final static String TOOL_BAR_GROUP_TEST_URL = "pages/toolBar/toolBarGroupTest.xhtml"; 
 	
 	static final Map<String, String> TOOL_BAR_STYLES = new  HashMap<String, String>();
 	static {
 		TOOL_BAR_STYLES.put("font-size", "16px");
 	}
 
-    private static final String TOOLBAR = "toolbar";
+    
 
     /* Tab panel group/item separator constants */
     private final static String LINE_SEPARATOR = "line";
@@ -47,33 +49,99 @@
     private final static String SQUARE_SEPARATOR = "square";
 
     private final static String NONE_SEPARATOR = "none";
+    
+    private final static String RESET_METHOD = "#{toolBarBean.reset}";
 
+    private String formId;
+    private String toolBarId;
+    private String groupContentPrefix;
+    private String renderedControl;
+    private String submitControl;
+    
+    private void initIds(String parentId){
+    	formId = parentId + "_form:";
+    	toolBarId = formId + "toolBar";
+    	groupContentPrefix = formId + "groupContent";
+    	renderedControl = formId + "rendered";
+    	submitControl = formId + "submit";
+    }
+    
     @Test
     public void testToolBarComponentLayout(Template template) {
         renderPage(template);
 
         writeStatus("Check component layout");
 
-        String id = getParentId() + "_form:";
+        initIds(getParentId());
 
-        writeStatus("Switch toolbar group separator");
+        AssertPresent(toolBarId, "Tool bar component not present on the page");
+        AssertVisible(toolBarId, "Tool bar component not visible on the page");
+        assertClassNames(toolBarId, new String[]{"rich-toolbar"}, "Tool bar component not have valid style class", true);
+        
+        assertColumnsCount(8, toolBarId, "Tool bar should contains 8 elements");
+    }
+    
+    @Test
+    public void testSeparators(Template template) {
+		renderPage(template, RESET_METHOD);
+		initIds(getParentId());
 
-        clickAjaxCommandAndWait(id + "gs_" + LINE_SEPARATOR);
-        clickAjaxCommandAndWait(id + "gs_" + DISC_SEPARATOR);
-        clickAjaxCommandAndWait(id + "gs_" + GRID_SEPARATOR);
-        clickAjaxCommandAndWait(id + "gs_" + SQUARE_SEPARATOR);
-        clickAjaxCommandAndWait(id + "gs_" + NONE_SEPARATOR);
+		//test group separators
+		assertColumnsCount(8, toolBarId, "Tool bar should contains 8 elements");
 
-        writeStatus("Switch toolbar group item separator");
+		clickAjaxCommandAndWait(formId + "gs_" + LINE_SEPARATOR);
+		assertColumnsCount(9, toolBarId, "Tool bar should contains 9 elements");
+		
+		clickAjaxCommandAndWait(formId + "gs_" + DISC_SEPARATOR);
+		assertColumnsCount(9, toolBarId, "Tool bar should contains 9 elements");
+		
+		clickAjaxCommandAndWait(formId + "gs_" + GRID_SEPARATOR);
+		assertColumnsCount(9, toolBarId, "Tool bar should contains 9 elements");
+		
+		clickAjaxCommandAndWait(formId + "gs_" + SQUARE_SEPARATOR);
+		assertColumnsCount(9, toolBarId, "Tool bar should contains 9 elements");
+		
+		clickAjaxCommandAndWait(formId + "gs_" + NONE_SEPARATOR);
+		assertColumnsCount(8, toolBarId, "Tool bar should contains 8 elements");
 
-        clickAjaxCommandAndWait(id + "gis_" + LINE_SEPARATOR);
-        clickAjaxCommandAndWait(id + "gis_" + DISC_SEPARATOR);
-        clickAjaxCommandAndWait(id + "gis_" + GRID_SEPARATOR);
-        clickAjaxCommandAndWait(id + "gis_" + SQUARE_SEPARATOR);
-        clickAjaxCommandAndWait(id + "gis_" + NONE_SEPARATOR);
-    }
+		//test items separators
+		
+		clickAjaxCommandAndWait(formId + "gis_" + LINE_SEPARATOR);
+		assertColumnsCount(12, toolBarId, "Tool bar should contains 12 elements");
+		
+        clickAjaxCommandAndWait(formId + "gis_" + DISC_SEPARATOR);
+        assertColumnsCount(12, toolBarId, "Tool bar should contains 12 elements");
+        
+        clickAjaxCommandAndWait(formId + "gis_" + GRID_SEPARATOR);
+        assertColumnsCount(12, toolBarId, "Tool bar should contains 12 elements");
+        
+        clickAjaxCommandAndWait(formId + "gis_" + SQUARE_SEPARATOR);
+        assertColumnsCount(12, toolBarId, "Tool bar should contains 12 elements");
+        
+        clickAjaxCommandAndWait(formId + "gis_" + NONE_SEPARATOR);
+        assertColumnsCount(8, toolBarId, "Tool bar should contains 8 elements");
+	}
     
     @Test
+    public void testItemsAlignment(Template template) {
+		renderPage(TOOL_BAR_GROUP_TEST_URL, template, RESET_METHOD);
+		initIds(getParentId());
+
+		AssertTextEquals(groupContentPrefix + "1", "Group1", "Toolbar group should present on page");
+		AssertTextEquals(groupContentPrefix + "2", "Group1", "Toolbar group should present on page");
+		AssertTextEquals(groupContentPrefix + "3", "Group1", "Toolbar group should present on page");
+		assertAttributeContains(getToolBarTdXpath(toolBarId, 4), "style", "width: 100%", null);
+		
+		clickAjaxCommandAndWait(formId + "location");
+		
+		assertAttributeContains(getToolBarTdXpath(toolBarId, 1), "style", "width: 100%", null);
+		AssertTextEquals(groupContentPrefix + "1", "Group1", "Toolbar group should present on page");
+		AssertTextEquals(groupContentPrefix + "2", "Group1", "Toolbar group should present on page");
+		AssertTextEquals(groupContentPrefix + "3", "Group1", "Toolbar group should present on page");
+		
+	}
+    
+    @Test
     public void testRendered(Template template){
     	AutoTester tester = getAutoTester(this);
     	tester.renderPage(template, null);
@@ -89,7 +157,46 @@
     	tester.testStyleAndClasses(new String [] {"rich-toolbar", "styleClass"}, TOOL_BAR_STYLES);
     	tester.testHTMLEvents();
     }
+    
+    @Test
+    public void testToolBarGroupRendered(Template template){
+    	renderPage(TOOL_BAR_GROUP_TEST_URL, template, RESET_METHOD);
+    	initIds(getParentId());
+    	AssertPresent(groupContentPrefix + "1", "Toolbar group should present on page");
+    	AssertPresent(groupContentPrefix + "2", "Toolbar group should present on page");
+    	AssertPresent(groupContentPrefix + "3", "Toolbar group should present on page");
+    	AssertTextEquals(groupContentPrefix + "1", "Group1", "Toolbar group should present on page");
+		AssertTextEquals(groupContentPrefix + "2", "Group1", "Toolbar group should present on page");
+		AssertTextEquals(groupContentPrefix + "3", "Group1", "Toolbar group should present on page");
+    	clickById(renderedControl);
+    	clickCommandAndWait(submitControl);
+    	AssertNotPresent(groupContentPrefix + "1", "Toolbar group should not present on page");
+    	AssertNotPresent(groupContentPrefix + "2", "Toolbar group should not present on page");
+    	AssertNotPresent(groupContentPrefix + "3", "Toolbar group should not present on page");
+    	
+    }
+    
+    @Test
+    public void testToolBarGroupStylesAndClassesAndHtmlAttributes(Template template){
+    	renderPage(TOOL_BAR_GROUP_TEST_URL, template, RESET_METHOD);
+    	initIds(getParentId());
+    	AssertPresent(groupContentPrefix + "1", "Toolbar group should present on page");
+    	AssertPresent(groupContentPrefix + "2", "Toolbar group should present on page");
+    	AssertPresent(groupContentPrefix + "3", "Toolbar group should present on page");
+    	
+    	assertClassNames(getToolBarTdXpath(toolBarId, 1), new String[]{"styleClass"}, "styleClass attribute not work for Tool bar group", false);
+    	assertClassNames(getToolBarTdXpath(toolBarId, 2), new String[]{"styleClass"}, "styleClass attribute not work for Tool bar group", false);
+    	assertClassNames(getToolBarTdXpath(toolBarId, 3), new String[]{"styleClass"}, "styleClass attribute not work for Tool bar group", false);
+    	
+    	assertAttributeContains(getToolBarTdXpath(toolBarId, 1), "style", "font-size: 16px", null);
+    	assertAttributeContains(getToolBarTdXpath(toolBarId, 2), "style", "font-size: 16px", null);
+    	assertAttributeContains(getToolBarTdXpath(toolBarId, 3), "style", "font-size: 16px", null);
+    	
+    }
 
+    private String getToolBarTdXpath(String toolBarId, int item){
+    	return "//*[@id='" + toolBarId + "']/tbody/tr/td[" + item + "]";
+    }
 
     @Override
     public String getTestUrl() {




More information about the richfaces-svn-commits mailing list