Search in sources :

Example 31 with AuthoringEnvPage

use of org.olat.selenium.page.repository.AuthoringEnvPage in project openolat by klemens.

the class CourseTest method createCourse_withWizard.

/**
 * Create a course, use the course wizard, select all course
 * elements and go further with the standard settings.
 *
 * Go from the description editor to the course, check
 * that the course is automatically published and that
 * the five course elements are there.
 *
 * @param loginPage
 * @throws IOException
 * @throws URISyntaxException
 */
@Test
@RunAsClient
public void createCourse_withWizard(@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-Course-Wizard-" + UUID.randomUUID().toString();
    // create course
    CourseWizardPage courseWizard = authoringEnv.openCreateDropDown().clickCreate(ResourceType.course).fillCreateFormAndStartWizard(title);
    courseWizard.selectAllCourseElements().nextNodes().nextCatalog().finish();
    // OOGraphene.closeErrorBox(browser);//STMP error
    RepositoryEditDescriptionPage editDescription = new RepositoryEditDescriptionPage(browser);
    // from description editor, back to details and launch the course
    editDescription.assertOnGeneralTab();
    // close mail error
    OOGraphene.closeErrorBox(browser);
    editDescription.clickToolbarBack();
    // open course editor
    CoursePageFragment course = CoursePageFragment.getCourse(browser);
    course.assertOnCoursePage().assertOnTitle(title);
    // assert the 5 nodes are there and click them
    By nodeBy = By.cssSelector("span.o_tree_link.o_tree_l1.o_tree_level_label_leaf>a");
    List<WebElement> nodes = browser.findElements(nodeBy);
    Assert.assertEquals(5, nodes.size());
    for (WebElement node : nodes) {
        node.click();
        OOGraphene.waitBusy(browser);
    }
}
Also used : UserVO(org.olat.user.restapi.UserVO) AuthoringEnvPage(org.olat.selenium.page.repository.AuthoringEnvPage) CourseWizardPage(org.olat.selenium.page.course.CourseWizardPage) CoursePageFragment(org.olat.selenium.page.course.CoursePageFragment) By(org.openqa.selenium.By) WebElement(org.openqa.selenium.WebElement) RepositoryEditDescriptionPage(org.olat.selenium.page.repository.RepositoryEditDescriptionPage) UserRestClient(org.olat.test.rest.UserRestClient) RunAsClient(org.jboss.arquillian.container.test.api.RunAsClient) Test(org.junit.Test)

Example 32 with AuthoringEnvPage

use of org.olat.selenium.page.repository.AuthoringEnvPage in project openolat by klemens.

the class CourseTest method createCourseWithSpecialCharacters.

/**
 * Check if we can create and open a course with this
 * name: It's me, the "course".
 * @see https://jira.openolat.org/browse/OO-1839
 *
 * @param loginPage
 * @throws IOException
 * @throws URISyntaxException
 */
@Test
@RunAsClient
public void createCourseWithSpecialCharacters(@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 marker = Long.toString(System.currentTimeMillis());
    String title = "It's me, the \"course\" number " + marker;
    // create course
    RepositoryEditDescriptionPage editDescription = authoringEnv.openCreateDropDown().clickCreate(ResourceType.course).fillCreateForm(title).assertOnGeneralTab();
    // from description editor, back to the course
    editDescription.clickToolbarBack();
    // close the course
    navBar.closeTab();
    // select the authoring
    navBar.openAuthoringEnvironment().selectResource(marker);
    new CoursePageFragment(browser).assertOnCoursePage();
}
Also used : UserVO(org.olat.user.restapi.UserVO) AuthoringEnvPage(org.olat.selenium.page.repository.AuthoringEnvPage) CoursePageFragment(org.olat.selenium.page.course.CoursePageFragment) RepositoryEditDescriptionPage(org.olat.selenium.page.repository.RepositoryEditDescriptionPage) UserRestClient(org.olat.test.rest.UserRestClient) RunAsClient(org.jboss.arquillian.container.test.api.RunAsClient) Test(org.junit.Test)

