001/*
002 * (C) Copyright 2015 Nuxeo SA (http://nuxeo.com/) and others.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 *     http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 *
016 * Contributors:
017 *     Maxime Hilaire
018 */
019package org.nuxeo.functionaltests.pages;
020
021import org.nuxeo.functionaltests.Required;
022import org.openqa.selenium.WebDriver;
023import org.openqa.selenium.WebElement;
024import org.openqa.selenium.support.FindBy;
025
026/**
027 * Change password sub tab page (From profile page)
028 *
029 * @since 7.3
030 */
031public class OwnUserChangePasswordFormPage extends AbstractPage {
032
033    @Required
034    @FindBy(id = "editUserPassword:nxl_profile_password:nxw_profilePasswordMatcher_firstPassword")
035    WebElement firstPasswordInput;
036
037    @Required
038    @FindBy(id = "editUserPassword:nxl_profile_password:nxw_profilePasswordMatcher_secondPassword")
039    WebElement secondPasswordInput;
040
041    @Required
042    @FindBy(id = "editUserPassword:nxl_profile_password:nxw_profilePasswordMatcher_oldPassword")
043    WebElement oldPasswordInput;
044
045    @Required
046    @FindBy(xpath = "//input[@value=\"Save\"]")
047    WebElement saveButton;
048
049    public OwnUserChangePasswordFormPage(WebDriver driver) {
050        super(driver);
051    }
052
053    public OwnUserChangePasswordFormPage changePassword(String oldPassword, String password) {
054        firstPasswordInput.clear();
055        firstPasswordInput.sendKeys(password);
056        secondPasswordInput.clear();
057        secondPasswordInput.sendKeys(password);
058        oldPasswordInput.clear();
059        oldPasswordInput.sendKeys(oldPassword);
060        saveButton.click();
061        return asPage(OwnUserChangePasswordFormPage.class);
062    }
063
064}