use of org.olat.test.rest.UserRestClient in project openolat by klemens.
the class CourseTest method createCourseWithCalendar_alt.
/**
* This is a variant of the test above based on the
* feedback of our beta-testerin.
*
* @param loginPage
* @throws IOException
* @throws URISyntaxException
*/
@Test
@RunAsClient
public void createCourseWithCalendar_alt(@InitialPage LoginPage loginPage) throws IOException, URISyntaxException {
UserVO author = new UserRestClient(deploymentUrl).createAuthor();
loginPage.loginAs(author.getLogin(), author.getPassword());
// create a course
String courseTitle = "Course-iCal-" + UUID.randomUUID();
navBar.openAuthoringEnvironment().createCourse(courseTitle).clickToolbarBack();
navBar.openCourse(courseTitle);
// activate the calendar options
CoursePageFragment course = CoursePageFragment.getCourse(browser);
course.options().calendar(Boolean.TRUE).save().clickToolbarBack();
String calendarNodeTitle = "iCal-2";
// create a course element of type calendar
CourseEditorPageFragment courseEditor = CoursePageFragment.getCourse(browser).edit();
courseEditor.createNode("cal").nodeTitle(calendarNodeTitle);
// publish the course
course = courseEditor.autoPublish();
// open the course and see the CP
course.clickTree().selectWithTitle(calendarNodeTitle);
// create a recurring event
CalendarPage calendar = new CalendarPage(browser);
calendar.addEvent(2).setDescription("Repeat", "Loop", "Foreach").setAllDay(false).setBeginEnd(14, 18).setRecurringEvent(KalendarEvent.WEEKLY, 28).save().assertOnEvents("Repeat", 4);
// pick an occurence which is not the first and modify it
calendar.openDetailsOccurence("Repeat", 16).edit().setBeginEnd(15, 18).save().confirmModifyAllOccurences().assertOnEventsAt("Repeat", 4, 15);
// delete futur event of the same event as above
calendar.openDetailsOccurence("Repeat", 16).edit().delete().confirmDeleteFuturOccurences().assertOnEventsAt("Repeat", 2, 15);
}
use of org.olat.test.rest.UserRestClient in project openolat by klemens.
the class CourseTest method createCourse.
/**
* An author create a course, jump to it, open the editor
* add an info messages course element, publish the course
* and view it.
*
* @param loginPage
* @throws IOException
* @throws URISyntaxException
*/
@Test
@RunAsClient
public void createCourse(@InitialPage LoginPage loginPage) throws IOException, URISyntaxException {
UserVO author = new UserRestClient(deploymentUrl).createAuthor();
loginPage.loginAs(author.getLogin(), author.getPassword());
// go to authoring
AuthoringEnvPage authoringEnv = navBar.assertOnNavigationPage().openAuthoringEnvironment();
String title = "Create-Selen-" + UUID.randomUUID();
// create course
RepositoryEditDescriptionPage editDescription = authoringEnv.openCreateDropDown().clickCreate(ResourceType.course).fillCreateForm(title).assertOnGeneralTab();
// from description editor, back to the course
editDescription.clickToolbarBack();
// open course editor
CoursePageFragment course = CoursePageFragment.getCourse(browser);
CourseEditorPageFragment editor = course.assertOnCoursePage().assertOnTitle(title).openToolsMenu().edit();
// create a course element of type info messages
PublisherPageFragment publisher = editor.assertOnEditor().createNode("info").publish();
// publish
publisher.assertOnPublisher().nextSelectNodes().selectAccess(UserAccess.guest).nextAccess().selectCatalog(false).nextCatalog().finish();
// back to the course
CoursePageFragment publishedCourse = editor.clickToolbarBack();
// review the course
publishedCourse.assertOnCoursePage().clickTree();
}
use of org.olat.test.rest.UserRestClient in project openolat by klemens.
the class CourseTest method tryImportOfWindowsZip.
/**
* Try to import a typical Windows zip with encoding issues. The goal
* is to check that no ugly red screen are produced.
*
* @param loginPage
*/
@Test
@RunAsClient
public void tryImportOfWindowsZip(@InitialPage LoginPage loginPage) throws IOException, URISyntaxException {
UserVO author = new UserRestClient(deploymentUrl).createAuthor();
loginPage.loginAs(author.getLogin(), author.getPassword());
URL zipUrl = JunitTestHelper.class.getResource("file_resources/windows_zip.zip");
File zipFile = new File(zipUrl.toURI());
// go the authoring environment to create a CP
String zipTitle = "ZIP - " + UUID.randomUUID();
navBar.openAuthoringEnvironment().uploadResource(zipTitle, zipFile).assertOnResourceType();
}
use of org.olat.test.rest.UserRestClient in project openolat by klemens.
the class CourseTest method concurrentEditCourse.
/**
* An author create a course, add a second user as co-author
* of the course, and edit the course.<br>
* The co-author select the course and try to edit it, unsuccessfully.
* It try to edit the course directly from the author list without
* success.<br>
* The author closes the editor and the co-author is allowed to edit.
* The author cannot edit i anymore...
*
* @param loginPage Login page of the author
* @param coAuthorBrowser the browser for the coauthor
*/
@Test
@RunAsClient
public void concurrentEditCourse(@InitialPage LoginPage loginPage, @Drone @Participant WebDriver coAuthorBrowser) throws IOException, URISyntaxException {
UserVO author = new UserRestClient(deploymentUrl).createAuthor();
UserVO coAuthor = new UserRestClient(deploymentUrl).createAuthor("Rei");
loginPage.loginAs(author.getLogin(), author.getPassword()).resume();
// go to authoring
AuthoringEnvPage authoringEnv = navBar.assertOnNavigationPage().openAuthoringEnvironment();
String title = "Coedit-" + UUID.randomUUID();
// create course
authoringEnv.openCreateDropDown().clickCreate(ResourceType.course).fillCreateForm(title).assertOnGeneralTab().clickToolbarBack();
// add a second owner
MembersPage members = new CoursePageFragment(browser).members();
members.addMember().searchMember(coAuthor, true).nextUsers().nextOverview().selectRepositoryEntryRole(true, false, false).nextPermissions().finish();
// open the editor
CoursePageFragment coursePage = members.clickToolbarBack();
CourseEditorPageFragment editor = coursePage.edit();
// the second author come in
LoginPage coAuthroLoginPage = LoginPage.getLoginPage(coAuthorBrowser, deploymentUrl);
coAuthroLoginPage.loginAs(coAuthor.getLogin(), coAuthor.getPassword()).resume();
// go to authoring
NavigationPage coAuthorNavBar = new NavigationPage(coAuthorBrowser);
coAuthorNavBar.assertOnNavigationPage().openAuthoringEnvironment().selectResource(title);
// try to edit
CoursePageFragment coAuthorCourse = new CoursePageFragment(coAuthorBrowser);
coAuthorCourse.tryToEdit().assertOnWarning();
// retry in list
coAuthorNavBar.openAuthoringEnvironment().editResource(title);
new CourseEditorPageFragment(coAuthorBrowser).assertOnWarning();
// author close the course editor
editor.clickToolbarBack();
coursePage.assertOnCoursePage();
// co-author edit the course
CourseEditorPageFragment coAuthorEditor = coAuthorCourse.edit().assertOnEditor();
// author try
coursePage.tryToEdit().assertOnWarning();
// co-author close the editor
coAuthorEditor.clickToolbarBack().assertOnCoursePage();
// author reopens the editor
coursePage.edit().assertOnEditor();
}
use of org.olat.test.rest.UserRestClient in project openolat by klemens.
the class CourseTest method createCourseWithCalendar.
/**
* Create a course with a calendar element, add a recurring event
* all day, modify an occurence to an event between 13h and 15h.
* Remove an other single occurence and at the end, remove all remaining
* events by removing the original event and confirm that
* all must be deleted.
*
* @param loginPage
* @throws IOException
* @throws URISyntaxException
*/
@Test
@RunAsClient
public void createCourseWithCalendar(@InitialPage LoginPage loginPage) throws IOException, URISyntaxException {
UserVO author = new UserRestClient(deploymentUrl).createAuthor();
loginPage.loginAs(author.getLogin(), author.getPassword());
// create a course
String courseTitle = "Course-With-iCal-" + UUID.randomUUID();
navBar.openAuthoringEnvironment().createCourse(courseTitle).clickToolbarBack();
navBar.openCourse(courseTitle);
String calendarNodeTitle = "iCal-1";
// create a course element of type calendar
CourseEditorPageFragment courseEditor = CoursePageFragment.getCourse(browser).edit();
courseEditor.createNode("cal").nodeTitle(calendarNodeTitle);
// publish the course
courseEditor.publish().quickPublish();
// open the course and see the calendar
CoursePageFragment course = courseEditor.clickToolbarBack();
course.clickTree().selectWithTitle(calendarNodeTitle);
// create a recurring event
CalendarPage calendar = new CalendarPage(browser);
calendar.addEvent(3).setDescription("Eventhor", "Hammer", "Asgard").setAllDay(true).setRecurringEvent(KalendarEvent.WEEKLY, 28).save();
// modify an occurence
calendar.openDetailsOccurence("Eventhor", 17).edit().setAllDay(false).setBeginEnd(13, 15).save().confirmModifyOneOccurence();
// check
calendar.assertOnEvents("Eventhor", 4).assertOnEventsAt("Eventhor", 1, 13);
// modify all events
calendar.openDetailsOccurence("Eventhor", 3).edit().setDescription("Eventoki", null, null).save().confirmModifyAllOccurences();
// check
calendar.assertOnEvents("Eventoki", 3).assertOnEventsAt("Eventhor", 1, 13);
// delete an occurence
calendar.openDetailsOccurence("Eventoki", 10).edit().delete().confirmDeleteOneOccurence();
// check
calendar.assertOnEvents("Eventoki", 2).assertOnEventsAt("Eventhor", 1, 13);
// delete all
calendar.openDetailsOccurence("Eventoki", 3).edit().delete().confirmDeleteAllOccurences();
OOGraphene.waitingALittleBit();
calendar.assertZeroEvent();
}
Aggregations