You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/05/01 06:11:31 UTC

[40/50] [abbrv] openmeetings git commit: [OPENMEETINGS-816] first step to sign-up test using wicket tester

[OPENMEETINGS-816] first step to sign-up test using wicket tester


Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/e9102792
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/e9102792
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/e9102792

Branch: refs/heads/3.1.x
Commit: e910279241b83065eb35ad79e1898543bef75241
Parents: d7b6df4
Author: Maxim Solodovnik <so...@apache.org>
Authored: Mon Jan 23 15:38:29 2017 +0000
Committer: Maxim Solodovnik <so...@apache.org>
Committed: Mon Jan 23 15:38:29 2017 +0000

----------------------------------------------------------------------
 .../openmeetings/test/AbstractWicketTester.java | 21 +++++++++++++++++
 .../apache/openmeetings/test/web/LoginUI.java   | 24 +++++++++++++++++---
 2 files changed, 42 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/e9102792/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
index 3e05b2f..8775f82 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractWicketTester.java
@@ -22,11 +22,18 @@ import static org.apache.openmeetings.db.util.ApplicationHelper.getWicketTester;
 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 extends AbstractJUnitDefaults {
 			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;
+	}
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/e9102792/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
index 7173add..3abf7c9 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
@@ -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 AbstractWicketTester {
 		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());
 	}
 }