From 1a9135652b807e1001cf2416a95c673855a8b970 Mon Sep 17 00:00:00 2001 From: jkraehemann <none@none> Date: Mon, 30 Jul 2012 16:35:19 +0200 Subject: [PATCH] implemented calls to utility methods which still need to be implemented. --- .../org/olat/login/FunctionalResumeTest.java | 8 ++ .../portfolio/FunctionalArtefactTest.java | 63 +++++++++++--- .../org/olat/util/FunctionalCourseUtil.java | 82 ++++++++++++++++++- .../olat/util/FunctionalEportfolioUtil.java | 62 ++++++++++++++ .../org/olat/util/FunctionalHomeSiteUtil.java | 2 +- .../java/org/olat/util/FunctionalUtil.java | 4 +- 6 files changed, 203 insertions(+), 18 deletions(-) create mode 100644 src/test/java/org/olat/util/FunctionalEportfolioUtil.java diff --git a/src/test/java/org/olat/login/FunctionalResumeTest.java b/src/test/java/org/olat/login/FunctionalResumeTest.java index 062266cfa54..3f5f6e61472 100644 --- a/src/test/java/org/olat/login/FunctionalResumeTest.java +++ b/src/test/java/org/olat/login/FunctionalResumeTest.java @@ -126,6 +126,14 @@ public class FunctionalResumeTest { /* enable resume on request */ functionalHomeSiteUtil.enableResumeOnRequest(browser); + /* + * There's a need to click something in the course because + * else it won't open up again after resume. + */ + functionalCourseUtil.openWithoutBusinessPath(browser, course.getRepoEntryKey(), 4); + + Assert.assertTrue(functionalUtil.logout(browser)); + /* login without clicking away dialogs */ Assert.assertTrue(functionalUtil.login(browser, false)); diff --git a/src/test/java/org/olat/portfolio/FunctionalArtefactTest.java b/src/test/java/org/olat/portfolio/FunctionalArtefactTest.java index ea6e4db0a38..92eaf87ff08 100644 --- a/src/test/java/org/olat/portfolio/FunctionalArtefactTest.java +++ b/src/test/java/org/olat/portfolio/FunctionalArtefactTest.java @@ -19,6 +19,7 @@ */ package org.olat.portfolio; +import java.io.File; import java.io.IOException; import java.net.URISyntaxException; import java.net.URL; @@ -39,10 +40,10 @@ import org.olat.restapi.support.vo.RepositoryEntryVO; import org.olat.test.ArquillianDeployments; import org.olat.user.restapi.UserVO; import org.olat.util.FunctionalCourseUtil; +import org.olat.util.FunctionalEportfolioUtil; import org.olat.util.FunctionalRepositorySiteUtil; import org.olat.util.FunctionalUtil; import org.olat.util.FunctionalVOUtil; -import org.olat.util.FunctionalUtil.OlatSite; import com.thoughtworks.selenium.DefaultSelenium; @@ -62,6 +63,23 @@ public class FunctionalArtefactTest { public final static String BLOG_POST_DESCRIPTION = "Where you may find useful information about multiplexing."; public final static String BLOG_POST_CONTENT = "Operating Systems: Design & Implementation (by Andrew S. Tanenbaum)"; + public final static String TEXT_ARTEFACT_CONTENT = ""; + public final static String TEXT_ARTEFACT_TITLE = ""; + public final static String TEXT_ARTEFACT_DESCRIPTION = ""; + public final static String TEXT_ARTEFACT_TAGS = ""; + public final static String TEXT_ARTEFACT_BINDERPATH = ""; + + public final static String FILE_ARTEFACT_PATH = ""; + public final static String FILE_ARTEFACT_TITLE = ""; + public final static String FILE_ARTEFACT_DESCRIPTION = ""; + public final static String FILE_ARTEFACT_TAGS = ""; + public final static String FILE_ARTEFACT_BINDERPATH = ""; + + public final static String LEARNING_JOURNAL_TITLE = ""; + public final static String LEARNING_JOURNAL_DESCRIPTION = ""; + public final static String LEARNING_JOURNAL_TAGS = ""; + public final static String LEARNING_JOURNAL_BINDERPATH = ""; + @Deployment(testable = false) public static WebArchive createDeployment() { return ArquillianDeployments.createDeployment(); @@ -76,6 +94,7 @@ public class FunctionalArtefactTest { FunctionalUtil functionalUtil; FunctionalRepositorySiteUtil functionalRepositorySiteUtil; FunctionalCourseUtil functionalCourseUtil; + FunctionalEportfolioUtil functionalEportfolioUtil; FunctionalVOUtil functionalVOUtil; UserVO user; @@ -88,6 +107,7 @@ public class FunctionalArtefactTest { functionalRepositorySiteUtil = new FunctionalRepositorySiteUtil(functionalUtil); functionalCourseUtil = new FunctionalCourseUtil(functionalUtil, functionalRepositorySiteUtil); + functionalEportfolioUtil = new FunctionalEportfolioUtil(functionalUtil); functionalVOUtil = new FunctionalVOUtil(functionalUtil.getUsername(), functionalUtil.getPassword()); @@ -95,20 +115,22 @@ public class FunctionalArtefactTest { List<UserVO> userVO = functionalVOUtil.createTestUsers(deploymentUrl, 1); user = userVO.get(0); - - /* deploy course with REST */ - course = functionalVOUtil.importAllElementsCourse(deploymentUrl); - } @Test @RunAsClient - public void checkCollectForumPost(){ + public void checkCollectForumPost() throws IOException, URISyntaxException{ + /* deploy course with REST */ + course = functionalVOUtil.importAllElementsCourse(deploymentUrl); + /* login for test setup */ Assert.assertTrue(functionalUtil.login(browser, user.getLogin(), user.getPassword(), true)); - /* open course and check if it's open */ + /* post message to forum */ Assert.assertTrue(functionalCourseUtil.postForumMessage(browser, course.getRepoEntryKey(), 0, FORUM_POST_TITLE, FORUM_POST_MESSAGE)); + + /* add artefact */ + //TODO:JK: implement me } @Test @@ -120,9 +142,11 @@ public class FunctionalArtefactTest { /* login for test setup */ Assert.assertTrue(functionalUtil.login(browser, user.getLogin(), user.getPassword(), true)); - /* open course and check if it's open */ + /* create an article for the wiki */ Assert.assertTrue(functionalCourseUtil.createWikiArticle(browser, vo.getKey(), WIKI_ARTICLE_PAGENAME, WIKI_ARTICLE_CONTENT)); + /* add artefact */ + //TODO:JK: implement me } @Test @@ -134,9 +158,11 @@ public class FunctionalArtefactTest { /* login for test setup */ Assert.assertTrue(functionalUtil.login(browser, user.getLogin(), user.getPassword(), true)); - /* open course and check if it's open */ + /* blog */ Assert.assertTrue(functionalCourseUtil.createBlogEntry(browser, vo.getKey(), BLOG_POST_TITLE, BLOG_POST_DESCRIPTION, BLOG_POST_CONTENT)); + /* add artefact */ + //TODO:JK: implement me } @Test @@ -145,14 +171,24 @@ public class FunctionalArtefactTest { /* login for test setup */ Assert.assertTrue(functionalUtil.login(browser, user.getLogin(), user.getPassword(), true)); + /* add text artefact */ + Assert.assertTrue(functionalEportfolioUtil.addTextArtefact(browser, TEXT_ARTEFACT_CONTENT, + TEXT_ARTEFACT_TITLE, TEXT_ARTEFACT_DESCRIPTION, + TEXT_ARTEFACT_TAGS, + TEXT_ARTEFACT_BINDERPATH)); } @Test @RunAsClient - public void checkUploadFileArtefact(){ + public void checkUploadFileArtefact() throws URISyntaxException{ /* login for test setup */ Assert.assertTrue(functionalUtil.login(browser, user.getLogin(), user.getPassword(), true)); - + + /* upload file artefact */ + Assert.assertTrue(functionalEportfolioUtil.uploadFileArtefact(browser, new File(FunctionalArtefactTest.class.getResource(FILE_ARTEFACT_PATH).toURI()), + FILE_ARTEFACT_TITLE, FILE_ARTEFACT_DESCRIPTION, + FILE_ARTEFACT_TAGS, + FILE_ARTEFACT_BINDERPATH)); } @Test @@ -161,5 +197,10 @@ public class FunctionalArtefactTest { /* login for test setup */ Assert.assertTrue(functionalUtil.login(browser, user.getLogin(), user.getPassword(), true)); + /* create learning journal */ + Assert.assertTrue(functionalEportfolioUtil.createLearningJournal(browser, + LEARNING_JOURNAL_TITLE, LEARNING_JOURNAL_DESCRIPTION, + LEARNING_JOURNAL_TAGS, + LEARNING_JOURNAL_BINDERPATH)); } } diff --git a/src/test/java/org/olat/util/FunctionalCourseUtil.java b/src/test/java/org/olat/util/FunctionalCourseUtil.java index a1386f8aa28..74db08dc7cf 100644 --- a/src/test/java/org/olat/util/FunctionalCourseUtil.java +++ b/src/test/java/org/olat/util/FunctionalCourseUtil.java @@ -27,11 +27,28 @@ import com.thoughtworks.selenium.Selenium; * @author jkraehemann, joel.kraehemann@frentix.com, frentix.com */ public class FunctionalCourseUtil { + public final static String EPORTFOLIO_ADD_CSS = "b_eportfolio_add"; + public final static String FORUM_ICON_CSS = "o_fo_icon"; + public final static String FORUM_TOOLBAR_CSS = "o_forum_toolbar"; + public final static String FORUM_THREAD_NEW_CSS = "o_sel_forum_thread_new"; + public final static String FORUM_ARCHIVE_CSS = "o_sel_forum_archive"; + public final static String FORUM_FILTER_CSS = "o_sel_forum_filter"; + + public final static String WIKI_CREATE_ARTICLE_CSS = "o_sel_wiki_search"; + + private String eportfolioAddCss; private String forumIconCss; + private String forumToolbarCss; + private String forumThreadNewCss; + private String forumArchiveCss; + private String forumFilterCss; + + private String wikiCreateArticleCss; + private FunctionalUtil functionalUtil; private FunctionalRepositorySiteUtil functionalRepositorySiteUtil; @@ -39,7 +56,16 @@ public class FunctionalCourseUtil { this.functionalUtil = functionalUtil; this.functionalRepositorySiteUtil = functionalRepositorySiteUtil; + setEportfolioAddCss(EPORTFOLIO_ADD_CSS); + setForumIconCss(FORUM_ICON_CSS); + + setForumToolbarCss(FORUM_TOOLBAR_CSS); + setForumThreadNewCss(FORUM_THREAD_NEW_CSS); + setForumArchiveCss(FORUM_ARCHIVE_CSS); + setForumFilterCss(FORUM_FILTER_CSS); + + setWikiCreateArticleCss(WIKI_CREATE_ARTICLE_CSS); } /** @@ -56,9 +82,9 @@ public class FunctionalCourseUtil { StringBuffer selectorBuffer = new StringBuffer(); - selectorBuffer.append("xpath=//ul[contains(@class, 'b_tree_l1']//li//a[") + selectorBuffer.append("xpath=//ul[contains(@class, 'b_tree_l1')]//li[") .append(nth + 1) - .append("]"); + .append("]//a"); browser.click(selectorBuffer.toString()); @@ -80,9 +106,9 @@ public class FunctionalCourseUtil { StringBuffer selectorBuffer = new StringBuffer(); - selectorBuffer.append("xpath=//ul[contains(@class, 'b_tree_l1']//li//a[") + selectorBuffer.append("xpath=//ul[contains(@class, 'b_tree_l1')]//li[") .append(nth + 1) - .append("]"); + .append("]//a"); browser.click(selectorBuffer.toString()); @@ -216,6 +242,14 @@ public class FunctionalCourseUtil { this.functionalRepositorySiteUtil = functionalRepositorySiteUtil; } + public String getEportfolioAddCss() { + return eportfolioAddCss; + } + + public void setEportfolioAddCss(String eportfolioAddCss) { + this.eportfolioAddCss = eportfolioAddCss; + } + public String getForumIconCss() { return forumIconCss; } @@ -223,5 +257,45 @@ public class FunctionalCourseUtil { public void setForumIconCss(String forumIconCss) { this.forumIconCss = forumIconCss; } + + public String getForumToolbarCss() { + return forumToolbarCss; + } + + public void setForumToolbarCss(String forumToolbarCss) { + this.forumToolbarCss = forumToolbarCss; + } + + public String getForumThreadNewCss() { + return forumThreadNewCss; + } + + public void setForumThreadNewCss(String forumThreadNewCss) { + this.forumThreadNewCss = forumThreadNewCss; + } + + public String getForumArchiveCss() { + return forumArchiveCss; + } + + public void setForumArchiveCss(String forumArchiveCss) { + this.forumArchiveCss = forumArchiveCss; + } + + public String getForumFilterCss() { + return forumFilterCss; + } + + public void setForumFilterCss(String forumFilterCss) { + this.forumFilterCss = forumFilterCss; + } + + public String getWikiCreateArticleCss() { + return wikiCreateArticleCss; + } + + public void setWikiCreateArticleCss(String wikiCreateArticleCss) { + this.wikiCreateArticleCss = wikiCreateArticleCss; + } } diff --git a/src/test/java/org/olat/util/FunctionalEportfolioUtil.java b/src/test/java/org/olat/util/FunctionalEportfolioUtil.java new file mode 100644 index 00000000000..23095d44d20 --- /dev/null +++ b/src/test/java/org/olat/util/FunctionalEportfolioUtil.java @@ -0,0 +1,62 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.util; + +import java.io.File; + +import com.thoughtworks.selenium.Selenium; + +/** + * + * @author jkraehemann, joel.kraehemann@frentix.com, frentix.com + */ +public class FunctionalEportfolioUtil { + private FunctionalUtil functionalUtil; + + public FunctionalEportfolioUtil(FunctionalUtil functionalUtil){ + this.functionalUtil = functionalUtil; + } + + public boolean addTextArtefact(Selenium browser, String content, String title, String description, String tags, String binderPath){ + //TODO:JK: implement me + + return(false); + } + + public boolean uploadFileArtefact(Selenium browser, File file, String title, String description, String tags, String binderPath){ + //TODO:JK: implement me + + return(false); + } + + public boolean createLearningJournal(Selenium browser, String title, String description, String tags, String binderPath){ + //TODO:JK: implement me + + return(false); + } + + public FunctionalUtil getFunctionalUtil() { + return functionalUtil; + } + + public void setFunctionalUtil(FunctionalUtil functionalUtil) { + this.functionalUtil = functionalUtil; + } +} diff --git a/src/test/java/org/olat/util/FunctionalHomeSiteUtil.java b/src/test/java/org/olat/util/FunctionalHomeSiteUtil.java index e723d0be6b5..b2b108ddf1e 100644 --- a/src/test/java/org/olat/util/FunctionalHomeSiteUtil.java +++ b/src/test/java/org/olat/util/FunctionalHomeSiteUtil.java @@ -113,7 +113,7 @@ public class FunctionalHomeSiteUtil { public final static String NO_VALUE = "none"; public final static String YES_AUTOMATICALLY_VALUE = "auto"; - public final static String YES_ON_REQUEST_VALUE = "request"; + public final static String YES_ON_REQUEST_VALUE = "ondemand"; public final static String OFF_VALUE = "no"; public final static String ON_VALUE = "yes"; diff --git a/src/test/java/org/olat/util/FunctionalUtil.java b/src/test/java/org/olat/util/FunctionalUtil.java index 3edd0681214..e4bd806a376 100644 --- a/src/test/java/org/olat/util/FunctionalUtil.java +++ b/src/test/java/org/olat/util/FunctionalUtil.java @@ -42,7 +42,7 @@ public class FunctionalUtil { public final static String LOGIN_PAGE = "dmz"; public final static String ACKNOWLEDGE_CHECKBOX = "acknowledge_checkbox"; - public final static String INFO_DIALOG = "b_info"; + public final static String INFO_DIALOG = "o_interceptionPopup"; public enum OlatSite { HOME, @@ -370,7 +370,7 @@ public class FunctionalUtil { //TODO:JK: find a way to solve endless loop //while(browser.isElementPresent("class="+ getInfoDialog())){ /* click last button */ - if(browser.isElementPresent("class="+ getInfoDialog())){ + if(browser.isElementPresent("id="+ getInfoDialog())){ browser.click("xpath=//form//div//button[@type='button']/../../span/a[@class='b_button']"); browser.waitForPageToLoad(getWaitLimit()); } -- GitLab