Skip to content
Snippets Groups Projects
Commit 13734d11 authored by srosse's avatar srosse
Browse files

OO-2057: selenium test to pick a media in a wiki and blog

parent 287d38a0
No related branches found
No related tags found
No related merge requests found
...@@ -46,8 +46,11 @@ import org.olat.selenium.page.forum.ForumPage; ...@@ -46,8 +46,11 @@ import org.olat.selenium.page.forum.ForumPage;
import org.olat.selenium.page.portfolio.BinderPage; import org.olat.selenium.page.portfolio.BinderPage;
import org.olat.selenium.page.portfolio.MediaCenterPage; import org.olat.selenium.page.portfolio.MediaCenterPage;
import org.olat.selenium.page.portfolio.PortfolioV2HomePage; import org.olat.selenium.page.portfolio.PortfolioV2HomePage;
import org.olat.selenium.page.repository.AuthoringEnvPage;
import org.olat.selenium.page.repository.FeedPage;
import org.olat.selenium.page.repository.AuthoringEnvPage.ResourceType; import org.olat.selenium.page.repository.AuthoringEnvPage.ResourceType;
import org.olat.selenium.page.user.UserToolsPage; import org.olat.selenium.page.user.UserToolsPage;
import org.olat.selenium.page.wiki.WikiPage;
import org.olat.test.ArquillianDeployments; import org.olat.test.ArquillianDeployments;
import org.olat.test.rest.UserRestClient; import org.olat.test.rest.UserRestClient;
import org.olat.user.restapi.UserVO; import org.olat.user.restapi.UserVO;
...@@ -220,7 +223,7 @@ public class PortfolioV2Test { ...@@ -220,7 +223,7 @@ public class PortfolioV2Test {
*/ */
@Test @Test
@RunAsClient @RunAsClient
public void collectForumArtefactInCourse(@InitialPage LoginPage loginPage) public void collectForumMediaInCourse(@InitialPage LoginPage loginPage)
throws IOException, URISyntaxException { throws IOException, URISyntaxException {
UserVO author = new UserRestClient(deploymentUrl).createAuthor(); UserVO author = new UserRestClient(deploymentUrl).createAuthor();
...@@ -272,5 +275,133 @@ public class PortfolioV2Test { ...@@ -272,5 +275,133 @@ public class PortfolioV2Test {
.selectMedia(mediaTitle) .selectMedia(mediaTitle)
.assertOnMediaDetails(mediaTitle); .assertOnMediaDetails(mediaTitle);
} }
/**
* Create a wiki as resource, add and fill a page. The author
* picks the page as media and go in its media center to see it.
*
* @param loginPage
* @throws IOException
* @throws URISyntaxException
*/
@Test
@RunAsClient
public void collectWikiMediaInWikiResource(@InitialPage LoginPage loginPage)
throws IOException, URISyntaxException {
UserVO author = new UserRestClient(deploymentUrl).createAuthor();
loginPage
.loginAs(author.getLogin(), author.getPassword())
.resume();
//go to authoring
AuthoringEnvPage authoringEnv = navBar
.assertOnNavigationPage()
.openAuthoringEnvironment();
String title = "PF-Wiki-" + UUID.randomUUID();
//create a wiki and launch it
authoringEnv
.openCreateDropDown()
.clickCreate(ResourceType.wiki)
.fillCreateForm(title)
.assertOnGeneralTab()
.clickToolbarBack();
//create a page in the wiki
String page = "LMS-" + UUID.randomUUID();
String content = "Learning Management System";
WikiPage wiki = WikiPage.getWiki(browser);
//create page and add it as artefact to portfolio
String mediaTitle = "My own wiki page";
wiki
.createPage(page, content)
.addAsMedia()
.fillForumMedia(mediaTitle, "A post I write");
UserToolsPage userTools = new UserToolsPage(browser);
MediaCenterPage mediaCenter = userTools
.openUserToolsMenu()
.openPortfolioV2()
.openMediaCenter();
mediaCenter
.assertOnMedia(mediaTitle)
.selectMedia(mediaTitle)
.assertOnMediaDetails(mediaTitle);
}
/**
* Create a blog as learn resource, create a new entry and publish it.
* Than pick the entry as a media and go to the media center to see it.
*
* @param loginPage
* @throws IOException
* @throws URISyntaxException
*/
@Test
@RunAsClient
public void collectBlogEntryMediaInBlogResource(@InitialPage LoginPage loginPage)
throws IOException, URISyntaxException {
UserVO author = new UserRestClient(deploymentUrl).createAuthor();
loginPage
.loginAs(author.getLogin(), author.getPassword())
.resume();
//create a course
String courseTitle = "Course-With-Blog-" + UUID.randomUUID().toString();
navBar
.openAuthoringEnvironment()
.createCourse(courseTitle)
.clickToolbarBack();
String blogNodeTitle = "Blog-EP-1";
String blogTitle = "Blog - EP - " + UUID.randomUUID().toString();
//create a course element of type blog with a blog
CourseEditorPageFragment courseEditor = CoursePageFragment.getCourse(browser)
.edit();
courseEditor
.createNode("blog")
.nodeTitle(blogNodeTitle)
.selectTabLearnContent()
.createFeed(blogTitle);
//publish the course
courseEditor
.publish()
.quickPublish();
//open the course and see the CP
CoursePageFragment course = courseEditor
.clickToolbarBack();
course
.clickTree()
.selectWithTitle(blogNodeTitle);
String postTitle = "Post-EP-" + UUID.randomUUID();
String postSummary = "Some explantations as teaser";
String postContent = "Content of the post";
FeedPage feed = FeedPage.getFeedPage(browser);
feed
.newBlog()
.fillPostForm(postTitle, postSummary, postContent)
.publishPost();
String mediaTitle = "My very own entry";
feed
.addAsMedia()
.fillForumMedia(mediaTitle, "A post I write");
UserToolsPage userTools = new UserToolsPage(browser);
MediaCenterPage mediaCenter = userTools
.openUserToolsMenu()
.openPortfolioV2()
.openMediaCenter();
mediaCenter
.assertOnMedia(mediaTitle)
.selectMedia(mediaTitle)
.assertOnMediaDetails(mediaTitle);
}
} }
...@@ -24,6 +24,7 @@ import java.util.List; ...@@ -24,6 +24,7 @@ import java.util.List;
import org.junit.Assert; import org.junit.Assert;
import org.olat.selenium.page.graphene.OOGraphene; import org.olat.selenium.page.graphene.OOGraphene;
import org.olat.selenium.page.portfolio.ArtefactWizardPage; import org.olat.selenium.page.portfolio.ArtefactWizardPage;
import org.olat.selenium.page.portfolio.MediaPage;
import org.openqa.selenium.By; import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement; import org.openqa.selenium.WebElement;
...@@ -165,6 +166,20 @@ public class FeedPage { ...@@ -165,6 +166,20 @@ public class FeedPage {
return ArtefactWizardPage.getWizard(browser); return ArtefactWizardPage.getWizard(browser);
} }
/**
* Click the button to add a blog entry as media
* to your portfolio.
*
* @return Itself
*/
public MediaPage addAsMedia() {
By addAsMediaBy = By.cssSelector(".o_post .o_portfolio_collector");
WebElement addAsmediaButton = browser.findElement(addAsMediaBy);
addAsmediaButton.click();
OOGraphene.waitBusy(browser);
return new MediaPage(browser);
}
/** /**
* Click the first month in the pager * Click the first month in the pager
* @return * @return
......
...@@ -26,6 +26,7 @@ import org.jboss.arquillian.graphene.Graphene; ...@@ -26,6 +26,7 @@ import org.jboss.arquillian.graphene.Graphene;
import org.junit.Assert; import org.junit.Assert;
import org.olat.selenium.page.graphene.OOGraphene; import org.olat.selenium.page.graphene.OOGraphene;
import org.olat.selenium.page.portfolio.ArtefactWizardPage; import org.olat.selenium.page.portfolio.ArtefactWizardPage;
import org.olat.selenium.page.portfolio.MediaPage;
import org.openqa.selenium.By; import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement; import org.openqa.selenium.WebElement;
...@@ -133,5 +134,14 @@ public class WikiPage { ...@@ -133,5 +134,14 @@ public class WikiPage {
OOGraphene.waitBusy(browser); OOGraphene.waitBusy(browser);
return ArtefactWizardPage.getWizard(browser); return ArtefactWizardPage.getWizard(browser);
} }
public MediaPage addAsMedia() {
By collectBy = By.cssSelector(".o_wikimod_nav .o_portfolio_collector");
OOGraphene.waitElement(collectBy, 5, browser);
browser.findElement(collectBy).click();
OOGraphene.waitBusy(browser);
OOGraphene.waitModalDialog(browser);
return new MediaPage(browser);
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment