Author: solomax
Date: Mon Jan 23 15:38:29 2017
New Revision: 1779945

URL: http://svn.apache.org/viewvc?rev=1779945&view=rev
Log:
[OPENMEETINGS-816] first step to sign-up test using wicket tester

Modified:
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
    
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
    
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java?rev=1779945&r1=1779944&r2=1779945&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
 Mon Jan 23 15:38:29 2017
@@ -22,11 +22,18 @@ import static org.apache.openmeetings.db
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
+import java.io.Serializable;
+import java.util.List;
+
 import org.apache.openmeetings.db.entity.user.User.Type;
 import org.apache.openmeetings.web.app.WebSession;
+import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.tester.WicketTester;
 import org.junit.After;
 
+import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog;
+import com.googlecode.wicket.jquery.ui.widget.dialog.ButtonAjaxBehavior;
+
 public class AbstractWicketTester extends AbstractJUnitDefaults {
        protected WicketTester tester;
 
@@ -53,4 +60,18 @@ public class AbstractWicketTester extend
                        tester.destroy();
                }
        }
+
+       public <T extends Serializable> ButtonAjaxBehavior 
getButtonBehavior(String path, String name) {
+               Args.notNull(path, "path");
+               Args.notNull(name, "name");
+               @SuppressWarnings("unchecked")
+               AbstractDialog<T> dialog = 
(AbstractDialog<T>)tester.getComponentFromLastRenderedPage(path);
+               List<ButtonAjaxBehavior> bl = 
dialog.getBehaviors(ButtonAjaxBehavior.class);
+               for (ButtonAjaxBehavior bb : bl) {
+                       if (name.equals(bb.getButton().getName())) {
+                               return bb;
+                       }
+               }
+               return null;
+       }
 }

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java?rev=1779945&r1=1779944&r2=1779945&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
 Mon Jan 23 15:38:29 2017
@@ -18,16 +18,20 @@
  */
 package org.apache.openmeetings.test.web;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 import org.apache.openmeetings.test.AbstractWicketTester;
-import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.pages.MainPage;
 import org.apache.openmeetings.web.pages.auth.SignInPage;
+import org.apache.wicket.feedback.ExactLevelFeedbackMessageFilter;
+import org.apache.wicket.feedback.FeedbackMessage;
 import org.apache.wicket.util.tester.FormTester;
 import org.junit.Test;
 
+import com.googlecode.wicket.jquery.ui.widget.dialog.ButtonAjaxBehavior;
+
 public class LoginUI extends AbstractWicketTester {
        @Test
        public void testValidLogin() {
@@ -53,7 +57,21 @@ public class LoginUI extends AbstractWic
                FormTester formTester = tester.newFormTester("signin:signin");
                formTester.submit("submit");
 
-               tester.assertErrorMessages(String.format("'%s' is required.", 
Application.getString(114))
-                               , String.format("'%s' is required.", 
Application.getString(115)));
+               assertEquals("There should be exactly 2 errors", 2,
+                               tester.getFeedbackMessages(new 
ExactLevelFeedbackMessageFilter(FeedbackMessage.ERROR)).size());
+       }
+
+
+       @Test
+       public void testEmptyRegister() {
+               tester.startPage(SignInPage.class);
+               tester.assertRenderedPage(SignInPage.class);
+
+               ButtonAjaxBehavior b = getButtonBehavior("signin", "register");
+               tester.executeBehavior(b);
+               FormTester formTester = tester.newFormTester("register:form");
+               formTester.submit("submit");
+               assertEquals("There should be exactly 7 errors", 7,
+                               tester.getFeedbackMessages(new 
ExactLevelFeedbackMessageFilter(FeedbackMessage.ERROR)).size());
        }
 }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java?rev=1779945&r1=1779944&r2=1779945&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
 Mon Jan 23 15:38:29 2017
@@ -22,11 +22,18 @@ import static org.apache.openmeetings.db
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
+import java.io.Serializable;
+import java.util.List;
+
 import org.apache.openmeetings.db.entity.user.User.Type;
 import org.apache.openmeetings.web.app.WebSession;
+import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.tester.WicketTester;
 import org.junit.After;
 
+import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog;
+import com.googlecode.wicket.jquery.ui.widget.dialog.ButtonAjaxBehavior;
+
 public class AbstractWicketTester extends AbstractJUnitDefaults {
        protected WicketTester tester;
 
@@ -53,4 +60,18 @@ public class AbstractWicketTester extend
                        tester.destroy();
                }
        }
+
+       public <T extends Serializable> ButtonAjaxBehavior 
getButtonBehavior(String path, String name) {
+               Args.notNull(path, "path");
+               Args.notNull(name, "name");
+               @SuppressWarnings("unchecked")
+               AbstractDialog<T> dialog = 
(AbstractDialog<T>)tester.getComponentFromLastRenderedPage(path);
+               List<ButtonAjaxBehavior> bl = 
dialog.getBehaviors(ButtonAjaxBehavior.class);
+               for (ButtonAjaxBehavior bb : bl) {
+                       if (name.equals(bb.getButton().getName())) {
+                               return bb;
+                       }
+               }
+               return null;
+       }
 }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java?rev=1779945&r1=1779944&r2=1779945&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
 Mon Jan 23 15:38:29 2017
@@ -18,16 +18,20 @@
  */
 package org.apache.openmeetings.test.web;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 import org.apache.openmeetings.test.AbstractWicketTester;
-import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.pages.MainPage;
 import org.apache.openmeetings.web.pages.auth.SignInPage;
+import org.apache.wicket.feedback.ExactLevelFeedbackMessageFilter;
+import org.apache.wicket.feedback.FeedbackMessage;
 import org.apache.wicket.util.tester.FormTester;
 import org.junit.Test;
 
+import com.googlecode.wicket.jquery.ui.widget.dialog.ButtonAjaxBehavior;
+
 public class LoginUI extends AbstractWicketTester {
        @Test
        public void testValidLogin() {
@@ -53,7 +57,21 @@ public class LoginUI extends AbstractWic
                FormTester formTester = tester.newFormTester("signin:signin");
                formTester.submit("submit");
 
-               tester.assertErrorMessages(String.format("'%s' is required.", 
Application.getString(114))
-                               , String.format("'%s' is required.", 
Application.getString(115)));
+               assertEquals("There should be exactly 2 errors", 2,
+                               tester.getFeedbackMessages(new 
ExactLevelFeedbackMessageFilter(FeedbackMessage.ERROR)).size());
+       }
+
+
+       @Test
+       public void testEmptyRegister() {
+               tester.startPage(SignInPage.class);
+               tester.assertRenderedPage(SignInPage.class);
+
+               ButtonAjaxBehavior b = getButtonBehavior("signin", "register");
+               tester.executeBehavior(b);
+               FormTester formTester = tester.newFormTester("register:form");
+               formTester.submit("submit");
+               assertEquals("There should be exactly 7 errors", 7,
+                               tester.getFeedbackMessages(new 
ExactLevelFeedbackMessageFilter(FeedbackMessage.ERROR)).size());
        }
 }

Modified: 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java?rev=1779945&r1=1779944&r2=1779945&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
 Mon Jan 23 15:38:29 2017
@@ -22,11 +22,18 @@ import static org.apache.openmeetings.db
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
+import java.io.Serializable;
+import java.util.List;
+
 import org.apache.openmeetings.db.entity.user.User.Type;
 import org.apache.openmeetings.web.app.WebSession;
+import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.tester.WicketTester;
 import org.junit.After;
 
+import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog;
+import com.googlecode.wicket.jquery.ui.widget.dialog.ButtonAjaxBehavior;
+
 public class AbstractWicketTester extends AbstractJUnitDefaults {
        protected WicketTester tester;
 
@@ -53,4 +60,18 @@ public class AbstractWicketTester extend
                        tester.destroy();
                }
        }
+
+       public <T extends Serializable> ButtonAjaxBehavior 
getButtonBehavior(String path, String name) {
+               Args.notNull(path, "path");
+               Args.notNull(name, "name");
+               @SuppressWarnings("unchecked")
+               AbstractDialog<T> dialog = 
(AbstractDialog<T>)tester.getComponentFromLastRenderedPage(path);
+               List<ButtonAjaxBehavior> bl = 
dialog.getBehaviors(ButtonAjaxBehavior.class);
+               for (ButtonAjaxBehavior bb : bl) {
+                       if (name.equals(bb.getButton().getName())) {
+                               return bb;
+                       }
+               }
+               return null;
+       }
 }

Modified: 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java?rev=1779945&r1=1779944&r2=1779945&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
 Mon Jan 23 15:38:29 2017
@@ -18,16 +18,20 @@
  */
 package org.apache.openmeetings.test.web;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 import org.apache.openmeetings.test.AbstractWicketTester;
-import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.pages.MainPage;
 import org.apache.openmeetings.web.pages.auth.SignInPage;
+import org.apache.wicket.feedback.ExactLevelFeedbackMessageFilter;
+import org.apache.wicket.feedback.FeedbackMessage;
 import org.apache.wicket.util.tester.FormTester;
 import org.junit.Test;
 
+import com.googlecode.wicket.jquery.ui.widget.dialog.ButtonAjaxBehavior;
+
 public class LoginUI extends AbstractWicketTester {
        @Test
        public void testValidLogin() {
@@ -53,7 +57,21 @@ public class LoginUI extends AbstractWic
                FormTester formTester = tester.newFormTester("signin:signin");
                formTester.submit("submit");
 
-               tester.assertErrorMessages(String.format("'%s' is required.", 
Application.getString(114))
-                               , String.format("'%s' is required.", 
Application.getString(115)));
+               assertEquals("There should be exactly 2 errors", 2,
+                               tester.getFeedbackMessages(new 
ExactLevelFeedbackMessageFilter(FeedbackMessage.ERROR)).size());
+       }
+
+
+       @Test
+       public void testEmptyRegister() {
+               tester.startPage(SignInPage.class);
+               tester.assertRenderedPage(SignInPage.class);
+
+               ButtonAjaxBehavior b = getButtonBehavior("signin", "register");
+               tester.executeBehavior(b);
+               FormTester formTester = tester.newFormTester("register:form");
+               formTester.submit("submit");
+               assertEquals("There should be exactly 7 errors", 7,
+                               tester.getFeedbackMessages(new 
ExactLevelFeedbackMessageFilter(FeedbackMessage.ERROR)).size());
        }
 }


Reply via email to