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)));
}
/**