use of org.olat.test.rest.UserRestClient in project OpenOLAT by OpenOLAT.
the class PortfolioV2Test method createTemplate.
/**
* Create a portfolio, a course with a portoflio course element,
* publish it, ad a participant. The participant log in, search
* the course and pick the portfolio.
*
* @param loginPage
* @throws IOException
* @throws URISyntaxException
*/
@Test
@RunAsClient
public void createTemplate(@InitialPage LoginPage loginPage, @Drone @User WebDriver ryomouBrowser) throws IOException, URISyntaxException {
UserVO author = new UserRestClient(deploymentUrl).createAuthor();
UserVO ryomou = new UserRestClient(deploymentUrl).createRandomUser("ryomou");
loginPage.loginAs(author.getLogin(), author.getPassword()).resume();
String binderTitle = "PF-Binder-" + UUID.randomUUID();
navBar.openAuthoringEnvironment().createPortfolioBinder(binderTitle).clickToolbarBack();
String sectionTitle = "Section 1 " + UUID.randomUUID();
String assignmentTitle = "Assignment 1 " + UUID.randomUUID();
BinderPage portfolio = new BinderPage(browser);
portfolio.assertOnBinder().selectEntries().createSectionInEntries(sectionTitle).createAssignmentForSection(sectionTitle, assignmentTitle, "Write a small summary", "Your task is...").assertOnAssignmentInEntries(assignmentTitle);
String courseTitle = "PF Course " + UUID.randomUUID();
navBar.openAuthoringEnvironment().createCourse(courseTitle).clickToolbarBack();
String portfolioNodeTitle = "Template-EP-v2";
// create a course element of type portfolio and choose the one we created above
CourseEditorPageFragment courseEditor = CoursePageFragment.getCourse(browser).edit();
courseEditor.createNode("ep").nodeTitle(portfolioNodeTitle).selectTabLearnContent().choosePortfolio(binderTitle).publish().quickPublish(UserAccess.membersOnly);
MembersPage membersPage = courseEditor.clickToolbarBack().members();
membersPage.importMembers().setMembers(ryomou).nextUsers().nextOverview().nextPermissions().finish();
// Participant log in
LoginPage ryomouLoginPage = LoginPage.getLoginPage(ryomouBrowser, deploymentUrl);
ryomouLoginPage.loginAs(ryomou).resume();
// open the course
NavigationPage ryomouNavBar = new NavigationPage(ryomouBrowser);
ryomouNavBar.openMyCourses().select(courseTitle);
// go to the portfolio course element
CoursePageFragment ryomouTestCourse = new CoursePageFragment(ryomouBrowser);
ryomouTestCourse.clickTree().selectWithTitle(portfolioNodeTitle);
PortfolioElementPage portfolioCourseEl = new PortfolioElementPage(ryomouBrowser);
BinderPage binder = portfolioCourseEl.pickPortfolio().goToPortfolioV2();
binder.selectEntries().pickAssignment(assignmentTitle);
}
use of org.olat.test.rest.UserRestClient in project OpenOLAT by OpenOLAT.
the class PortfolioV2Test method collectForumMediaInCourse.
/**
* Create a course with a forum, open a new thread and pick it as
* a media. Go in the media center and check that the media
* is waiting there, click the details and check again.
*
* @param loginPage
* @throws IOException
* @throws URISyntaxException
*/
@Test
@RunAsClient
public void collectForumMediaInCourse(@InitialPage LoginPage loginPage) throws IOException, URISyntaxException {
UserVO author = new UserRestClient(deploymentUrl).createAuthor();
loginPage.loginAs(author.getLogin(), author.getPassword()).resume();
String courseTitle = "Collect-Forum-" + UUID.randomUUID();
String forumTitle = ("Forum-" + UUID.randomUUID()).substring(0, 24);
// go to authoring, create a course with a forum
navBar.openAuthoringEnvironment().openCreateDropDown().clickCreate(ResourceType.course).fillCreateForm(courseTitle).clickToolbarBack();
// open course editor
CourseEditorPageFragment courseEditor = CoursePageFragment.getCourse(browser).edit();
courseEditor.createNode("fo").nodeTitle(forumTitle).publish().quickPublish();
courseEditor.clickToolbarBack();
CoursePageFragment course = CoursePageFragment.getCourse(browser);
course.clickTree().selectWithTitle(forumTitle);
String mediaTitle = "A post";
String threadTitle = "Very interessant thread";
ForumPage forum = ForumPage.getCourseForumPage(browser);
forum.createThread(threadTitle, "With a lot of content", null).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);
}
use of org.olat.test.rest.UserRestClient in project OpenOLAT by OpenOLAT.
the class PortfolioV2Test method editPage.
/**
* A user create a page / entry, it edit it
* and add a title, an image, a document
* and a citation. It toggles between the editor
* mode and the view mode to check if the parts it
* add in the page are really there.
*
* @param loginPage
* @throws IOException
* @throws URISyntaxException
*/
@Test
@RunAsClient
public void editPage(@InitialPage LoginPage loginPage) throws IOException, URISyntaxException {
UserVO user = new UserRestClient(deploymentUrl).createRandomUser("rei");
loginPage.loginAs(user.getLogin(), user.getPassword()).resume();
UserToolsPage userTools = new UserToolsPage(browser);
PortfolioV2HomePage portfolio = userTools.openUserToolsMenu().openPortfolioV2();
String pageTitle = "My page " + UUID.randomUUID();
EntryPage entry = portfolio.openMyEntries().newPage(pageTitle).assertOnPage(pageTitle);
// add a title
String title = "My long title " + UUID.randomUUID();
entry.addTitle(title).setTitleSize(4).closeEditFragment().assertOnTitle(title, 4);
// add an image
URL imageUrl = JunitTestHelper.class.getResource("file_resources/IMG_1484.jpg");
File imageFile = new File(imageUrl.toURI());
entry.addImage("Blue is the new black", imageFile).assertOnImage(imageFile);
// close the editor and check
entry.toggleEditor().assertOnTitle(title, 4).assertOnImage(imageFile);
// reopen the editor and add a document
URL pdfUrl = JunitTestHelper.class.getResource("file_resources/handInTopic1.pdf");
File pdfFile = new File(pdfUrl.toURI());
entry.toggleEditor().addDocument("Anything about", pdfFile).assertOnDocument(pdfFile);
// and a citation
String citation = "Close the world, open the next.";
entry.addCitation("Serial experiment", citation).assertOnCitation(citation);
// close the editor and check all parts
entry.toggleEditor().assertOnTitle(title, 4).assertOnImage(imageFile).assertOnDocument(pdfFile).assertOnCitation(citation);
}
use of org.olat.test.rest.UserRestClient in project openolat by klemens.
the class PortfolioV2Test method deletePage.
/**
* A user create a binder with a section and two pages. It deletes
* one, go to the trash, find the delete page, restore it and go
* again in the binder. It move a second time the page to the trash
* and delete it definitively.
*
* @param loginPage
* @throws IOException
* @throws URISyntaxException
*/
@Test
@RunAsClient
public void deletePage(@InitialPage LoginPage loginPage) throws IOException, URISyntaxException {
UserVO author = new UserRestClient(deploymentUrl).createRandomUser("rei");
loginPage.loginAs(author.getLogin(), author.getPassword()).resume();
UserToolsPage userTools = new UserToolsPage(browser);
PortfolioV2HomePage portfolio = userTools.openUserToolsMenu().openPortfolioV2();
String binderTitle = "Binder del " + UUID.randomUUID();
BinderPage binder = portfolio.openMyBinders().createBinder(binderTitle, "A binder where I want to delete some pages");
String sectionTitle = "Section one " + UUID.randomUUID();
binder.selectEntries().createSection(sectionTitle).assertOnSectionTitleInEntries(sectionTitle);
String pageTitle = "Page two " + UUID.randomUUID();
String pageToDelete = "Page del " + UUID.randomUUID();
binder.createEntry(pageToDelete).assertOnPage(pageToDelete).selectEntries().createEntry(pageTitle).assertOnPage(pageTitle).selectTableOfContent().selectEntryInToc(pageToDelete).moveEntryToTrash().assertOnPageInToc(pageTitle).assertOnPageNotInToc(pageToDelete);
EntriesPage trash = portfolio.clickToolbarBack().clickToolbarBack().openDeletedEntries();
trash.assertOnPage(pageToDelete).switchTableView().restore(pageToDelete, binderTitle, sectionTitle);
portfolio.clickToolbarBack().openMyBinders().selectBinder(binderTitle).assertOnPageInToc(pageToDelete).selectEntryInToc(pageToDelete).moveEntryToTrash();
trash = portfolio.clickToolbarBack().clickToolbarBack().openDeletedEntries();
trash.switchTableView().assertOnPageTableView(pageToDelete).switchTableView().selectPageInTableView(pageToDelete).deleteEntry().assertEmptyTableView();
}
use of org.olat.test.rest.UserRestClient in project openolat by klemens.
the class PortfolioV2Test method collectEfficiencyStatement.
/**
* Create a course with an assessment course element, setup
* efficiency statement, add a user and assess her.
* The user log in, search its efficiency statement, pick it
* as a media for is portfolio and goes in the media center
* to search it and select it.
*
* @param authorLoginPage
* @param ryomouBrowser
* @throws IOException
* @throws URISyntaxException
*/
@Test
@RunAsClient
public void collectEfficiencyStatement(@InitialPage LoginPage authorLoginPage, @Drone @User WebDriver ryomouBrowser) throws IOException, URISyntaxException {
UserVO author = new UserRestClient(deploymentUrl).createAuthor();
UserVO ryomou = new UserRestClient(deploymentUrl).createRandomUser("Ryomou");
authorLoginPage.loginAs(author.getLogin(), author.getPassword());
// create a course
String courseTitle = "Course-Assessment-" + UUID.randomUUID();
navBar.openAuthoringEnvironment().createCourse(courseTitle).clickToolbarBack();
// create a course element of type Test with the test that we create above
String assessmentNodeTitle = "Efficiency PF";
CourseEditorPageFragment courseEditor = CoursePageFragment.getCourse(browser).edit().createNode("ms").nodeTitle(assessmentNodeTitle);
// configure assessment
AssessmentCEConfigurationPage assessmentConfig = new AssessmentCEConfigurationPage(browser);
assessmentConfig.selectConfiguration().setScoreAuto(1.0f, 6.0f, 4.0f);
// set the score / passed calculation in root node and publish
courseEditor.selectRoot().selectTabScore().enableRootScoreByNodes().autoPublish().accessConfiguration().setUserAccess(UserAccess.registred);
// go to members management
CoursePageFragment courseRuntime = courseEditor.clickToolbarBack();
MembersPage members = courseRuntime.members();
members.addMember().searchMember(ryomou, true).nextUsers().nextOverview().nextPermissions().finish();
// efficiency statement is default on
// go to the assessment to to set the points
members.clickToolbarBack().assessmentTool().users().assertOnUsers(ryomou).selectUser(ryomou).selectCourseNode(assessmentNodeTitle).setAssessmentScore(4.5f).assertUserPassedCourseNode(assessmentNodeTitle);
// Ryomou login
LoginPage ryomouLoginPage = LoginPage.getLoginPage(ryomouBrowser, deploymentUrl);
ryomouLoginPage.loginAs(ryomou.getLogin(), ryomou.getPassword()).resume();
// see its beautiful efficiency statement
String mediaTitle = "My efficiency";
String mediaDesc = "My efficiency statement " + UUID.randomUUID();
UserToolsPage ryomouUserTools = new UserToolsPage(ryomouBrowser);
ryomouUserTools.openUserToolsMenu().openMyEfficiencyStatement().assertOnEfficiencyStatmentPage().assertOnStatement(courseTitle, true).addAsMediaInList(courseTitle).fillEfficiencyStatementMedia(mediaTitle, mediaDesc);
MediaCenterPage mediaCenter = ryomouUserTools.openUserToolsMenu().openPortfolioV2().openMediaCenter();
mediaCenter.assertOnMedia(mediaTitle).selectMedia(mediaTitle).assertOnMediaDetails(mediaTitle);
}
Aggregations