package org.keycloak.testsuite.console.page.users;
import org.keycloak.testsuite.console.page.fragment.OnOffSwitch;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import static org.keycloak.testsuite.page.Form.setInputValue;
import static org.keycloak.testsuite.util.WaitUtils.*;
/**
*
* @author tkyjovsk
*/
public class UserCredentials extends User {
@Override
public String getUriFragment() {
return super.getUriFragment() + "/user-credentials";
}
@FindBy(id = "password")
private WebElement newPasswordInput;
@FindBy(id = "confirmPassword")
private WebElement confirmPasswordInput;
@FindBy(xpath = ".//div[@class='onoffswitch' and ./input[@id='temporaryPassword']]")
private OnOffSwitch temporaryOnOffSwitch;
@FindBy(xpath = ".//div[not(contains(@class, 'ng-hide'))]/button[contains(@data-ng-click, 'resetPassword')]")
private WebElement resetPasswordButton;
public void setNewPassword(String newPassword) {
setInputValue(newPasswordInput, newPassword);
}
public void setConfirmPassword(String confirmPassword) {
setInputValue(confirmPasswordInput, confirmPassword);
}
public void setTemporary(boolean temporary) {
temporaryOnOffSwitch.setOn(temporary);
}
public void clickResetPasswordAndConfirm() {
resetPasswordButton.click();
modalDialog.ok();
}
public void resetPassword(String newPassword) {
resetPassword(newPassword, newPassword);
}
public void resetPassword(String newPassword, String confirmPassword) {
setNewPassword(newPassword);
setConfirmPassword(confirmPassword);
clickResetPasswordAndConfirm();
}
}