From 117eb955cea18e561629a8baeb0105a49f1851ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=ABl=20Kr=C3=A4hemann?= <joel.kraehemann@frentix.com> Date: Thu, 13 Jun 2013 11:51:04 +0200 Subject: [PATCH] OO-550: implemented checkGroupChat test case. --- .../FunctionalInstantMessagingTest.java | 103 +++++++++++++++--- 1 file changed, 89 insertions(+), 14 deletions(-) diff --git a/src/test/java/org/olat/instantMessaging/FunctionalInstantMessagingTest.java b/src/test/java/org/olat/instantMessaging/FunctionalInstantMessagingTest.java index b0a993f384b..57b0a62d90c 100644 --- a/src/test/java/org/olat/instantMessaging/FunctionalInstantMessagingTest.java +++ b/src/test/java/org/olat/instantMessaging/FunctionalInstantMessagingTest.java @@ -68,6 +68,7 @@ public class FunctionalInstantMessagingTest { null, "Hello world!", "Clear sky.", + null, }; @Deployment(testable = false) @@ -99,8 +100,7 @@ public class FunctionalInstantMessagingTest { initialized = true; } } - - @Ignore + @Test @RunAsClient public void checkGroupChat(@Tutor1 Selenium tutor0, @Student1 Selenium student0, @Student2 Selenium student1, @Student3 Selenium student2) @@ -136,51 +136,118 @@ public class FunctionalInstantMessagingTest { /* message #0 */ Dialog dialog = new Dialog(student0, group.get(0), GROUP_CHAT_MESSAGE[0]); + Dialog.Action action = dialog.new LoginAction(user.get(0)); dialog.getPreProcessor().add(action); + action = dialog.new OnlineContactsAction(0); dialog.getPreProcessor().add(action); + action = dialog.new OfflineContactsAction(0); dialog.getPreProcessor().add(action); + action = dialog.new UsersAction(0); dialog.getPreProcessor().add(action); + action = dialog.new LogoutAction(); + dialog.getPreProcessor().add(action); + GROUP_CHAT_DIALOG.add(dialog); /* message #1 */ - dialog = new Dialog(student1, group.get(0), GROUP_CHAT_MESSAGE[1]); + dialog = new Dialog(student0, group.get(0), GROUP_CHAT_MESSAGE[1]); + action = dialog.new ModifySettingsAction(tutor0, new FunctionalGroupsSiteUtil.MembersConfiguration[]{ MembersConfiguration.CAN_SEE_COACHES, }); dialog.getPreProcessor().add(action); + action = dialog.new LoginAction(user.get(0)); dialog.getPreProcessor().add(action); + action = dialog.new OnlineContactsAction(1); dialog.getPreProcessor().add(action); - action = dialog.new CheckUserAction(tutor.get(0).getFirstName(), tutor.get(0).getLastName()); + + action = dialog.new CheckUserAction(tutor.get(0).getFirstName(), tutor.get(0).getLastName(), true, false); dialog.getPreProcessor().add(action); + action = dialog.new OfflineContactsAction(0); dialog.getPreProcessor().add(action); + action = dialog.new LogoutAction(); + dialog.getPreProcessor().add(action); + GROUP_CHAT_DIALOG.add(dialog); /* message #2 */ dialog = new Dialog(student0, group.get(0), GROUP_CHAT_MESSAGE[2]); - //TODO:JK implement me + + action = dialog.new ModifySettingsAction(tutor0, new FunctionalGroupsSiteUtil.MembersConfiguration[]{ + MembersConfiguration.CAN_SEE_COACHES, + MembersConfiguration.CAN_SEE_PARTICIPANTS, + }); + dialog.getPreProcessor().add(action); + + action = dialog.new LoginAction(user.get(0)); + dialog.getPreProcessor().add(action); + + action = dialog.new OnlineContactsAction(1); + dialog.getPreProcessor().add(action); + + action = dialog.new CheckUserAction(tutor.get(0).getFirstName(), tutor.get(0).getLastName(), true, false); + dialog.getPreProcessor().add(action); + + action = dialog.new CheckUserAction(user.get(1).getFirstName(), user.get(1).getLastName(), false, true); + dialog.getPreProcessor().add(action); + + action = dialog.new CheckUserAction(user.get(2).getFirstName(), user.get(2).getLastName(), false, true); + dialog.getPreProcessor().add(action); + + GROUP_CHAT_DIALOG.add(dialog); /* message #3 */ - dialog = new Dialog(student0, group.get(0), GROUP_CHAT_MESSAGE[3]); - //TODO:JK implement me + dialog = new Dialog(student1, group.get(0), GROUP_CHAT_MESSAGE[3]); - /* message #4 */ - dialog = new Dialog(student0, group.get(0), GROUP_CHAT_MESSAGE[4]); - action = dialog.new OnlineContactsAction(0); + action = dialog.new LoginAction(user.get(1)); dialog.getPreProcessor().add(action); + + action = dialog.new OnlineContactsAction(2); + dialog.getPreProcessor().add(action); + + action = dialog.new CheckUserAction(tutor.get(0).getFirstName(), tutor.get(0).getLastName(), true, false); + dialog.getPreProcessor().add(action); + + action = dialog.new CheckUserAction(user.get(0).getFirstName(), user.get(0).getLastName(), true, false); + dialog.getPreProcessor().add(action); + + action = dialog.new VerifyMessageAction(new String[]{ + GROUP_CHAT_MESSAGE[3], + }); + dialog.getPostProcessor().add(action); + + GROUP_CHAT_DIALOG.add(dialog); + + /* message #4 */ + dialog = new Dialog(student0, user.get(2), GROUP_CHAT_MESSAGE[4]); + GROUP_CHAT_DIALOG.add(dialog); - //TODO:JK implement me + /* message #5 */ + dialog = new Dialog(student2, group.get(0), GROUP_CHAT_MESSAGE[5]); + + action = dialog.new LoginAction(user.get(2)); + dialog.getPreProcessor().add(action); + + action = dialog.new VerifyMessageAction(new String[]{ + GROUP_CHAT_MESSAGE[4], + }); + dialog.getPostProcessor().add(action); + + GROUP_CHAT_DIALOG.add(dialog); - /* chat */ + /* + * chat - run the dialogs with its pre and post processors + */ for(Dialog current: GROUP_CHAT_DIALOG){ Assert.assertTrue(current.chat()); } @@ -440,17 +507,25 @@ public class FunctionalInstantMessagingTest { public class CheckUserAction extends Action { private String firstname; private String surname; + private boolean onlineContacts; + private boolean offlineContacts; - public CheckUserAction(String firstname, String surname){ + public CheckUserAction(String firstname, String surname, boolean onlineContacts, boolean offlineContacts){ this.firstname = firstname; this.surname = surname; + this.onlineContacts = onlineContacts; + this.offlineContacts = offlineContacts; } @Override public boolean process(Dialog dialog) { String name = surname + ", " + firstname; - if(ArrayUtils.contains(functionalInstantMessagingUtil.findOnlineContacts(browser).toArray(), name)){ + boolean isOnline = ArrayUtils.contains(functionalInstantMessagingUtil.findOnlineContacts(browser).toArray(), name); + boolean isOffline = ArrayUtils.contains(functionalInstantMessagingUtil.findOfflineContacts(browser).toArray(), name); + + if((onlineContacts && isOnline) || + (offlineContacts && isOffline)){ return(true); }else{ return(false); -- GitLab