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/10/14 13:40:58 UTC

openmeetings git commit: [OPENMEETINGS-1714] basic tests for appointments

Repository: openmeetings
Updated Branches:
  refs/heads/master cec150c81 -> 3b16ec473


[OPENMEETINGS-1714] basic tests for appointments


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

Branch: refs/heads/master
Commit: 3b16ec4732429652f1ea85fe8df4679f906dffe6
Parents: cec150c
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Sat Oct 14 20:40:43 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Sat Oct 14 20:40:43 2017 +0700

----------------------------------------------------------------------
 .../db/dao/calendar/AppointmentDao.java         |  2 +-
 .../web/user/calendar/CalendarPanel.java        |  6 +-
 .../openmeetings/AbstractWicketTester.java      |  2 +
 .../apache/openmeetings/web/TestCalendar.java   | 79 ++++++++++++++++++++
 .../apache/openmeetings/web/TestMainAreas.java  |  6 +-
 .../apache/openmeetings/web/TestMainMenu.java   |  4 +-
 .../webservice/CalendarWebService.java          |  2 +-
 7 files changed, 89 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3b16ec47/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java
index 240f621..db1e462 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/calendar/AppointmentDao.java
@@ -188,7 +188,7 @@ public class AppointmentDao {
 		return list == null || list.isEmpty() ? null : list.get(0);
 	}
 
-	public List<Appointment> searchAppointmentsByTitle(Long userId, String title) {
+	public List<Appointment> searchByTitle(Long userId, String title) {
 		return em.createNamedQuery("getAppointmentsByTitle", Appointment.class)
 				.setParameter("title", title).setParameter("userId", userId).getResultList();
 	}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3b16ec47/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
index 7dd9b8d..7afe918 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
@@ -227,7 +227,6 @@ public class CalendarPanel extends UserBasePanel {
 				if (a.getCalendar() != null) {
 					updatedeleteAppointment(target, CalendarDialog.DIALOG_TYPE.UPDATE_APPOINTMENT, a);
 				}
-				//TODO add feedback info
 			}
 
 			@Override
@@ -247,7 +246,6 @@ public class CalendarPanel extends UserBasePanel {
 				if (a.getCalendar() != null) {
 					updatedeleteAppointment(target, CalendarDialog.DIALOG_TYPE.UPDATE_APPOINTMENT, a);
 				}
-				//TODO add feedback info
 			}
 		};
 
@@ -270,7 +268,6 @@ public class CalendarPanel extends UserBasePanel {
 
 			@Override
 			protected List<OmCalendar> load() {
-				// TODO: better way to do this?
 				AppointmentManager manager = getAppointmentManager();
 				List<OmCalendar> cals = new ArrayList<>(manager.getCalendars(getUserId()));
 				cals.addAll(manager.getGoogleCalendars(getUserId()));
@@ -368,7 +365,6 @@ public class CalendarPanel extends UserBasePanel {
 	}
 
 	//Adds a new Event Source to the Calendar
-	//TODO: The Ajax Refresh does not work.
 	public void populateGoogleCalendar(OmCalendar gcal, IPartialPageRequestHandler target) {
 		calendar.addSource(new GoogleCalendar(gcal.getHref(), gcal.getToken()));
 		refresh(target);
@@ -405,7 +401,7 @@ public class CalendarPanel extends UserBasePanel {
 
 	private static Appointment getDefault() {
 		Appointment a = new Appointment();
-		a.setReminder(Reminder.ical); //TODO: Make configurable
+		a.setReminder(Reminder.ical);
 		a.setOwner(getBean(UserDao.class).get(getUserId()));
 		a.setTitle(Application.getString("1444"));
 		log.debug(" -- getDefault -- Current model " + a);

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3b16ec47/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractWicketTester.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractWicketTester.java b/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractWicketTester.java
index 4fbf3da..0f7211f 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractWicketTester.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractWicketTester.java
@@ -58,6 +58,8 @@ import com.googlecode.wicket.jquery.ui.widget.dialog.ButtonAjaxBehavior;
 
 public class AbstractWicketTester extends AbstractJUnitDefaults {
 	private static final Logger log = getLogger(AbstractWicketTester.class, getWebAppRootKey());
+	public static final String PATH_CHILD = "main-container:main:contents:child";
+	public static final String PATH_MENU = "main-container:main:topControls:menu:menu";
 	protected WicketTester tester;
 
 	public static WicketTester getWicketTester() {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3b16ec47/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestCalendar.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestCalendar.java b/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestCalendar.java
new file mode 100644
index 0000000..c568232
--- /dev/null
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestCalendar.java
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web;
+
+import static org.junit.Assert.assertEquals;
+
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.UUID;
+
+import org.apache.openmeetings.AbstractWicketTester;
+import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
+import org.apache.openmeetings.db.entity.calendar.Appointment;
+import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.util.OmException;
+import org.apache.openmeetings.web.user.calendar.CalendarPanel;
+import org.apache.wicket.behavior.AbstractAjaxBehavior;
+import org.apache.wicket.util.tester.FormTester;
+import org.junit.Assert;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.googlecode.wicket.jquery.ui.calendar.CalendarView;
+import com.googlecode.wicket.jquery.ui.widget.dialog.ButtonAjaxBehavior;
+import com.googlecode.wicket.jquery.ui.widget.menu.Menu;
+
+public class TestCalendar extends AbstractWicketTester {
+	private static final String PATH_APPOINTMENT_DLG = String.format("%s:appointment", PATH_CHILD);
+	private static final String PATH_APPOINTMENT_DLG_FRM = String.format("%s:appForm", PATH_APPOINTMENT_DLG);
+	@Autowired
+	private AppointmentDao appointmentDao;
+
+	@Test
+	public void testEventCreate() throws OmException {
+		testArea(regularUsername, p -> {
+			Menu menu = (Menu)p.get(PATH_MENU);
+			Assert.assertNotNull(menu);
+			tester.getRequest().setParameter("hash", menu.getItemList().get(0).getItems().get(1).getId());
+			tester.executeBehavior((AbstractAjaxBehavior)menu.getBehaviorById(0));
+
+			tester.assertComponent(PATH_CHILD, CalendarPanel.class);
+			CalendarPanel cal = (CalendarPanel)p.get(PATH_CHILD);
+			tester.executeAllTimerBehaviors(cal);
+
+			User u = userDao.getByLogin(regularUsername, User.Type.user, null);
+			//test create month
+			tester.getRequest().setParameter("allDay", String.valueOf(false));
+			tester.getRequest().setParameter("startDate", LocalDateTime.of(2017, 11, 13, 13, 13).toString());
+			tester.getRequest().setParameter("endDate", LocalDateTime.of(2017, 11, 13, 13, 13).toString());
+			tester.getRequest().setParameter("viewName", CalendarView.month.name());
+			tester.executeBehavior((AbstractAjaxBehavior)cal.get("form:calendar").getBehaviorById(0)); //select-event
+			FormTester appTester = tester.newFormTester(PATH_APPOINTMENT_DLG_FRM);
+			String title = String.format("title%s", UUID.randomUUID());
+			appTester.setValue("title", title);
+			ButtonAjaxBehavior save = getButtonBehavior(PATH_APPOINTMENT_DLG, "save");
+			tester.executeBehavior(save);
+
+			List<Appointment> appts = appointmentDao.searchByTitle(u.getId(), title);
+			assertEquals("Appointment should be created", 1, appts.size());
+			assertEquals("Appointment should be created", title, appts.get(0).getTitle());
+		});
+	}
+}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3b16ec47/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestMainAreas.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestMainAreas.java b/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestMainAreas.java
index 146a61b..7be7c81 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestMainAreas.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestMainAreas.java
@@ -79,7 +79,7 @@ public class TestMainAreas extends AbstractWicketTester {
 	@Test
 	public void testDashboard() throws OmException {
 		testArea(regularUsername, p -> {
-			tester.assertComponent("main-container:main:contents:child", OmDashboardPanel.class);
+			tester.assertComponent(PATH_CHILD, OmDashboardPanel.class);
 		});
 	}
 
@@ -93,7 +93,7 @@ public class TestMainAreas extends AbstractWicketTester {
 			testArea(user, p -> {
 				tester.getRequest().setParameter(area.name(), type);
 				tester.executeBehavior((AbstractAjaxBehavior)p.getBehaviorById(1));
-				tester.assertComponent("main-container:main:contents:child", clazz);
+				tester.assertComponent(PATH_CHILD, clazz);
 				if (consumer != null) {
 					consumer.accept(p);
 				}
@@ -271,7 +271,7 @@ public class TestMainAreas extends AbstractWicketTester {
 
 	private void testRoom(Long id) throws OmException {
 		checkArea(AreaKeys.room, String.valueOf(id), RoomPanel.class, p -> {
-			RoomPanel rp = (RoomPanel)p.get("main-container:main:contents:child");
+			RoomPanel rp = (RoomPanel)p.get(PATH_CHILD);
 			tester.executeBehavior((AbstractAjaxBehavior)rp.getBehaviorById(0)); //room enter
 			AbstractWbPanel wb = (AbstractWbPanel)rp.get("roomContainer:wb-area:whiteboard");
 			tester.executeBehavior((AbstractAjaxBehavior)wb.getBehaviorById(0)); //wb load

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3b16ec47/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestMainMenu.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestMainMenu.java b/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestMainMenu.java
index e34e53c..34f181b 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestMainMenu.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestMainMenu.java
@@ -44,12 +44,12 @@ import com.googlecode.wicket.jquery.ui.widget.menu.Menu;
 public class TestMainMenu extends AbstractWicketTester {
 	private void checkMenuItem(int idx1, int idx2, Class<? extends BasePanel> clazz) throws OmException {
 		testArea(adminUsername, p -> {
-			Menu menu = (Menu)p.get("main-container:main:topControls:menu:menu");
+			Menu menu = (Menu)p.get(PATH_MENU);
 			Assert.assertNotNull(menu);
 			tester.getRequest().setParameter("hash", menu.getItemList().get(idx1).getItems().get(idx2).getId());
 			tester.executeBehavior((AbstractAjaxBehavior)menu.getBehaviorById(0));
 
-			tester.assertComponent("main-container:main:contents:child", clazz);
+			tester.assertComponent(PATH_CHILD, clazz);
 		});
 	}
 

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3b16ec47/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
----------------------------------------------------------------------
diff --git a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
index 39a5cbe..9bcfbac 100644
--- a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
+++ b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
@@ -198,7 +198,7 @@ public class CalendarWebService extends BaseWebService {
 	@GET
 	@Path("/title/{title}")
 	public List<AppointmentDTO> getByTitle(@QueryParam("sid") @WebParam(name="sid") String sid, @PathParam("title") @WebParam(name="title") String title) {
-		return performCall(sid, User.Right.Room, sd -> AppointmentDTO.list(getDao().searchAppointmentsByTitle(sd.getUserId(), title)));
+		return performCall(sid, User.Right.Room, sd -> AppointmentDTO.list(getDao().searchByTitle(sd.getUserId(), title)));
 	}
 
 	/**