use of org.olat.selenium.page.core.BookingPage in project OpenOLAT by OpenOLAT.
the class CourseTest method courseBooking.
/**
* An author creates a course, make it visible for
* members and add an access control by password.
* The user search for the course, books it and give
* the password.<br/>
* The author checks in the list of orders if the booking
* of the user is there and after it checks if the user is
* in the member list too.
*
* @param loginPage
* @param ryomouBrowser
* @throws IOException
* @throws URISyntaxException
*/
@Test
@RunAsClient
public void courseBooking(@InitialPage LoginPage loginPage, @Drone @User WebDriver ryomouBrowser) throws IOException, URISyntaxException {
UserVO author = new UserRestClient(deploymentUrl).createAuthor();
loginPage.loginAs(author.getLogin(), author.getPassword());
UserVO ryomou = new UserRestClient(deploymentUrl).createRandomUser("Ryomou");
// go to authoring
AuthoringEnvPage authoringEnv = navBar.assertOnNavigationPage().openAuthoringEnvironment();
String title = "Create-Selen-" + UUID.randomUUID().toString();
// create course
authoringEnv.openCreateDropDown().clickCreate(ResourceType.course).fillCreateForm(title).assertOnGeneralTab();
// open course editor
CoursePageFragment course = new CoursePageFragment(browser);
RepositoryAccessPage courseAccess = course.openToolsMenu().edit().createNode("info").autoPublish().accessConfiguration().setUserAccess(UserAccess.registred);
// add booking by secret token
courseAccess.boooking().openAddDropMenu().addTokenMethod().configureTokenMethod("secret", "The password is secret");
courseAccess.clickToolbarBack();
// a user search the course
LoginPage ryomouLoginPage = LoginPage.getLoginPage(ryomouBrowser, deploymentUrl);
ryomouLoginPage.loginAs(ryomou.getLogin(), ryomou.getPassword()).resume();
NavigationPage ryomouNavBar = new NavigationPage(ryomouBrowser);
ryomouNavBar.openMyCourses().openSearch().extendedSearch(title).book(title);
// book the course
BookingPage booking = new BookingPage(ryomouBrowser);
booking.bookToken("secret");
// check the course
CoursePageFragment bookedCourse = CoursePageFragment.getCourse(ryomouBrowser);
bookedCourse.assertOnTitle(title);
// Author go in the list of bookings of the course
BookingPage bookingList = course.openToolsMenu().bookingTool();
bookingList.assertFirstNameInListIsOk(ryomou);
// Author go to members list
course.members().assertFirstNameInList(ryomou);
}
use of org.olat.selenium.page.core.BookingPage in project OpenOLAT by OpenOLAT.
the class RepositoryAccessPage method boooking.
public BookingPage boooking() {
By bookingFieldsetBy = By.cssSelector("fieldset.o_ac_configuration");
List<WebElement> bookingFieldsetEls = browser.findElements(bookingFieldsetBy);
Assert.assertEquals(1, bookingFieldsetEls.size());
return new BookingPage(browser);
}
use of org.olat.selenium.page.core.BookingPage in project OpenOLAT by OpenOLAT.
the class GroupsPage method bookGroup.
/**
* Click on the book link
*
* @param name
* @return
*/
public BookingPage bookGroup(String name) {
By rowBy = By.cssSelector("div.o_table_wrapper tr");
By colBy = By.cssSelector("td a");
WebElement groupLink = null;
List<WebElement> rows = browser.findElements(rowBy);
for (WebElement row : rows) {
if (row.getText().contains(name)) {
// take the last link of the row
List<WebElement> links = row.findElements(colBy);
if (links.size() > 0) {
groupLink = links.get(links.size() - 1);
}
}
}
Assert.assertNotNull(groupLink);
groupLink.click();
OOGraphene.waitBusy(browser);
By tokenEntryBy = By.className("o_sel_accesscontrol_token_entry");
OOGraphene.waitElement(tokenEntryBy, browser);
return new BookingPage(browser);
}
use of org.olat.selenium.page.core.BookingPage in project openolat by klemens.
the class CourseTest method courseBooking.
/**
* An author creates a course, make it visible for
* members and add an access control by password.
* The user search for the course, books it and give
* the password.<br/>
* The author checks in the list of orders if the booking
* of the user is there and after it checks if the user is
* in the member list too.
*
* @param loginPage
* @param ryomouBrowser
* @throws IOException
* @throws URISyntaxException
*/
@Test
@RunAsClient
public void courseBooking(@InitialPage LoginPage loginPage, @Drone @User WebDriver ryomouBrowser) throws IOException, URISyntaxException {
UserVO author = new UserRestClient(deploymentUrl).createAuthor();
loginPage.loginAs(author.getLogin(), author.getPassword());
UserVO ryomou = new UserRestClient(deploymentUrl).createRandomUser("Ryomou");
// go to authoring
AuthoringEnvPage authoringEnv = navBar.assertOnNavigationPage().openAuthoringEnvironment();
String title = "Create-Selen-" + UUID.randomUUID().toString();
// create course
authoringEnv.openCreateDropDown().clickCreate(ResourceType.course).fillCreateForm(title).assertOnGeneralTab();
// open course editor
CoursePageFragment course = new CoursePageFragment(browser);
RepositoryAccessPage courseAccess = course.openToolsMenu().edit().createNode("info").autoPublish().accessConfiguration().setUserAccess(UserAccess.registred);
// add booking by secret token
courseAccess.boooking().openAddDropMenu().addTokenMethod().configureTokenMethod("secret", "The password is secret");
courseAccess.clickToolbarBack();
// a user search the course
LoginPage ryomouLoginPage = LoginPage.getLoginPage(ryomouBrowser, deploymentUrl);
ryomouLoginPage.loginAs(ryomou.getLogin(), ryomou.getPassword()).resume();
NavigationPage ryomouNavBar = new NavigationPage(ryomouBrowser);
ryomouNavBar.openMyCourses().openSearch().extendedSearch(title).book(title);
// book the course
BookingPage booking = new BookingPage(ryomouBrowser);
booking.bookToken("secret");
// check the course
CoursePageFragment bookedCourse = CoursePageFragment.getCourse(ryomouBrowser);
bookedCourse.assertOnTitle(title);
// Author go in the list of bookings of the course
BookingPage bookingList = course.openToolsMenu().bookingTool();
bookingList.assertFirstNameInListIsOk(ryomou);
// Author go to members list
course.members().assertFirstNameInList(ryomou);
}
use of org.olat.selenium.page.core.BookingPage in project openolat by klemens.
the class RepositoryAccessPage method boooking.
public BookingPage boooking() {
By bookingFieldsetBy = By.cssSelector("fieldset.o_ac_configuration");
List<WebElement> bookingFieldsetEls = browser.findElements(bookingFieldsetBy);
Assert.assertEquals(1, bookingFieldsetEls.size());
return new BookingPage(browser);
}
Aggregations