Example 33 with AuthoringEnvPage

use of org.olat.selenium.page.repository.AuthoringEnvPage 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);
}
Also used : UserVO(org.olat.user.restapi.UserVO) AuthoringEnvPage(org.olat.selenium.page.repository.AuthoringEnvPage) NavigationPage(org.olat.selenium.page.NavigationPage) BookingPage(org.olat.selenium.page.core.BookingPage) CoursePageFragment(org.olat.selenium.page.course.CoursePageFragment) RepositoryAccessPage(org.olat.selenium.page.repository.RepositoryAccessPage) LoginPage(org.olat.selenium.page.LoginPage) UserRestClient(org.olat.test.rest.UserRestClient) RunAsClient(org.jboss.arquillian.container.test.api.RunAsClient) Test(org.junit.Test)

Example 34 with AuthoringEnvPage

use of org.olat.selenium.page.repository.AuthoringEnvPage in project openolat by klemens.

the class UserTest method loginInHomeWithLandingPage.

/**
 * An user configures its landing page, log out
 * and try it.
 *
 * @param loginPage
 * @throws IOException
 * @throws URISyntaxException
 */
@Test
@RunAsClient
public void loginInHomeWithLandingPage(@InitialPage LoginPage loginPage) throws IOException, URISyntaxException {
    // create a random user
    UserRestClient userClient = new UserRestClient(deploymentUrl);
    UserVO user = userClient.createAuthor();
    loginPage.assertOnLoginPage().loginAs(user.getLogin(), user.getPassword());
    UserToolsPage userTools = new UserToolsPage(browser);
    userTools.openUserToolsMenu().openMySettings().openPreferences().setResume(ResumeOption.none).setLandingPage("/RepositorySite/0/Search/0");
    userTools.logout();
    loginPage.assertOnLoginPage().loginAs(user.getLogin(), user.getPassword());
    new AuthoringEnvPage(browser).assertOnGenericSearch();
}
Also used : UserToolsPage(org.olat.selenium.page.user.UserToolsPage) UserVO(org.olat.user.restapi.UserVO) AuthoringEnvPage(org.olat.selenium.page.repository.AuthoringEnvPage) UserRestClient(org.olat.test.rest.UserRestClient) RunAsClient(org.jboss.arquillian.container.test.api.RunAsClient) Test(org.junit.Test)

Aggregations

RunAsClient (org.jboss.arquillian.container.test.api.RunAsClient)34 Test (org.junit.Test)34 AuthoringEnvPage (org.olat.selenium.page.repository.AuthoringEnvPage)34 UserRestClient (org.olat.test.rest.UserRestClient)34 UserVO (org.olat.user.restapi.UserVO)34 CoursePageFragment (org.olat.selenium.page.course.CoursePageFragment)30 NavigationPage (org.olat.selenium.page.NavigationPage)20 LoginPage (org.olat.selenium.page.LoginPage)18 CourseEditorPageFragment (org.olat.selenium.page.course.CourseEditorPageFragment)14 UserToolsPage (org.olat.selenium.page.user.UserToolsPage)12 Calendar (java.util.Calendar)8 MembersPage (org.olat.selenium.page.course.MembersPage)8 LectureRepositoryAdminListPage (org.olat.selenium.page.lecture.LectureRepositoryAdminListPage)8 LectureRepositoryAdminPage (org.olat.selenium.page.lecture.LectureRepositoryAdminPage)8 URL (java.net.URL)6 RollCallInterceptorPage (org.olat.selenium.page.lecture.RollCallInterceptorPage)6 RepositoryEditDescriptionPage (org.olat.selenium.page.repository.RepositoryEditDescriptionPage)6 File (java.io.File)4 Date (java.util.Date)2 BookingPage (org.olat.selenium.page.core.BookingPage)2