use of org.olat.user.restapi.UserVO in project openolat by klemens.
the class UserTest method deleteUser.
/**
* Test if deleted user cannot login anymore. An administrator
* create a user. This user log in and log out. The administrator
* use the direct delete workflow in user management to delete
* it.<br>
* The user try to log in again, unsuccessfully. The
* administrator doesn't find it anymore in the user
* search of the user management tab.
*/
@Test
@RunAsClient
public void deleteUser(@InitialPage LoginPage loginPage, @Drone @User WebDriver userBrowser) {
// login
loginPage.assertOnLoginPage().loginAs("administrator", "openolat").resume();
String uuid = UUID.randomUUID().toString();
String username = "miku-" + uuid;
String lastName = "Hatsune" + uuid;
UserVO userVo = UserAdminPage.createUserVO(username, "Miku", lastName, "miku-" + uuid + "@openolat.com", "miku01");
UserAdminPage userAdminPage = navBar.openUserManagement().openCreateUser().fillUserForm(userVo).assertOnUserEditView(username);
// user log in
LoginPage userLoginPage = LoginPage.getLoginPage(userBrowser, deploymentUrl);
// tools
userLoginPage.loginAs(username, "miku01").resume().assertLoggedIn(userVo);
// log out
new UserToolsPage(userBrowser).logout();
// admin delete
userAdminPage.openDirectDeleteUser().searchUserToDelete(username).selectAndDeleteUser(lastName);
// user try the login
userLoginPage = LoginPage.getLoginPage(userBrowser, deploymentUrl);
userLoginPage.loginDenied(username, "miku01");
// assert on error message
By errorMessageby = By.cssSelector("div.modal-body.alert.alert-danger");
OOGraphene.waitElement(errorMessageby, 2, userBrowser);
// administrator search the deleted user
userAdminPage.openSearchUser().searchByUsername(username).assertNotInUserList(username);
}
use of org.olat.user.restapi.UserVO in project openolat by klemens.
the class UserTest method loginInHomeWithRestUrl.
/**
* Jump to notifications in home, go to the courses and return
* to home's notification with a REST url.
*
* @see https://jira.openolat.org/browse/OO-1962
* @param loginPage
* @throws IOException
* @throws URISyntaxException
*/
@Test
@RunAsClient
public void loginInHomeWithRestUrl(@InitialPage LoginPage loginPage) throws IOException, URISyntaxException {
// create a random user
UserRestClient userClient = new UserRestClient(deploymentUrl);
UserVO user = userClient.createRandomUser();
// load dmz
loginPage.assertOnLoginPage();
String jumpToNotificationsUrl = deploymentUrl.toString() + "url/HomeSite/" + user.getKey() + "/notifications/0";
browser.get(jumpToNotificationsUrl);
loginPage.loginAs(user.getLogin(), user.getPassword());
// must see the notification
new UserToolsPage(browser).assertOnNotifications();
// go to courses
navBar.openMyCourses();
// use url to go to notifications
String goToNotificationsUrl = deploymentUrl.toString() + "auth/HomeSite/" + user.getKey() + "/notifications/0";
browser.get(goToNotificationsUrl);
// must see the notification
new UserToolsPage(browser).assertOnNotifications();
}
use of org.olat.user.restapi.UserVO in project openolat by klemens.
the class UserTest method resumeCourseOnDemand.
/**
* Set the resume preferences to resume the session on request,
* open a course, log out, log in, resume the session and check
* if the course is resumed.
*
* @param loginPage
* @throws IOException
* @throws URISyntaxException
*/
@Test
public void resumeCourseOnDemand(@InitialPage LoginPage loginPage) throws IOException, URISyntaxException {
// create a random user
UserVO user = new UserRestClient(deploymentUrl).createRandomUser();
// deploy a course
CourseVO course = new RepositoryRestClient(deploymentUrl).deployDemoCourse();
// login
loginPage.loginAs(user.getLogin(), user.getPassword());
// set the preferences to resume automatically
UserToolsPage userTools = new UserToolsPage(browser);
userTools.openUserToolsMenu().openMySettings().openPreferences().setResume(ResumeOption.ondemand);
// open a course via REST url and click it
CoursePageFragment.getCourse(browser, deploymentUrl, course).clickTree();
// logout
userTools.logout();
// login again
loginPage.assertOnLoginPage().loginAs(user.getLogin(), user.getPassword());
// resume
loginPage.resumeWithAssert();
// check the title of the course if any
WebElement courseTitle = browser.findElement(By.tagName("h2"));
Assert.assertNotNull(courseTitle);
Assert.assertTrue(courseTitle.isDisplayed());
Assert.assertTrue(courseTitle.getText().contains(course.getTitle()));
}
use of org.olat.user.restapi.UserVO in project openolat by klemens.
the class UserTest method createUser.
/**
* The administrator create an user, the user log in.
*
* @param loginPage
* @throws IOException
* @throws URISyntaxException
*/
@Test
@RunAsClient
public void createUser(@InitialPage LoginPage loginPage, @Drone @User WebDriver userBrowser) throws IOException, URISyntaxException {
// login
loginPage.assertOnLoginPage().loginAs("administrator", "openolat").resume();
String uuid = UUID.randomUUID().toString();
String username = "miku-" + uuid;
UserVO userVo = UserAdminPage.createUserVO(username, "Miku", "Hatsune", "miku-" + uuid + "@openolat.com", "miku01");
UserAdminPage userAdminPage = navBar.openUserManagement().openCreateUser().fillUserForm(userVo).assertOnUserEditView(username);
userAdminPage.openSearchUser().searchByUsername(username).assertOnUserInList(username).selectByUsername(username).assertOnUserEditView(username);
// user log in
LoginPage userLoginPage = LoginPage.getLoginPage(userBrowser, deploymentUrl);
// tools
userLoginPage.loginAs(username, "miku01").resume().assertLoggedIn(userVo);
}
use of org.olat.user.restapi.UserVO in project openolat by klemens.
the class MembersWizardPage method setMembers.
public MembersWizardPage setMembers(UserVO... users) {
StringBuilder sb = new StringBuilder();
for (UserVO user : users) {
if (sb.length() > 0)
sb.append("\\n");
sb.append(user.getLogin());
}
By importAreaBy = By.cssSelector(".modal-content textarea");
WebElement importAreaEl = browser.findElement(importAreaBy);
OOGraphene.textarea(importAreaEl, sb.toString(), browser);
return this;
}
Aggregations