diff --git a/smp-ui-tests/src/main/java/pages/components/SandwichMenu.java b/smp-ui-tests/src/main/java/pages/components/SandwichMenu.java index cea32852cb3623d952d4a84c63718dd36119e559..73204029c5cc7e5ebc8f79e2b6bd5224e1bd042d 100644 --- a/smp-ui-tests/src/main/java/pages/components/SandwichMenu.java +++ b/smp-ui-tests/src/main/java/pages/components/SandwichMenu.java @@ -11,33 +11,27 @@ import pages.service_groups.search.SearchPage; import utils.PROPERTIES; public class SandwichMenu extends PageComponent { - public SandwichMenu(WebDriver driver) { - super(driver); - log.info("sandwich menu init"); - - PageFactory.initElements( new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - } - - @SuppressWarnings("SpellCheckingInspection") @FindBy(id = "settingsmenu_id") WebElement expandoButton; - @FindBy(css = "div.mat-menu-content") WebElement lnkContainer; - @SuppressWarnings("SpellCheckingInspection") @FindBy(id = "currentuser_id") WebElement currentUserID; - @FindBy(id = "logout_id") WebElement logoutLnk; - @FindBy(id = "changePassword_id") WebElement passChangeLnk; + public SandwichMenu(WebDriver driver) { + super(driver); + log.info("sandwich menu init"); + + PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); + } - public boolean isLoggedIn(){ + public boolean isLoggedIn() { clickVoidSpace(); waitForElementToBeClickable(expandoButton).click(); @@ -46,24 +40,26 @@ public class SandwichMenu extends PageComponent { try { String text = waitForElementToBeVisible(lnkContainer).getText(); isLoggedIn = !text.contains("Not logged in"); - } catch (Exception e) { } + } catch (Exception e) { + } log.info("User login status is: " + isLoggedIn); clickVoidSpace(); return isLoggedIn; } - public PasswordChangepopup clickChangePasswordOption() - { + + public PasswordChangepopup clickChangePasswordOption() { waitForElementToBeClickable(expandoButton).click(); + waitForElementToBeGone(expandoButton); waitForElementToBeClickable(passChangeLnk).click(); return new PasswordChangepopup(driver); } - public SearchPage logout(){ + public SearchPage logout() { clickVoidSpace(); - if(isLoggedIn()){ + if (isLoggedIn()) { waitForElementToBeClickable(expandoButton).click(); waitForElementToBeClickable(logoutLnk).click(); log.info("Logging out..."); @@ -71,7 +67,7 @@ public class SandwichMenu extends PageComponent { return new SearchPage(driver); } - public void waitForSandwichMenu(){ + public void waitForSandwichMenu() { log.info("waiting for sandwich menu"); waitForXMillis(500); waitForElementToBeVisible(expandoButton); diff --git a/smp-ui-tests/src/main/java/pages/components/baseComponents/Header.java b/smp-ui-tests/src/main/java/pages/components/baseComponents/Header.java index 7e81bd57fb19b02e92f021a2c6e20664eb0928ac..e5535ddcfb1ce2dff21efaf0c617c44b0b5b07fe 100644 --- a/smp-ui-tests/src/main/java/pages/components/baseComponents/Header.java +++ b/smp-ui-tests/src/main/java/pages/components/baseComponents/Header.java @@ -7,16 +7,11 @@ import org.openqa.selenium.support.PageFactory; import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory; import pages.components.SandwichMenu; import pages.login.LoginPage; -import pages.password.PasswordChangepopup; import utils.PROPERTIES; -public class Header extends PageComponent{ - - public Header(WebDriver driver) { - super(driver); - PageFactory.initElements( new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - } +public class Header extends PageComponent { + public SandwichMenu sandwichMenu = new SandwichMenu(driver); @FindBy(id = "_header_id") private WebElement pageTitle; @@ -29,41 +24,33 @@ public class Header extends PageComponent{ @FindBy(css = "#sandwichMenu .ng-star-inserted") private WebElement role; - @FindBy(css = "#changePassword_id") - private WebElement changePasswordOption; - - public SandwichMenu sandwichMenu = new SandwichMenu(driver); - - public PasswordChangepopup clickChangePasswordOption() - { - log.info("Clicking on changepassword option"); - waitForElementToBeClickable(changePasswordOption).click(); - return new PasswordChangepopup(driver); + public Header(WebDriver driver) { + super(driver); + PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); } - public LoginPage goToLogin(){ + public LoginPage goToLogin() { log.info("Going to login page"); waitForElementToBeClickable(loginLnk).click(); return new LoginPage(driver); } - public void waitForTitleToBe(String title){ + public void waitForTitleToBe(String title) { log.info("waiting for page title to be " + title); waitForXMillis(500); waitForElementToHaveText(pageTitle, title); } - public void waitForTitleToBe(){ + public void waitForTitleToBe() { log.info("waiting for page title to be present"); waitForXMillis(500); waitForElementToBeVisible(pageTitle); } - public String getRoleName() - { + public String getRoleName() { String getUserRole = role.getText(); - String roleName= getUserRole.split(":")[0].trim(); + String roleName = getUserRole.split(":")[0].trim(); return roleName; } } diff --git a/smp-ui-tests/src/main/java/pages/components/baseComponents/PageComponent.java b/smp-ui-tests/src/main/java/pages/components/baseComponents/PageComponent.java index 91bda2be35a31286f8cf355e488c8648af370dd6..c882b8d5e57ba8da3db2ccb537687d177fd3e170 100644 --- a/smp-ui-tests/src/main/java/pages/components/baseComponents/PageComponent.java +++ b/smp-ui-tests/src/main/java/pages/components/baseComponents/PageComponent.java @@ -1,7 +1,6 @@ package pages.components.baseComponents; -import com.google.common.base.Stopwatch; import org.apache.log4j.Logger; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; @@ -15,184 +14,177 @@ import utils.PROPERTIES; public class PageComponent { - protected WebDriver driver; - protected WebDriverWait wait; - protected Logger log = Logger.getLogger(this.getClass()); - protected By loadingBar = By.cssSelector(".container .bar"); - - - public PageComponent(WebDriver driver) { - this.driver = driver; - this.wait = new WebDriverWait(this.driver, PROPERTIES.TIMEOUT); - } - - public WebElement waitForElementToBeClickable(WebElement element) { - return wait.until(ExpectedConditions.elementToBeClickable(element)); - } - - public WebElement waitForElementToBeVisible(WebElement element) { - return wait.until(ExpectedConditions.visibilityOf(element)); - } - - public WebElement waitForElementToBeVisible(By elementSelector) { - return wait.until(ExpectedConditions.visibilityOfElementLocated(elementSelector)); - } - - public void waitForElementToBeEnabled(WebElement element) { - int maxTimeout = PROPERTIES.SHORT_UI_TIMEOUT * 1000; - int waitedSoFar = 0; - while ((null != element.getAttribute("disabled")) && (waitedSoFar < maxTimeout)) { - waitedSoFar += 100; - waitForXMillis(100); - } - } - - public void waitForElementToBeDisabled(WebElement element) { - int maxTimeout = PROPERTIES.SHORT_UI_TIMEOUT * 1000; - int waitedSoFar = 0; - while ((null == element.getAttribute("disabled")) && (waitedSoFar < maxTimeout)) { - waitedSoFar += 100; - waitForXMillis(100); - } - } - - public void waitForElementToBeGone(WebElement element) { - waitForXMillis(1000); - } - - - public void waitForNumberOfWindowsToBe(int noOfWindows) { - try { - wait.until(numberOfWindowsToBe(noOfWindows)); - } catch (Exception e) { - } - } - - public void clearAndFillInput(WebElement element, String toFill) { - - log.info("clearing input"); - waitForElementToBeEnabled(element); - element.clear(); - element.sendKeys(toFill); - log.info("filled in text " + toFill); - } - - public void clickVoidSpace() { - log.info("clicking void"); - try { - waitForXMillis(500); - ((JavascriptExecutor) driver).executeScript("document.querySelector('[class*=\"overlay-backdrop\"]').click()"); - waitForXMillis(500); - } catch (Exception e) { - } - waitForXMillis(500); - } - - private ExpectedCondition<Boolean> numberOfWindowsToBe(final int numberOfWindows) { - return new ExpectedCondition<Boolean>() { - @Override - public Boolean apply(WebDriver driver) { - driver.getWindowHandles(); - return driver.getWindowHandles().size() == numberOfWindows; - } - }; - } - - public void waitForXMillis(Integer millis) { - try { - Thread.sleep(millis); - } catch (InterruptedException e) { - log.error("EXCEPTION: ", e); - } - } - - public void waitForAttributeNotEmpty(WebElement element, String attributeName) { - wait.until(ExpectedConditions.attributeToBeNotEmpty(element, attributeName)); - } - - public void waitForElementToHaveText(WebElement element, String title) { - wait.until(ExpectedConditions.textToBePresentInElement(element, title)); - } - - public void waitForElementToBe(WebElement element) { - - wait.until(ExpectedConditions.visibilityOf(element)); -// wait.until(new ExpectedCondition<Boolean>() { -// @Override -// public Boolean apply(WebDriver driver) { -// return element.getLocation() != null; -// } -// }); - - } - - public void waitForAttributeToContain(WebElement element, String attributeName, String value) { - wait.until(ExpectedConditions.attributeContains(element, attributeName, value)); - } - - public void waitForElementToHaveText(WebElement element) { - wait.until(new ExpectedCondition<Boolean>() { - @Override - public Boolean apply(WebDriver driver) { - return !element.getText().trim().isEmpty(); - } - }); - } - - public void waitForElementToContainText(WebElement element, String text) { - wait.until(ExpectedConditions.textToBePresentInElement(element, text)); - } - - public boolean isVisible(WebElement element) { - log.info("checking if element is visible"); - - try { - waitForElementToBe(element); - return element.isDisplayed(); - } catch (Exception e) { - } - return false; - } - - public boolean isEnabled(WebElement element) { - log.info("checking if element is enabled"); - try { - waitForElementToBeEnabled(element); - } catch (Exception e) { - return false; - } - return element.isEnabled(); - } - - public boolean isDisabled(WebElement element) { - log.info("checking if element is disabled"); - try { - waitForElementToBeDisabled(element); - } catch (Exception e) { - return false; - } - return true; - } - - public void waitForRowsToLoad() { - - log.info("waiting for rows to load"); - try { - waitForXMillis(100); - int bars = 1; - int waits = 0; - while (bars > 0 && waits < 30) { - Object tmp = ((JavascriptExecutor) driver).executeScript("return document.querySelectorAll('.container .bar').length;"); - bars = Integer.valueOf(tmp.toString()); - waits++; - waitForXMillis(200); - } - log.debug("waited for rows to load for ms = 200*" + waits); - waitForXMillis(200); - } catch (Exception e) { - } - - } + protected WebDriver driver; + protected WebDriverWait wait; + protected Logger log = Logger.getLogger(this.getClass()); + protected By loadingBar = By.cssSelector(".container .bar"); + + + public PageComponent(WebDriver driver) { + this.driver = driver; + this.wait = new WebDriverWait(this.driver, PROPERTIES.TIMEOUT); + } + + public WebElement waitForElementToBeClickable(WebElement element) { + return wait.until(ExpectedConditions.elementToBeClickable(element)); + } + + public WebElement waitForElementToBeVisible(WebElement element) { + return wait.until(ExpectedConditions.visibilityOf(element)); + } + + public WebElement waitForElementToBeVisible(By elementSelector) { + return wait.until(ExpectedConditions.visibilityOfElementLocated(elementSelector)); + } + + public void waitForElementToBeEnabled(WebElement element) { + int maxTimeout = PROPERTIES.SHORT_UI_TIMEOUT * 1000; + int waitedSoFar = 0; + while ((null != element.getAttribute("disabled")) && (waitedSoFar < maxTimeout)) { + waitedSoFar += 100; + waitForXMillis(100); + } + } + + public void waitForElementToBeDisabled(WebElement element) { + int maxTimeout = PROPERTIES.SHORT_UI_TIMEOUT * 1000; + int waitedSoFar = 0; + while ((null == element.getAttribute("disabled")) && (waitedSoFar < maxTimeout)) { + waitedSoFar += 100; + waitForXMillis(100); + } + } + + public void waitForElementToBeGone(WebElement element) { + waitForXMillis(1000); + } + + + public void waitForNumberOfWindowsToBe(int noOfWindows) { + try { + wait.until(numberOfWindowsToBe(noOfWindows)); + } catch (Exception e) { + } + } + + public void clearAndFillInput(WebElement element, String toFill) { + + log.info("clearing input"); + waitForElementToBeEnabled(element); + element.clear(); + element.sendKeys(toFill); + log.info("filled in text " + toFill); + } + + public void clickVoidSpace() { + log.info("clicking void"); + try { + waitForXMillis(500); + ((JavascriptExecutor) driver).executeScript("document.querySelector('[class*=\"overlay-backdrop\"]').click()"); + waitForXMillis(500); + } catch (Exception e) { + } + waitForXMillis(500); + } + + private ExpectedCondition<Boolean> numberOfWindowsToBe(final int numberOfWindows) { + return new ExpectedCondition<Boolean>() { + @Override + public Boolean apply(WebDriver driver) { + driver.getWindowHandles(); + return driver.getWindowHandles().size() == numberOfWindows; + } + }; + } + + public void waitForXMillis(Integer millis) { + try { + Thread.sleep(millis); + } catch (InterruptedException e) { + log.error("EXCEPTION: ", e); + } + } + + public void waitForAttributeNotEmpty(WebElement element, String attributeName) { + wait.until(ExpectedConditions.attributeToBeNotEmpty(element, attributeName)); + } + + public void waitForElementToHaveText(WebElement element, String title) { + wait.until(ExpectedConditions.textToBePresentInElement(element, title)); + } + + public void waitForElementToBe(WebElement element) { + + wait.until(ExpectedConditions.visibilityOf(element)); + } + + public void waitForAttributeToContain(WebElement element, String attributeName, String value) { + wait.until(ExpectedConditions.attributeContains(element, attributeName, value)); + } + + public void waitForElementToHaveText(WebElement element) { + wait.until(new ExpectedCondition<Boolean>() { + @Override + public Boolean apply(WebDriver driver) { + return !element.getText().trim().isEmpty(); + } + }); + } + + public void waitForElementToContainText(WebElement element, String text) { + wait.until(ExpectedConditions.textToBePresentInElement(element, text)); + } + + public boolean isVisible(WebElement element) { + log.info("checking if element is visible"); + + try { + waitForElementToBe(element); + return element.isDisplayed(); + } catch (Exception e) { + } + return false; + } + + public boolean isEnabled(WebElement element) { + log.info("checking if element is enabled"); + try { + waitForElementToBeEnabled(element); + } catch (Exception e) { + return false; + } + return element.isEnabled(); + } + + public boolean isDisabled(WebElement element) { + log.info("checking if element is disabled"); + try { + waitForElementToBeDisabled(element); + } catch (Exception e) { + return false; + } + return true; + } + + public void waitForRowsToLoad() { + + log.info("waiting for rows to load"); + try { + waitForXMillis(100); + int bars = 1; + int waits = 0; + while (bars > 0 && waits < 30) { + Object tmp = ((JavascriptExecutor) driver).executeScript("return document.querySelectorAll('.container .bar').length;"); + bars = Integer.valueOf(tmp.toString()); + waits++; + waitForXMillis(200); + } + log.debug("waited for rows to load for ms = 200*" + waits); + waitForXMillis(200); + } catch (Exception e) { + } + + } } diff --git a/smp-ui-tests/src/main/java/pages/components/grid/BasicGrid.java b/smp-ui-tests/src/main/java/pages/components/grid/BasicGrid.java index 9c3d4b281f03c1c1974e27d65a4a74a847f17423..011f041d9768b1c5aa5c0062cef7745f401d3bf7 100644 --- a/smp-ui-tests/src/main/java/pages/components/grid/BasicGrid.java +++ b/smp-ui-tests/src/main/java/pages/components/grid/BasicGrid.java @@ -14,58 +14,59 @@ import java.util.List; public class BasicGrid extends PageComponent { - @FindBy(css = "datatable-header div.datatable-row-center datatable-header-cell") - protected List<WebElement> gridHeaders; - @FindBy(css = "datatable-body-row > div.datatable-row-center.datatable-row-group") - protected List<WebElement> gridRows; - protected ArrayList<String> headerTxt = new ArrayList<String>(); + @FindBy(css = "datatable-header div.datatable-row-center datatable-header-cell") + protected List<WebElement> gridHeaders; + @FindBy(css = "datatable-body-row > div.datatable-row-center.datatable-row-group") + protected List<WebElement> gridRows; + protected ArrayList<String> headerTxt = new ArrayList<String>(); - public BasicGrid(WebDriver driver, WebElement container) { - super(driver); + public BasicGrid(WebDriver driver, WebElement container) { + super(driver); - log.info("Loading basic grid"); - waitForRowsToLoad(); - PageFactory.initElements(new DefaultElementLocatorFactory(container), this); + log.info("Loading basic grid"); + waitForRowsToLoad(); + PageFactory.initElements(new DefaultElementLocatorFactory(container), this); - for (int i = 0; i < gridHeaders.size(); i++) { - headerTxt.add(gridHeaders.get(i).getText().trim()); - } + for (int i = 0; i < gridHeaders.size(); i++) { + headerTxt.add(gridHeaders.get(i).getText().trim()); + } - } + } - public void selectRow(int rowNumber) { - log.info("selecting row with number ... " + rowNumber); - if (rowNumber >= gridRows.size()) { - return; - } - gridRows.get(rowNumber).click(); - waitForXMillis(500); - } + public void selectRow(int rowNumber) { + log.info("selecting row with number ... " + rowNumber); + waitForRowsToLoad(); + if (rowNumber >= gridRows.size()) { + return; + } + gridRows.get(rowNumber).click(); + waitForXMillis(500); + } - public void doubleClickRow(int rowNumber) { + public void doubleClickRow(int rowNumber) { - log.info("double clicking row ... " + rowNumber); - waitForXMillis(500); - if (rowNumber >= gridRows.size()) { - return; - } - Actions action = new Actions(driver); - action.doubleClick(gridRows.get(rowNumber)).perform(); - } + log.info("double clicking row ... " + rowNumber); + waitForXMillis(500); + if (rowNumber >= gridRows.size()) { + return; + } + Actions action = new Actions(driver); + action.doubleClick(gridRows.get(rowNumber)).perform(); + } - public int getColumnsNo() { - log.info("getting number of columns"); - return gridHeaders.size(); - } + public int getColumnsNo() { + log.info("getting number of columns"); + return gridHeaders.size(); + } - public int getRowsNo() { - return gridRows.size(); - } + public int getRowsNo() { + return gridRows.size(); + } - public void scrollRow(int index) { - JavascriptExecutor js = (JavascriptExecutor) driver; - js.executeScript("arguments[0].scrollIntoView();", gridRows.get(index)); - waitForXMillis(500); - } + public void scrollRow(int index) { + JavascriptExecutor js = (JavascriptExecutor) driver; + js.executeScript("arguments[0].scrollIntoView();", gridRows.get(index)); + waitForXMillis(500); + } } diff --git a/smp-ui-tests/src/main/java/pages/domain/DomainPopup.java b/smp-ui-tests/src/main/java/pages/domain/DomainPopup.java index 4f6eeb4cce58acbb902a5d47d762826388888459..00f424fae55c715a1e73514931cca27de8098a67 100644 --- a/smp-ui-tests/src/main/java/pages/domain/DomainPopup.java +++ b/smp-ui-tests/src/main/java/pages/domain/DomainPopup.java @@ -11,51 +11,43 @@ import pages.components.baseComponents.PageComponent; import utils.PROPERTIES; public class DomainPopup extends PageComponent { - public DomainPopup(WebDriver driver) { - super(driver); - PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - - signatureCertSelect = new GenericSelect(driver, signatureCertSelectContainer); - smlClientAliasSelect = new GenericSelect(driver, smlClientAliasSelectContainer); - - - } - @FindBy(css = "domain-details-dialog button:nth-child(1)") WebElement okBtn; - @FindBy(css = "domain-details-dialog button:nth-child(2)") WebElement cancelBtn; - @FindBy(css = "#domainCode_id") WebElement domainCodeInput; - @FindBy(css = "#smldomain_id") WebElement smlDomainInput; - @FindBy(css = "#signatureKeyAlias_id") WebElement signatureCertSelectContainer; GenericSelect signatureCertSelect; - @FindBy(css = "#smlSMPId_id") WebElement smlSMPIdInput; - @FindBy(css = "span.mat-slide-toggle-bar") WebElement userClientCertHeaderToggle; - @FindBy(css = "#smlClientCertHeaderAuth_id-input") WebElement userClientCertHeaderToggleInput; - - @FindBy(css = "div.mat-form-field-infix > div.ng-star-inserted") + @FindBy(css = "#domainCode_id + div") WebElement domainCodeValidationError; - @FindBy(css = "#MetadataTextArea") - private WebElement metadataTextArea; - + @FindBy(css = "#smlSMPId_id + div") + WebElement smlSmpIdValidationError; @FindBy(css = "#smlClientKeyAlias_id") WebElement smlClientAliasSelectContainer; GenericSelect smlClientAliasSelect; + @FindBy(css = "#MetadataTextArea") + private WebElement metadataTextArea; + public DomainPopup(WebDriver driver) { + super(driver); + PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); + + signatureCertSelect = new GenericSelect(driver, signatureCertSelectContainer); + smlClientAliasSelect = new GenericSelect(driver, smlClientAliasSelectContainer); + + + } public void clickOK() { waitForElementToBeClickable(okBtn).click(); @@ -68,9 +60,11 @@ public class DomainPopup extends PageComponent { waitForElementToBeGone(cancelBtn); } - public boolean isLoaded() { log.info("checking if domain popup is properly loaded"); + + waitForElementToBeEnabled(okBtn); + return isVisible(okBtn) && isVisible(domainCodeInput) && isVisible(smlDomainInput) @@ -147,29 +141,12 @@ public class DomainPopup extends PageComponent { } } - public String domainCode63CharValidationGetErrMsg() { - try { - waitForElementToBeVisible(domainCodeValidationError); - return domainCodeValidationError.getAttribute("value"); - } catch (Exception e) { - } - return null; - } - - public String getSmlSmpId63CharValidationMsg() { - WebElement invalidSmlSmpIdErrorMsg = driver.findElement(By.cssSelector("div.mat-form-field-infix > div.ng-star-inserted")); - try { - waitForElementToBeVisible(invalidSmlSmpIdErrorMsg); - return invalidSmlSmpIdErrorMsg.getAttribute("value"); - } catch (Exception e) { - } - return null; - } - public String xmlFieldVALUE(){ - log.info("value is "+metadataTextArea.getAttribute("value")); + public String xmlFieldVALUE() { + log.info("value is " + metadataTextArea.getAttribute("value")); return metadataTextArea.getAttribute("value"); } + public void clearAndFillDomainCodeInput(String domainCode) { log.info("clear and fill domain code data"); clearAndFillInput(domainCodeInput, domainCode); @@ -196,4 +173,21 @@ public class DomainPopup extends PageComponent { } + public String domainCode63CharValidationGetErrMsg() { + try { + return waitForElementToBeVisible(domainCodeValidationError).getText().trim(); + } catch (Exception e) { + } + return null; + } + + public String getSmlSmpId63CharValidationMsg() { + try { + return waitForElementToBeVisible(smlSmpIdValidationError).getText().trim(); + } catch (Exception e) { + } + return null; + } + + } diff --git a/smp-ui-tests/src/main/java/pages/password/PasswordChangepopup.java b/smp-ui-tests/src/main/java/pages/password/PasswordChangepopup.java index f666d74fdb0c6aa465c68f82cfdfbdd9805996bc..cfb1e5e5a53213f150758d3441c5aaf98bcf1a4d 100644 --- a/smp-ui-tests/src/main/java/pages/password/PasswordChangepopup.java +++ b/smp-ui-tests/src/main/java/pages/password/PasswordChangepopup.java @@ -14,126 +14,119 @@ import utils.PROPERTIES; public class PasswordChangepopup extends PageComponent { - @FindBy(id = "username_id") - WebElement userNameInput; - @FindBy(id = "emailAddress_id") - WebElement emailInput; - @FindBy(id = "np_id") - WebElement newPasswordInput; - @FindBy(id = "cnp_id") - WebElement confirmationInput; - /* @FindBy(css = "input#cp_id") - WebElement adminPassInput; + @FindBy(id = "username_id") + WebElement userNameInput; + @FindBy(id = "emailAddress_id") + WebElement emailInput; + @FindBy(id = "np_id") + WebElement newPasswordInput; + @FindBy(id = "cnp_id") + WebElement confirmationInput; + /* @FindBy(css = "input#cp_id") + WebElement adminPassInput; */ - @FindBy(xpath = "//input[@data-placeholder='Admin password for user [system]']") - WebElement adminPassInput; - @FindBy(xpath = "//input[@data-placeholder='Current password']") - WebElement currentPassInput; - @FindBy(css = "mat-form-field.username> div > div.mat-form-field-flex > div > div") - WebElement usernameValidationError; - @FindBy(css = "mat-form-field.password > div > div.mat-form-field-flex > div > div") - WebElement passValidationError; - @FindBy(css = "mat-form-field.password-confirmation > div > div.mat-form-field-flex > div > div") - WebElement passConfirmationValidationError; - @FindBy(css = ".mat-form-field-infix > div.has-error") - WebElement passMatchValidationError; - @FindBy(css = "mat-dialog-actions button:nth-child(1)") - WebElement okBtn; - @FindBy(css = "mat-dialog-actions button:nth-child(2)") - WebElement cancelBtn; - @FindBy(css = "#changePassword_id") - WebElement changePassword; - @FindBy(css = "smp-password-change-dialog mat-dialog-actions button:nth-child(1)") - WebElement changedPassword; - @FindBy(css = "#closebuttondialog_id") - WebElement passChangedClose; - @FindBy(css = "smp-password-change-dialog mat-dialog-actions button:nth-child(2)") - WebElement passwordDialogClose; - - public PasswordChangepopup(WebDriver driver) { - super(driver); - PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - } - - public void clickOK() { - log.info("click OK"); - waitForElementToBeClickable(okBtn); - okBtn.click(); - waitForElementToBeGone(okBtn); - } - - public void clickCancel() { - log.info("click cancel"); - waitForElementToBeClickable(cancelBtn); - cancelBtn.click(); - waitForElementToBeGone(cancelBtn); - } - - public void clickChangePassword() { - log.info("click change password"); - waitForElementToBeClickable(changePassword); - changePassword.click(); - //waitForElementToBeGone(changePassword); - } - - public SearchPage clickCloseAfterChangedPassForLoggedUser() { - log.info("click close after change password"); - waitForElementToBeClickable(passChangedClose); - passChangedClose.click(); - waitForElementToBeGone(passChangedClose); - return new SearchPage(driver); - } - - public void clickCloseAfterChangedPass() { - log.info("click close after change password"); - - waitForElementToBeClickable(passChangedClose); - passChangedClose.click(); - waitForElementToBeGone(passChangedClose); - - } - - public void setOrChangePassword(String adminPass, String newPass, String confirmPass) { - - clearAndFillInput(adminPassInput, adminPass); - clearAndFillInput(newPasswordInput, newPass); - clearAndFillInput(confirmationInput, confirmPass); - } - - public void fillDataForLoggedUser(String currentPass, String newPass, String confirmPass) { - clearAndFillInput(currentPassInput, currentPass); - clearAndFillInput(newPasswordInput, newPass); - clearAndFillInput(confirmationInput, confirmPass); - } - - public ConfirmationDialog clickChangedPassword() { - log.info("click changed password"); - waitForElementToBeClickable(changedPassword); - changedPassword.click(); - waitForElementToBeGone(changedPassword); - return new ConfirmationDialog(driver); - } - - public SearchPage clickClosePasswordDialog() { - passwordDialogClose.click(); - waitForElementToBeGone(passwordDialogClose); - return new SearchPage(driver); - } - - public boolean isCurrentPasswordInputEnable() { - boolean bool = currentPassInput.isEnabled(); - return bool; - } - - public boolean isNewPasswordInputEnable() { - boolean bool = newPasswordInput.isEnabled(); - return bool; - } - - public boolean isConfirmPasswordInputEnable() { - boolean bool = confirmationInput.isEnabled(); - return bool; - } + @FindBy(xpath = "//input[@data-placeholder='Admin password for user [system]']") + WebElement adminPassInput; + @FindBy(xpath = "//input[@data-placeholder='Current password']") + WebElement currentPassInput; + @FindBy(css = "mat-form-field.username> div > div.mat-form-field-flex > div > div") + WebElement usernameValidationError; + @FindBy(css = "mat-form-field.password > div > div.mat-form-field-flex > div > div") + WebElement passValidationError; + @FindBy(css = "mat-form-field.password-confirmation > div > div.mat-form-field-flex > div > div") + WebElement passConfirmationValidationError; + @FindBy(css = ".mat-form-field-infix > div.has-error") + WebElement passMatchValidationError; + @FindBy(css = "mat-dialog-actions button:nth-child(1)") + WebElement okBtn; + @FindBy(css = "mat-dialog-actions button:nth-child(2)") + WebElement cancelBtn; + + @FindBy(css = "smp-password-change-dialog mat-dialog-actions button:nth-child(1)") + WebElement changedPassword; + @FindBy(css = "#closebuttondialog_id") + WebElement passChangedClose; + @FindBy(css = "smp-password-change-dialog mat-dialog-actions button:nth-child(2)") + WebElement passwordDialogClose; + + public PasswordChangepopup(WebDriver driver) { + super(driver); + PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); + } + + public void clickOK() { + log.info("click OK"); + waitForElementToBeClickable(okBtn); + okBtn.click(); + waitForElementToBeGone(okBtn); + } + + public void clickCancel() { + log.info("click cancel"); + waitForElementToBeClickable(cancelBtn); + cancelBtn.click(); + waitForElementToBeGone(cancelBtn); + } + + + public SearchPage clickCloseAfterChangedPassForLoggedUser() { + log.info("click close after change password"); + waitForElementToBeClickable(passChangedClose); + passChangedClose.click(); + waitForElementToBeGone(passChangedClose); + return new SearchPage(driver); + } + + public void clickCloseAfterChangedPass() { + log.info("click close after change password"); + + waitForElementToBeClickable(passChangedClose); + passChangedClose.click(); + waitForElementToBeGone(passChangedClose); + + } + + public void setOrChangePassword(String adminPass, String newPass, String confirmPass) { + + clearAndFillInput(adminPassInput, adminPass); + clearAndFillInput(newPasswordInput, newPass); + clearAndFillInput(confirmationInput, confirmPass); + } + + public void fillDataForLoggedUser(String currentPass, String newPass, String confirmPass) { + clearAndFillInput(currentPassInput, currentPass); + clearAndFillInput(newPasswordInput, newPass); + clearAndFillInput(confirmationInput, confirmPass); + } + + public ConfirmationDialog clickChangedPassword() { + log.info("click changed password"); + waitForElementToBeClickable(changedPassword); + changedPassword.click(); + waitForElementToBeGone(changedPassword); + return new ConfirmationDialog(driver); + } + + public SearchPage clickClosePasswordDialog() { + passwordDialogClose.click(); + waitForElementToBeGone(passwordDialogClose); + return new SearchPage(driver); + } + + public boolean isCurrentPasswordInputEnable() { + boolean bool = currentPassInput.isEnabled(); + return bool; + } + + public boolean isNewPasswordInputEnable() { + boolean bool = newPasswordInput.isEnabled(); + return bool; + } + + public boolean isConfirmPasswordInputEnable() { + boolean bool = confirmationInput.isEnabled(); + return bool; + } } diff --git a/smp-ui-tests/src/main/java/pages/service_groups/edit/AccordionSection.java b/smp-ui-tests/src/main/java/pages/service_groups/edit/AccordionSection.java index 3135ddcd03d599c7f9501feb91831db0aea6e62c..e19087bee8395544605eb436afcfde0808b2ac3a 100644 --- a/smp-ui-tests/src/main/java/pages/service_groups/edit/AccordionSection.java +++ b/smp-ui-tests/src/main/java/pages/service_groups/edit/AccordionSection.java @@ -5,7 +5,6 @@ import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.PageFactory; import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory; -import org.openqa.selenium.support.pagefactory.DefaultElementLocatorFactory; import pages.components.baseComponents.PageComponent; import utils.PROPERTIES; @@ -13,24 +12,20 @@ import java.util.ArrayList; import java.util.List; public class AccordionSection extends PageComponent { - public AccordionSection(WebDriver driver, WebElement container) { - super(driver); - PageFactory.initElements(new AjaxElementLocatorFactory(container, PROPERTIES.TIMEOUT), this); - } - @FindBy(css = "span.mat-content > mat-panel-title") WebElement title; - @FindBy(css = "span.mat-content > mat-panel-description > div") WebElement selectCount; - - @FindBy(css = ".mat-expansion-indicator") WebElement expandButton; - @FindBy(tagName = "mat-list-option") List<WebElement> options; + public AccordionSection(WebDriver driver, WebElement container) { + super(driver); + PageFactory.initElements(new AjaxElementLocatorFactory(container, PROPERTIES.TIMEOUT), this); + } + public boolean isExpanded() { log.info("check if expanded"); return isVisible(options.get(0)); @@ -85,15 +80,13 @@ public class AccordionSection extends PageComponent { if (option.getAttribute("aria-selected").contains("true")) { return; } - - option.click(); + waitForElementToBeClickable(option).click(); return; } public boolean optionsEnabled() { log.info("checking if options are enabled"); waitForElementToBeVisible(title); -// waitForElementToBeVisible(options.get(0)); boolean isDisabled = options.get(0).getAttribute("aria-disabled").equalsIgnoreCase("true"); return !isDisabled; } diff --git a/smp-ui-tests/src/main/java/pages/service_groups/edit/EditPage.java b/smp-ui-tests/src/main/java/pages/service_groups/edit/EditPage.java index 2681efd43e02c296f72cb6577ac64a8f0d09f4e6..e9a49660918dbbcd6d3e9c5e170290152f1c901e 100644 --- a/smp-ui-tests/src/main/java/pages/service_groups/edit/EditPage.java +++ b/smp-ui-tests/src/main/java/pages/service_groups/edit/EditPage.java @@ -146,6 +146,8 @@ public class EditPage extends SMPPage { log.info("saving.."); waitForElementToBeClickable(saveButton).click(); new ConfirmationDialog(driver).confirm(); + + waitForRowsToLoad(); } } diff --git a/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceGroupPopup.java b/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceGroupPopup.java index 18f711888695fac98a6c28de97b92b9fa4b9dabc..27bbc475f1e01d908a3ded346a1ad28e1d52fd49 100644 --- a/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceGroupPopup.java +++ b/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceGroupPopup.java @@ -43,10 +43,10 @@ public class ServiceGroupPopup extends PageComponent { try { ownersPanel = new AccordionSection(driver, ownersPanelContainer); } catch (Exception e) { - + log.error("Owners panel is not present"); } domainsPanel = new AccordionSection(driver, domainsPanelContainer); - + waitForElementToBeVisible(okButton); } public boolean isOKButtonPresent() { diff --git a/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataPopup.java b/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataPopup.java index b3998e7587e09a09395220ea5335463d273d316f..7d1e051926f3000d5a02417fefc2522c6e62cf1d 100644 --- a/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataPopup.java +++ b/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataPopup.java @@ -10,74 +10,62 @@ import pages.components.baseComponents.PageComponent; import utils.PROPERTIES; public class ServiceMetadataPopup extends PageComponent { - public ServiceMetadataPopup(WebDriver driver) { - super(driver); - - PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - - domainSelect = new GenericSelect(driver, domainSelectContainer); - } - @FindBy(css = "mat-dialog-actions > button:nth-child(1)") private WebElement okButton; - @FindBy(css = "mat-dialog-actions > button:nth-child(2)") private WebElement cancelButton; - @FindBy(css = "mat-card-content > mat-toolbar > mat-toolbar-row > button:nth-child(1)") private WebElement clearButton; @FindBy(css = "mat-card-content > mat-toolbar > mat-toolbar-row > button:nth-child(2)") private WebElement generateXMLButton; @FindBy(css = "mat-card-content > mat-toolbar > mat-toolbar-row > button:nth-child(4)") private WebElement validateButton; - @FindBy(css = "#MetadataTextArea") private WebElement metadataTextArea; - @FindBy(css = "#participanSchema_id") private WebElement participantSchemaInput; - @FindBy(css = "#participantIdentifier_id") private WebElement participantIdentifierInput; - @FindBy(css = "#documentScheme_id") private WebElement documentSchemeInput; - @FindBy(css = "#documentIdentifier_id") private WebElement documentIdentifierInput; - @FindBy(xpath = "//span[text() ='Metadata wizard']") private WebElement metadataWizardBtn; - @FindBy(css = "mat-card-content > div > div.ng-star-inserted:nth-child(2)") private WebElement xmlValidationMsg; - @FindBy(css = "mat-dialog-content #domain_id") private WebElement domainSelectContainer; private GenericSelect domainSelect; + public ServiceMetadataPopup(WebDriver driver) { + super(driver); - public EditPage clickOK(){ - /*waitForElementToBeClickable(okButton); - okButton.click(); - waitForElementToBeGone(okButton); - return new EditPage(driver);*/ - waitForElementToBeVisible(okButton); + PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); + + waitForElementToBeVisible(domainSelectContainer); + domainSelect = new GenericSelect(driver, domainSelectContainer); + } + + public EditPage clickOK() { + waitForElementToBeClickable(okButton); okButton.click(); return new EditPage(driver); } - public boolean isOKBtnEnabled(){ + + public boolean isOKBtnEnabled() { return okButton.isEnabled(); } - public void fillDocIdAndDocIdScheme(String docID, String docScheme){ + + public void fillDocIdAndDocIdScheme(String docID, String docScheme) { waitForElementToBeVisible(documentIdentifierInput); clearAndFillInput(documentIdentifierInput, docID); clearAndFillInput(documentSchemeInput, docScheme); } - public String xmlFieldVALUE(){ - log.info("value is "+metadataTextArea.getAttribute("value")); + public String xmlFieldVALUE() { + log.info("value is " + metadataTextArea.getAttribute("value")); return metadataTextArea.getAttribute("value"); } @@ -91,32 +79,37 @@ public class ServiceMetadataPopup extends PageComponent { generateXMLButton.click(); } - public String captureTextOfMetadataTextArea(){ + + public String captureTextOfMetadataTextArea() { return metadataTextArea.getText(); } - public void clickValidateBtn(){ + public void clickValidateBtn() { waitForElementToBeClickable(validateButton).click(); } - public void clickGenerateXMLBtn(){ + + public void clickGenerateXMLBtn() { waitForElementToBeClickable(generateXMLButton).click(); } - public void clickClearBtn(){ + + public void clickClearBtn() { waitForElementToBeClickable(clearButton).click(); } - public String getXMLValidationMessage(){ + + public String getXMLValidationMessage() { return xmlValidationMsg.getText(); } - public void addTextToMetadataTextArea(String generator){ + + public void addTextToMetadataTextArea(String generator) { metadataTextArea.sendKeys(generator); } - public String docIDFieldValue(){ + public String docIDFieldValue() { return documentIdentifierInput.getAttribute("value"); } - public String docIDSchemeFieldValue(){ + public String docIDSchemeFieldValue() { return documentSchemeInput.getAttribute("value"); } @@ -153,9 +146,8 @@ public class ServiceMetadataPopup extends PageComponent { return isEnabled(documentIdentifierInput); } - public ServiceMetadataWizardPopup clickMetadataWizard(){ - waitForElementToBeClickable(metadataWizardBtn); - metadataWizardBtn.click(); + public ServiceMetadataWizardPopup clickMetadataWizard() { + waitForElementToBeClickable(metadataWizardBtn).click(); return new ServiceMetadataWizardPopup(driver); } diff --git a/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataWizardPopup.java b/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataWizardPopup.java index 7bc5a30921f212f7f0cefa3c1b951b2d44ee2cde..96a1948476d2ccf21e06489991db895c28193fe0 100644 --- a/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataWizardPopup.java +++ b/smp-ui-tests/src/main/java/pages/service_groups/edit/ServiceMetadataWizardPopup.java @@ -11,92 +11,83 @@ import utils.PROPERTIES; import java.io.File; public class ServiceMetadataWizardPopup extends PageComponent { - public ServiceMetadataWizardPopup(WebDriver driver) { - super(driver); - PageFactory.initElements( new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); - } - @FindBy(css = "#documentIdentifierScheme_id") - private WebElement docIdSchemeField; - - @FindBy(css = "#processSchema_id") - private WebElement processSchemeField; - - @FindBy(css = "service-metadata-wizard-dialog input#documentIdentifier_id") - private WebElement docIdField; - - @FindBy(css = "#processidentifier_id") - private WebElement processIdField; - - @FindBy(css = "#endpointUrl_id") - private WebElement endpointUrl; - - @FindBy(css = "#transportProfiler_id") - private WebElement transportProfileField; - - @FindBy(css = "service-metadata-wizard-dialog > mat-dialog-actions > button[type='button']:nth-child(1)") - private WebElement okButton; - - @FindBy(css = "service-metadata-wizard-dialog > mat-dialog-actions > button[type='button']:nth-child(2)") - private WebElement cancelButton; - - @FindBy(css="input#certificate-file-upload") - private WebElement uploadCertificateBtn; - - - @FindBy(css="#metadatacertificate_id") - private WebElement certificateDescriptionBox; - - - public String docIDFieldValue(){ - return docIdField.getAttribute("value"); - } - - public String docIDSchemeFieldValue(){ - return docIdSchemeField.getAttribute("value"); - } - - public String transportProfileFieldContent(){ - return transportProfileField.getAttribute("value"); - } - - - public void clickUploadCertificate(){ - waitForElementToBeVisible(uploadCertificateBtn); - uploadCertificateBtn.click(); - } - - public void fillCerificateBox(String generator){ - certificateDescriptionBox.sendKeys(generator); - } - - public void uploadCertificate(String relativePath){ - waitForElementToBeVisible(uploadCertificateBtn); - uploadCertificateBtn.click(); - String path = new File(relativePath).getAbsolutePath(); - uploadCertificateBtn.sendKeys(path); - } - - public boolean isEnableOkBtn(){ - waitForElementToBeVisible(okButton); - return okButton.isEnabled(); - } - - public ServiceMetadataPopup clickOK(){ - waitForElementToBeVisible(okButton); - okButton.click(); - return new ServiceMetadataPopup(driver); - } - - public void fillForm(String docID,String docScheme,String processID,String processScheme,String transportProfile,String url){ - waitForElementToBeVisible(docIdField); - - clearAndFillInput(docIdField, docID); - clearAndFillInput(docIdSchemeField, docScheme); - clearAndFillInput(processIdField, processID); - clearAndFillInput(processSchemeField, processScheme); - clearAndFillInput(transportProfileField, transportProfile); - clearAndFillInput(endpointUrl,url); - - - } + @FindBy(css = "#documentIdentifierScheme_id") + private WebElement docIdSchemeField; + @FindBy(css = "#processSchema_id") + private WebElement processSchemeField; + @FindBy(css = "service-metadata-wizard-dialog input#documentIdentifier_id") + private WebElement docIdField; + @FindBy(css = "#processidentifier_id") + private WebElement processIdField; + @FindBy(css = "#endpointUrl_id") + private WebElement endpointUrl; + @FindBy(css = "#transportProfiler_id") + private WebElement transportProfileField; + @FindBy(css = "service-metadata-wizard-dialog > mat-dialog-actions > button[type='button']:nth-child(1)") + private WebElement okButton; + @FindBy(css = "service-metadata-wizard-dialog > mat-dialog-actions > button[type='button']:nth-child(2)") + private WebElement cancelButton; + @FindBy(css = "input#certificate-file-upload") + private WebElement uploadCertificateBtn; + @FindBy(css = "#metadatacertificate_id") + private WebElement certificateDescriptionBox; + + + public ServiceMetadataWizardPopup(WebDriver driver) { + super(driver); + PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this); + } + + public String docIDFieldValue() { + return docIdField.getAttribute("value"); + } + + public String docIDSchemeFieldValue() { + return docIdSchemeField.getAttribute("value"); + } + + public String transportProfileFieldContent() { + return transportProfileField.getAttribute("value"); + } + + + public void clickUploadCertificate() { + waitForElementToBeVisible(uploadCertificateBtn); + uploadCertificateBtn.click(); + } + + public void fillCerificateBox(String generator) { + certificateDescriptionBox.sendKeys(generator); + } + + public void uploadCertificate(String relativePath) { + waitForElementToBeVisible(uploadCertificateBtn); + uploadCertificateBtn.click(); + String path = new File(relativePath).getAbsolutePath(); + uploadCertificateBtn.sendKeys(path); + } + + public boolean isEnabledOkBtn() { + waitForElementToBeEnabled(okButton); + return okButton.isEnabled(); + } + + public ServiceMetadataPopup clickOK() { + waitForElementToBeVisible(okButton); + okButton.click(); + return new ServiceMetadataPopup(driver); + } + + public void fillForm(String docID, String docScheme, String processID, String processScheme, String transportProfile, String url) { + waitForElementToBeVisible(docIdField); + + clearAndFillInput(docIdField, docID); + clearAndFillInput(docIdSchemeField, docScheme); + clearAndFillInput(processIdField, processID); + clearAndFillInput(processSchemeField, processScheme); + clearAndFillInput(transportProfileField, transportProfile); + clearAndFillInput(endpointUrl, url); + + + } } diff --git a/smp-ui-tests/src/main/java/pages/users/UserPopup.java b/smp-ui-tests/src/main/java/pages/users/UserPopup.java index 4049bb5e945c623caeb35b5da3f95cb574ecab0d..af40d3f1e2d0a577628ef3272c0fb1c634f53aff 100644 --- a/smp-ui-tests/src/main/java/pages/users/UserPopup.java +++ b/smp-ui-tests/src/main/java/pages/users/UserPopup.java @@ -10,279 +10,282 @@ import pages.components.GenericSelect; import pages.components.baseComponents.PageComponent; public class UserPopup extends PageComponent { - public GenericSelect rolesSelect; - @FindBy(id = "userDetailsToggle_id") - WebElement userDetailsToggle; + public GenericSelect rolesSelect; + @FindBy(id = "userDetailsToggle_id") + WebElement userDetailsToggle; - @FindBy(css = "#active_id > label > div > div") - WebElement activeToggle; + @FindBy(css = "#active_id > label > div > div") + WebElement activeToggle; - @FindBy(id = "username_id") - WebElement userNameInput; + @FindBy(id = "username_id") + WebElement userNameInput; - @FindBy(id = "emailAddress_id") - WebElement emailInput; + @FindBy(id = "emailAddress_id") + WebElement emailInput; - @FindBy(id = "np_id") - WebElement newPasswordInput; + @FindBy(id = "np_id") + WebElement newPasswordInput; - @SuppressWarnings("SpellCheckingInspection") - @FindBy(id = "cnp_id") - WebElement confirmationInput; + @SuppressWarnings("SpellCheckingInspection") + @FindBy(id = "cnp_id") + WebElement confirmationInput; - @FindBy(css = "input#cp_id") - WebElement adminPassInput; + @FindBy(css = "input#cp_id") + WebElement adminPassInput; - @FindBy(css = "mat-form-field.username> div > div.mat-form-field-flex > div > div") - WebElement usernameValidationError; + @FindBy(css = "mat-form-field.username> div > div.mat-form-field-flex > div > div") + WebElement usernameValidationError; - @FindBy(css = "smp-password-change-dialog .password-panel mat-form-field:nth-child(2) .mat-form-field-subscript-wrapper mat-error") - WebElement passValidationError; + @FindBy(css = "smp-password-change-dialog .password-panel mat-form-field:nth-child(2) .mat-form-field-subscript-wrapper mat-error") + WebElement passValidationError; - @FindBy(css = "mat-form-field.password-confirmation > div > div.mat-form-field-flex > div > div") - WebElement passConfirmationValidationError; + @FindBy(css = "mat-form-field.password-confirmation > div > div.mat-form-field-flex > div > div") + WebElement passConfirmationValidationError; - @FindBy(css = ".ng-trigger.ng-trigger-transitionMessages.ng-star-inserted > mat-error") - WebElement passMatchValidationError; + @FindBy(css = ".ng-trigger.ng-trigger-transitionMessages.ng-star-inserted > mat-error") + WebElement passMatchValidationError; - @FindBy(css = "mat-dialog-actions button:nth-child(1)") - WebElement okBtn; + @FindBy(css = "mat-dialog-actions button:nth-child(1)") + WebElement okBtn; - @FindBy(css = "mat-dialog-actions button:nth-child(2)") - WebElement cancelBtn; + @FindBy(css = "mat-dialog-actions button:nth-child(2)") + WebElement cancelBtn; - @FindBy(css = "#changePassword_id") - WebElement changePassword; + @FindBy(css = "#changePassword_id") + WebElement changePassword; - @FindBy(css = "smp-password-change-dialog mat-dialog-actions button:nth-child(1)") - WebElement changedPassword; + @FindBy(css = "smp-password-change-dialog mat-dialog-actions button:nth-child(1)") + WebElement changedPassword; - @FindBy(css = "#closebuttondialog_id") - WebElement passChangedClose; + @FindBy(css = "#closebuttondialog_id") + WebElement passChangedClose; - @FindBy(css = "smp-password-change-dialog mat-dialog-actions button:nth-child(2)") - WebElement passwordDialogClose; + @FindBy(css = "smp-password-change-dialog mat-dialog-actions button:nth-child(2)") + WebElement passwordDialogClose; - @FindBy(css = "#role_id") - WebElement rolesSelectContainer; + @FindBy(css = "#role_id") + WebElement rolesSelectContainer; - @FindBy(xpath = "//span[text()='Regenerate access token']") - WebElement regenarateAccessTokenBtn; + @FindBy(xpath = "//span[text()='Regenerate access token']") + WebElement regenarateAccessTokenBtn; - @FindBy(css = "label > button.mat-focus-indicator.mat-flat-button.mat-button-base.mat-primary") - WebElement importBtn; + @FindBy(css = "label > button.mat-focus-indicator.mat-flat-button.mat-button-base.mat-primary") + WebElement importBtn; - @FindBy(xpath = "//span[text()='Show details']") - WebElement showDetailsBtn; + @FindBy(xpath = "//span[text()='Show details']") + WebElement showDetailsBtn; - @FindBy(xpath = "//span[text()='Clear']") - WebElement clearBtn; + @FindBy(xpath = "//span[text()='Clear']") + WebElement clearBtn; - @FindBy(css = ".has-error.ng-star-inserted") - WebElement emailValidationError; + @FindBy(css = ".has-error.ng-star-inserted") + WebElement emailValidationError; - public UserPopup(WebDriver driver) { - super(driver); - PageFactory.initElements(driver, this); - rolesSelect = new GenericSelect(driver, rolesSelectContainer); - } - - public boolean isAdminPasswordInputEnable() { - boolean bool = adminPassInput.isEnabled(); - return bool; - } + public UserPopup(WebDriver driver) { + super(driver); + PageFactory.initElements(driver, this); + rolesSelect = new GenericSelect(driver, rolesSelectContainer); + } + + public boolean isAdminPasswordInputEnable() { + boolean bool = adminPassInput.isEnabled(); + return bool; + } - public boolean isNewPasswordInputEnable() { - boolean bool = newPasswordInput.isEnabled(); - return bool; - } - - public boolean isConfirmPasswordInputEnable() { - boolean bool = confirmationInput.isEnabled(); - return bool; - } - - - public boolean isOKButtonActive() { - return isEnabled(okBtn); - } + public boolean isNewPasswordInputEnable() { + boolean bool = newPasswordInput.isEnabled(); + return bool; + } + + public boolean isConfirmPasswordInputEnable() { + boolean bool = confirmationInput.isEnabled(); + return bool; + } + + + public boolean isOKButtonActive() { + return isEnabled(okBtn); + } - public boolean isChangedPasswordActive() { - return isEnabled(passChangedClose); - } - - public boolean isChangePasswordButtonActive() { - return isEnabled(changedPassword); - } - - public boolean isCancelButtonActive() { - return isEnabled(cancelBtn); - } - - public void fillData(String user, String email, String role, String password, String confirmation) { - clearAndFillInput(userNameInput, user); - clearAndFillInput(emailInput, email); - clearAndFillInput(newPasswordInput, password); - clearAndFillInput(confirmationInput, confirmation); - - GenericSelect rolesSelect = new GenericSelect(driver, rolesSelectContainer); - rolesSelect.selectOptionByText(role); - - } - - public void clickOK() { - log.info("click OK"); - waitForElementToBeClickable(okBtn); - okBtn.click(); - waitForElementToBeGone(okBtn); - } - - public void clickCancel() { - log.info("click cancel"); - waitForElementToBeClickable(cancelBtn); - cancelBtn.click(); - waitForElementToBeGone(cancelBtn); - } - - - public void clickUserDetailsToggle() { - log.info("details toggle"); - waitForElementToBeClickable(userDetailsToggle).click(); - waitForElementToBeEnabled(userNameInput); - } - - public void fillDetailsForm(String username,String email) { - clearAndFillInput(userNameInput, username); - clearAndFillInput(emailInput,email); - } - - public void clickSetOrChangePassword() { - log.info("click change password"); - waitForElementToBeClickable(changePassword); - waitForXMillis(500); - changePassword.click(); - waitForXMillis(500); - } - - public void clickCloseAfterChangedPass() { - log.info("click close after change password"); - try { - Thread.sleep(10000); - } catch (Exception e) { - e.printStackTrace(); - } - waitForElementToBeClickable(passChangedClose); - log.info("ab"); - passChangedClose.click(); - log.info("bd"); - waitForElementToBeGone(passChangedClose); - log.info("cd"); - } - - public ConfirmationDialog clickChangedPassword() { - log.info("click changed password"); - waitForElementToBeClickable(changedPassword); - waitForXMillis(500); - changedPassword.click(); - waitForElementToBeGone(changedPassword); - return new ConfirmationDialog(driver); - } - - public boolean isPopupChangedPasswordEnabled() { - return changedPassword.isEnabled(); - } - - public void setOrChangePassword(String adminPass, String newPass, String confirmPass) { - - clearAndFillInput(adminPassInput, adminPass); - clearAndFillInput(newPasswordInput, newPass); - clearAndFillInput(confirmationInput, confirmPass); - } - - public void clickClosePasswordDialog() { - passwordDialogClose.click(); - waitForElementToBeGone(passwordDialogClose); - } - - - public String getUsernameValidationError() { - try { - waitForElementToBeVisible(usernameValidationError); - return usernameValidationError.getText(); - } catch (Exception e) { - } - return null; - } - - public String userEmailValidationGetErrMsg(){ - try { - waitForElementToBeVisible(emailValidationError); - return emailValidationError.getText(); - } catch (Exception e) { - } - return null; - } - - public String getPassValidationError() { - try { - waitForElementToBeVisible(passValidationError); - return passValidationError.getText(); - } catch (Exception e) { - } - return null; - } - - public String getConfirmationPassValidationError() { - - try { - waitForElementToBeVisible(passConfirmationValidationError); - return passConfirmationValidationError.getText(); - } catch (Exception e) { - } - return null; - } - - public boolean isDuplicateUserNameErrorMsgDisPlayed() { - try { - return driver.findElement(By.cssSelector("mat-form-field.username > div .has-error")).isDisplayed(); - } catch (Exception e) { - e.printStackTrace(); - return false; - } - } - - public String getPassDontMatchValidationMsg() { - //WebElement passwordUnmatchingMsg = driver.findElement(By.cssSelector(".ng-trigger.ng-trigger-transitionMessages.ng-star-inserted > mat-error")); - return passMatchValidationError.getText(); - //".mat-form-field-infix > div.has-error" - } - - public boolean isUsernameFieldEnabled(){ - return isEnabled(userNameInput); - } - - public boolean isEmailFieldEnabled(){ - return isEnabled(emailInput); - } - public boolean isRoleSelectFieldEnabled(){ - return isEnabled(rolesSelectContainer); - } - public boolean isSetOrChangePassOptionBtnEnabled(){ - return isEnabled(changePassword); - } - - public boolean isRegenerateAccesstokenBtnEnabled(){ - return isEnabled(regenarateAccessTokenBtn); - } - public boolean isImportButtonActive(){ - return isEnabled(importBtn); - } - public boolean isShowDetailsButtonActive(){ - return isEnabled(showDetailsBtn); - } - public boolean isClearButtonActive(){ - return isEnabled(clearBtn); - } + public boolean isChangedPasswordActive() { + return isEnabled(passChangedClose); + } + + public boolean isChangePasswordButtonActive() { + return isEnabled(changedPassword); + } + + public boolean isCancelButtonActive() { + return isEnabled(cancelBtn); + } + + public void fillData(String user, String email, String role, String password, String confirmation) { + clearAndFillInput(userNameInput, user); + clearAndFillInput(emailInput, email); + clearAndFillInput(newPasswordInput, password); + clearAndFillInput(confirmationInput, confirmation); + + GenericSelect rolesSelect = new GenericSelect(driver, rolesSelectContainer); + rolesSelect.selectOptionByText(role); + + } + + public void clickOK() { + log.info("click OK"); + waitForElementToBeClickable(okBtn); + okBtn.click(); + waitForElementToBeGone(okBtn); + } + + public void clickCancel() { + log.info("click cancel"); + waitForElementToBeClickable(cancelBtn); + cancelBtn.click(); + waitForElementToBeGone(cancelBtn); + } + + + public void clickUserDetailsToggle() { + log.info("details toggle"); + waitForElementToBeClickable(userDetailsToggle).click(); + waitForElementToBeEnabled(userNameInput); + } + + public void fillDetailsForm(String username, String email) { + clearAndFillInput(userNameInput, username); + clearAndFillInput(emailInput, email); + } + + public void clickSetOrChangePassword() { + log.info("click change password"); + waitForElementToBeClickable(changePassword); + waitForXMillis(500); + changePassword.click(); + waitForXMillis(500); + } + + public void clickCloseAfterChangedPass() { + log.info("click close after change password"); + try { + Thread.sleep(10000); + } catch (Exception e) { + e.printStackTrace(); + } + waitForElementToBeClickable(passChangedClose); + log.info("ab"); + passChangedClose.click(); + log.info("bd"); + waitForElementToBeGone(passChangedClose); + log.info("cd"); + } + + public ConfirmationDialog clickChangedPassword() { + log.info("click changed password"); + waitForElementToBeClickable(changedPassword); + waitForXMillis(500); + changedPassword.click(); + waitForElementToBeGone(changedPassword); + return new ConfirmationDialog(driver); + } + + public boolean isPopupChangedPasswordEnabled() { + return changedPassword.isEnabled(); + } + + public void setOrChangePassword(String adminPass, String newPass, String confirmPass) { + + clearAndFillInput(adminPassInput, adminPass); + clearAndFillInput(newPasswordInput, newPass); + clearAndFillInput(confirmationInput, confirmPass); + } + + public void clickClosePasswordDialog() { + passwordDialogClose.click(); + waitForElementToBeGone(passwordDialogClose); + } + + + public String getUsernameValidationError() { + try { + waitForElementToBeVisible(usernameValidationError); + return usernameValidationError.getText(); + } catch (Exception e) { + } + return null; + } + + public String userEmailValidationGetErrMsg() { + try { + waitForElementToBeVisible(emailValidationError); + return emailValidationError.getText(); + } catch (Exception e) { + } + return null; + } + + public String getPassValidationError() { + try { + waitForElementToBeVisible(passValidationError); + return passValidationError.getText(); + } catch (Exception e) { + } + return null; + } + + public String getConfirmationPassValidationError() { + + try { + waitForElementToBeVisible(passConfirmationValidationError); + return passConfirmationValidationError.getText(); + } catch (Exception e) { + } + return null; + } + + public boolean isDuplicateUserNameErrorMsgDisPlayed() { + try { + return driver.findElement(By.cssSelector("mat-form-field.username > div .has-error")).isDisplayed(); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + public String getPassDontMatchValidationMsg() { + return passMatchValidationError.getText(); + } + + public boolean isUsernameFieldEnabled() { + return isEnabled(userNameInput); + } + + public boolean isEmailFieldEnabled() { + return isEnabled(emailInput); + } + + public boolean isRoleSelectFieldEnabled() { + return isEnabled(rolesSelectContainer); + } + + public boolean isSetOrChangePassOptionBtnEnabled() { + return isEnabled(changePassword); + } + + public boolean isRegenerateAccesstokenBtnEnabled() { + return isEnabled(regenarateAccessTokenBtn); + } + + public boolean isImportButtonActive() { + return isEnabled(importBtn); + } + + public boolean isShowDetailsButtonActive() { + return isEnabled(showDetailsBtn); + } + + public boolean isClearButtonActive() { + return isEnabled(clearBtn); + } } diff --git a/smp-ui-tests/src/main/java/pages/users/UsersPage.java b/smp-ui-tests/src/main/java/pages/users/UsersPage.java index 355894c439b8b2bd489d76fa1ca5cd76adb15a58..23632189c41d5c7cf41694bf221de9bdb916d6ee 100644 --- a/smp-ui-tests/src/main/java/pages/users/UsersPage.java +++ b/smp-ui-tests/src/main/java/pages/users/UsersPage.java @@ -53,6 +53,7 @@ public class UsersPage extends SMPPage { log.info("save button"); return isEnabled(saveBtn); } + public boolean isEditButtonEnabled() { log.info("save button"); return isEnabled(editBtn); @@ -118,7 +119,8 @@ public class UsersPage extends SMPPage { } return false; } - public boolean isEditTruststoreButtonEnabled(){ + + public boolean isEditTruststoreButtonEnabled() { try { return isEnabled(editTruststore); } catch (Exception e) { @@ -127,7 +129,8 @@ public class UsersPage extends SMPPage { return false; } - public boolean isDeleteButtonVisibled(){ + + public boolean isDeleteButtonVisible() { try { return isVisible(deleteBtn); } catch (Exception e) { @@ -136,7 +139,7 @@ public class UsersPage extends SMPPage { return false; } - public boolean isEditButtonVisibled(){ + public boolean isEditButtonVisible() { try { return isVisible(editBtn); } catch (Exception e) { @@ -146,18 +149,15 @@ public class UsersPage extends SMPPage { } - public boolean isCancelButtonVisibled() { + public boolean isCancelButtonVisible() { return isVisible(cancelBtn); } - public boolean isSaveButtonVisibled() { + public boolean isSaveButtonVisible() { return isVisible(saveBtn); } - - - } diff --git a/smp-ui-tests/src/main/java/utils/DriverManager.java b/smp-ui-tests/src/main/java/utils/DriverManager.java index e16a0469e905b50cd0a9bbf3fc25fe4a6afe2965..3a2fdade724d236982b7ad2ed8971777786ceae2 100644 --- a/smp-ui-tests/src/main/java/utils/DriverManager.java +++ b/smp-ui-tests/src/main/java/utils/DriverManager.java @@ -8,20 +8,8 @@ import java.util.concurrent.TimeUnit; public class DriverManager { -// public static WebDriver getDriver(){ -// -// ChromeOptions options = new ChromeOptions(); -// options.addArguments("--headless"); -// options.addArguments("--window-size=1920x1080"); -// options.addArguments("--no-sandbox"); -// -// WebDriver driver = new ChromeDriver(options); -// driver.manage().window().maximize(); -// -// return driver; -// } - - public static WebDriver getDriver() { + + public static WebDriver getDriver() { ChromeOptions options = new ChromeOptions(); options.setHeadless(Boolean.valueOf(PROPERTIES.HEADLESS)); @@ -33,13 +21,11 @@ public class DriverManager { WebDriver driver = new ChromeDriver(options); - driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS); + driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS); driver.manage().window().maximize(); return driver; } - - } diff --git a/smp-ui-tests/src/main/java/utils/Generator.java b/smp-ui-tests/src/main/java/utils/Generator.java index 92b90026fd0f76e74a6376faae0e753cc5be2b3c..69b3a7a2b9af31d2ef1f82c1bfcfa084f097a4a6 100644 --- a/smp-ui-tests/src/main/java/utils/Generator.java +++ b/smp-ui-tests/src/main/java/utils/Generator.java @@ -1,16 +1,21 @@ package utils; public class Generator { - + @SuppressWarnings("SpellCheckingInspection") private static final String ALPHA_NUMERIC_STRING = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - - + private static final String ALPHA_STRING = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + + public static String randomAlphaNumeric(int count) { + return randomAlpha(count); + } + + public static String randomAlpha(int count) { StringBuilder builder = new StringBuilder(); while (count-- != 0) { - int character = (int)(Math.random()*ALPHA_NUMERIC_STRING.length()); - builder.append(ALPHA_NUMERIC_STRING.charAt(character)); + int character = (int) (Math.random() * ALPHA_STRING.length()); + builder.append(ALPHA_STRING.charAt(character)); } return builder.toString(); } diff --git a/smp-ui-tests/src/test/java/customReporter/ExcelTestReporter.java b/smp-ui-tests/src/test/java/customReporter/ExcelTestReporter.java index 049b4a0a3d0ef6ca0c6cb2f4ae3cf3bcb0ff268e..f7de2399592db4e045e205af29c5831ceec849f7 100644 --- a/smp-ui-tests/src/test/java/customReporter/ExcelTestReporter.java +++ b/smp-ui-tests/src/test/java/customReporter/ExcelTestReporter.java @@ -160,7 +160,6 @@ public class ExcelTestReporter implements ITestListener { Row currentRow = reportSheet.createRow(rowNum); currentRow.createCell(0).setCellValue(testType); -// currentRow.createCell(0).setCellValue("UI"); currentRow.createCell(1).setCellValue(iTestResult.getTestContext().getSuite().getName()); currentRow.createCell(2).setCellValue(iTestResult.getMethod().getConstructorOrMethod().getMethod().getAnnotation(Test.class).description()); currentRow.createCell(3).setCellValue(iTestResult.getName()); diff --git a/smp-ui-tests/src/test/java/ui/DomainPgTest.java b/smp-ui-tests/src/test/java/ui/DomainPgTest.java index 635c3ea6d5b071dd796938034a1d3cfd49fdf2c7..35c656d99daefc99fe8e4a268edd4b7b703abbbb 100644 --- a/smp-ui-tests/src/test/java/ui/DomainPgTest.java +++ b/smp-ui-tests/src/test/java/ui/DomainPgTest.java @@ -18,30 +18,29 @@ import utils.Generator; import utils.enums.SMPMessages; import utils.rest.SMPRestClient; -import java.awt.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class DomainPgTest extends BaseTest { - + @AfterMethod - public void logoutAndReset(){ + public void logoutAndReset() { genericLogoutProcedure(); } - + @BeforeMethod - public void loginAndGoToDomainPage(){ - + public void loginAndGoToDomainPage() { + SMPPage page = genericLoginProcedure("SYS_ADMIN"); logger.info("Going to Domain page"); page.sidebar.goToPage(DomainPage.class); } - + @Test(description = "DMN-0") - public void openDomainPage(){ + public void openDomainPage() { SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); @@ -49,7 +48,7 @@ public class DomainPgTest extends BaseTest { DomainGrid grid = page.grid(); DomainRow row0 = grid.getRowsInfo().get(0); grid.doubleClickRow(0); - + DomainPopup popup = new DomainPopup(driver); soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); @@ -58,7 +57,7 @@ public class DomainPgTest extends BaseTest { soft.assertTrue(!popup.isSMLDomainInputEnabled(), "On double click SML Domain input is disabled"); popup.clickCancel(); - + soft.assertEquals(row0, page.grid().getRowsInfo().get(0), "Row is unchanged"); soft.assertTrue(!page.isSaveButtonEnabled(), "Save button is not enabled"); @@ -66,7 +65,7 @@ public class DomainPgTest extends BaseTest { } @Test(description = "DMN-10") - public void editDomain(){ + public void editDomain() { SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); @@ -110,7 +109,7 @@ public class DomainPgTest extends BaseTest { @Test(description = "DMN-20") - public void newDomain(){ + public void newDomain() { SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); @@ -142,14 +141,14 @@ public class DomainPgTest extends BaseTest { "Success message is as expected"); List<DomainRow> rows = page.grid().getRowsInfo(); - while (page.pagination.hasNextPage()){ + while (page.pagination.hasNextPage()) { page.pagination.goToNextPage(); rows.addAll(page.grid().getRowsInfo()); } boolean found = false; for (DomainRow row : rows) { - if(row.getDomainCode().equalsIgnoreCase(rndString)){ + if (row.getDomainCode().equalsIgnoreCase(rndString)) { found = true; break; } @@ -161,7 +160,7 @@ public class DomainPgTest extends BaseTest { } @Test(description = "DMN-30") - public void cancelNewDomainCreation(){ + public void cancelNewDomainCreation() { SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); @@ -177,11 +176,7 @@ public class DomainPgTest extends BaseTest { popup.fillDataForNewDomain(rndString, rndString, rndString, rndString); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - e.printStackTrace(); - } + popup.waitForXMillis(1000); popup.clickOK(); soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); @@ -190,14 +185,14 @@ public class DomainPgTest extends BaseTest { new ConfirmationDialog(driver).confirm(); List<DomainRow> rows = page.grid().getRowsInfo(); - while (page.pagination.hasNextPage()){ + while (page.pagination.hasNextPage()) { page.pagination.goToNextPage(); rows.addAll(page.grid().getRowsInfo()); } boolean found = false; for (DomainRow row : rows) { - if(row.getDomainCode().equalsIgnoreCase(rndString)){ + if (row.getDomainCode().equalsIgnoreCase(rndString)) { found = true; break; } @@ -209,7 +204,7 @@ public class DomainPgTest extends BaseTest { } @Test(description = "DMN-40") - public void deleteDomain(){ + public void deleteDomain() { String rndStr = Generator.randomAlphaNumeric(10); SMPRestClient.createDomain(rndStr); @@ -221,7 +216,7 @@ public class DomainPgTest extends BaseTest { soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); - int index = page.grid().scrollToDomain(rndStr); + int index = page.grid().scrollToDomain(rndStr); page.grid().selectRow(index); @@ -235,21 +230,21 @@ public class DomainPgTest extends BaseTest { page.clickCancel().confirm(); new ConfirmationDialog(driver).confirm(); - soft.assertTrue(page.grid().isDomainStillPresent(rndStr), "Row is still present"); + soft.assertTrue(page.grid().isDomainStillPresent(rndStr), "Row is still present"); - index = page.grid().scrollToDomain(rndStr); - page.grid().selectRow(index); - page.clickDelete(); - page.clickSave().confirm(); + index = page.grid().scrollToDomain(rndStr); + page.grid().selectRow(index); + page.clickDelete(); + page.clickSave().confirm(); - soft.assertTrue(!page.grid().isDomainStillPresent(rndStr), "Row is still NOT present after delete"); + soft.assertTrue(!page.grid().isDomainStillPresent(rndStr), "Row is still NOT present after delete"); soft.assertAll(); } @Test(description = "DMN-50") - public void deleteDomainWithSG(){ + public void deleteDomainWithSG() { String domainName = Generator.randomAlphaNumeric(10); String pi = Generator.randomAlphaNumeric(10); @@ -258,16 +253,16 @@ public class DomainPgTest extends BaseTest { String expectedErrorMess = String.format("Delete validation error Could not delete domains used by Service groups! Domain: %s (%s ) uses by:1 SG.", domainName, domainName); SMPRestClient.createDomain(domainName); - SMPRestClient.createServiceGroup(pi, ps, new ArrayList<>(Arrays.asList("smp")),new ArrayList<>(Arrays.asList(domainName))); + SMPRestClient.createServiceGroup(pi, ps, new ArrayList<>(Arrays.asList("smp")), new ArrayList<>(Arrays.asList(domainName))); SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); page.refreshPage(); - int index = page.grid().scrollToDomain(domainName); - page.grid().selectRow(index); - soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); + int index = page.grid().scrollToDomain(domainName); + page.grid().selectRow(index); + soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); page.clickDelete(); AlertMessage message = page.alertArea.getAlertMessage(); @@ -280,66 +275,66 @@ public class DomainPgTest extends BaseTest { soft.assertAll(); } - @Test(description = "DMN-60") - public void duplicateDomainCreation() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - String errorMsg = "The Domain code already exists!"; - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - String rndString = Generator.randomAlphaNumeric(10); - DomainPopup popup = page.clickNew(); - soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); - soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled"); - soft.assertTrue(popup.isSMLDomainInputEnabled(), "When defining new domain -SML Domain input is disabled"); - popup.fillDataForNewDomain(rndString, rndString, rndString, rndString); - popup.clickOK(); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); - page.clickSave().confirm(); - page.clickNew(); - soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); - soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled"); - soft.assertTrue(popup.isSMLDomainInputEnabled(), "When defining new domain -SML Domain input is disabled"); - popup.fillDataForNewDomain(rndString, rndString, rndString, rndString); - soft.assertEquals(popup.getDuplicateDomainErrorMsgText(), errorMsg, "The message is not matching with our expected error message"); - soft.assertFalse(popup.isEnableOkButton(), "Ok button is enable"); - soft.assertTrue(popup.isEnableCancelButton(), "Cancel button is disabled"); - popup.clickCancel(); - soft.assertAll(); - } - - @Test(description = "DMN-70") - public void onlyDomainCodeSavingMsgVerify() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - int index = page.grid().scrollToSmlDomain(""); - if (index >= 0) { - try { - page.grid().selectRow(index); - page.clickDelete(); - page.clickSave().confirm(); - } catch (Exception e) { - e.printStackTrace(); - } - } - String rndString = Generator.randomAlphaNumeric(10); - DomainPopup popup = page.clickNew(); - soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); - soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled"); - popup.clearAndFillDomainCodeInput(rndString); - soft.assertTrue(popup.isEnableOkButton(), "Ok button is disabled"); - popup.clickOK(); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); - page.clickSave().confirm(); - soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), - "Success message is as expected"); - index = page.grid().scrollToSmlDomain(""); - if (index >= 0) { - page.grid().scrollRow(index); - } - int rowNumber = index + 1; - soft.assertAll(); - } + @Test(description = "DMN-60") + public void duplicateDomainCreation() { + SoftAssert soft = new SoftAssert(); + DomainPage page = new DomainPage(driver); + String errorMsg = "The Domain code already exists!"; + soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); + String rndString = Generator.randomAlpha(10); + DomainPopup popup = page.clickNew(); + soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); + soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled"); + soft.assertTrue(popup.isSMLDomainInputEnabled(), "When defining new domain -SML Domain input is disabled"); + popup.fillDataForNewDomain(rndString, rndString, rndString, rndString); + popup.clickOK(); + soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); + page.clickSave().confirm(); + page.clickNew(); + soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); + soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled"); + soft.assertTrue(popup.isSMLDomainInputEnabled(), "When defining new domain -SML Domain input is disabled"); + popup.fillDataForNewDomain(rndString, rndString, rndString, rndString); + soft.assertEquals(popup.getDuplicateDomainErrorMsgText(), errorMsg, "The message is not matching with our expected error message"); + soft.assertFalse(popup.isEnableOkButton(), "Ok button is enabled"); + soft.assertTrue(popup.isEnableCancelButton(), "Cancel button is disabled"); + popup.clickCancel(); + soft.assertAll(); + } + + @Test(description = "DMN-70") + public void onlyDomainCodeSavingMsgVerify() { + SoftAssert soft = new SoftAssert(); + DomainPage page = new DomainPage(driver); + soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); + int index = page.grid().scrollToSmlDomain(""); + if (index >= 0) { + try { + page.grid().selectRow(index); + page.clickDelete(); + page.clickSave().confirm(); + } catch (Exception e) { + e.printStackTrace(); + } + } + String rndString = Generator.randomAlpha(10); + DomainPopup popup = page.clickNew(); + soft.assertTrue(popup.isLoaded(), "Domain popup is loaded"); + soft.assertTrue(popup.isDomainCodeInputEnabled(), "When defining new domain - Domain Code input is disabled"); + popup.clearAndFillDomainCodeInput(rndString); + soft.assertTrue(popup.isEnableOkButton(), "Ok button is disabled"); + popup.clickOK(); + soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); + page.clickSave().confirm(); + soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), + "Success message is as expected"); + index = page.grid().scrollToSmlDomain(""); + if (index >= 0) { + page.grid().scrollRow(index); + } + int rowNumber = index + 1; + soft.assertAll(); + } @Test(description = "DMN-80") public void onlyDomainCodeAndSMLDomainSavingMsgVerify() { @@ -372,23 +367,23 @@ public class DomainPgTest extends BaseTest { SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - String pass="test123"; + String pass = "test123"; KeyStoreEditDialog keyStoreEdit = page.clickEditKeyStore(); int keyStoreRowBeforeAddition = keyStoreEdit.grid().getRowsNo(); KeyStoreImportDialog keyStoreImport = keyStoreEdit.clickImportKeystore(); keyStoreImport.chooseKeystoreFile("src/main/resources/keystore/keystore_dummy1.jks"); - Assert.assertEquals(keyStoreImport.getKeyStoreFileName(),"keystore_dummy1.jks","the keystore file name is not correct"); + Assert.assertEquals(keyStoreImport.getKeyStoreFileName(), "keystore_dummy1.jks", "the keystore file name is not correct"); keyStoreImport.fillPassword(pass); keyStoreImport.clickImportBtn(); keyStoreEdit.clickCloseInKeystore(); soft.assertFalse(page.alertArea.getAlertMessage().isError()); keyStoreEdit = page.clickEditKeyStore(); int keyStoreRowAfterAddition = keyStoreEdit.grid().getRowsNo(); - soft.assertEquals(keyStoreRowAfterAddition,keyStoreRowBeforeAddition+1, "KeyStore is not added to the grid"); - if(keyStoreRowAfterAddition > 1){ - keyStoreEdit.grid().deleteKeyStore(keyStoreRowAfterAddition-1).confirm(); + soft.assertEquals(keyStoreRowAfterAddition, keyStoreRowBeforeAddition + 1, "KeyStore is not added to the grid"); + if (keyStoreRowAfterAddition > 1) { + keyStoreEdit.grid().deleteKeyStore(keyStoreRowAfterAddition - 1).confirm(); int keyStoreRowAfterDeletion = keyStoreEdit.grid().getRowsNo(); - soft.assertEquals(keyStoreRowAfterDeletion,keyStoreRowAfterAddition-1, "KeyStore is not delete from the grid"); + soft.assertEquals(keyStoreRowAfterDeletion, keyStoreRowAfterAddition - 1, "KeyStore is not delete from the grid"); keyStoreEdit.clickCloseInKeystore(); soft.assertFalse(page.alertArea.getAlertMessage().isError()); } @@ -397,43 +392,43 @@ public class DomainPgTest extends BaseTest { @Test(description = "DMN-100") public void allowDuplicateKeyStore() { - SoftAssert soft = new SoftAssert(); - DomainPage page = new DomainPage(driver); - soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); - String pass="test123"; - KeyStoreEditDialog keyStoreEdit = page.clickEditKeyStore(); - int keyStoreRowBeforeAddition = keyStoreEdit.grid().getRowsNo(); - KeyStoreImportDialog keyStoreImport = keyStoreEdit.clickImportKeystore(); - keyStoreImport.chooseKeystoreFile("src/main/resources/keystore/keystore_dummy1.jks"); - Assert.assertEquals(keyStoreImport.getKeyStoreFileName(),"keystore_dummy1.jks","the keystore file name is not correct"); - keyStoreImport.fillPassword(pass); - keyStoreImport.clickImportBtn(); - keyStoreEdit.clickCloseInKeystore(); - soft.assertFalse(page.alertArea.getAlertMessage().isError()); - keyStoreEdit = page.clickEditKeyStore(); - int keyStoreRowAfterAddition = keyStoreEdit.grid().getRowsNo(); - soft.assertEquals(keyStoreRowAfterAddition,keyStoreRowBeforeAddition+1, "KeyStore is not added to the grid"); + SoftAssert soft = new SoftAssert(); + DomainPage page = new DomainPage(driver); + soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); + String pass = "test123"; + KeyStoreEditDialog keyStoreEdit = page.clickEditKeyStore(); + int keyStoreRowBeforeAddition = keyStoreEdit.grid().getRowsNo(); + KeyStoreImportDialog keyStoreImport = keyStoreEdit.clickImportKeystore(); + keyStoreImport.chooseKeystoreFile("src/main/resources/keystore/keystore_dummy1.jks"); + Assert.assertEquals(keyStoreImport.getKeyStoreFileName(), "keystore_dummy1.jks", "the keystore file name is not correct"); + keyStoreImport.fillPassword(pass); + keyStoreImport.clickImportBtn(); + keyStoreEdit.clickCloseInKeystore(); + soft.assertFalse(page.alertArea.getAlertMessage().isError()); + keyStoreEdit = page.clickEditKeyStore(); + int keyStoreRowAfterAddition = keyStoreEdit.grid().getRowsNo(); + soft.assertEquals(keyStoreRowAfterAddition, keyStoreRowBeforeAddition + 1, "KeyStore is not added to the grid"); keyStoreRowBeforeAddition = keyStoreRowAfterAddition; keyStoreImport = keyStoreEdit.clickImportKeystore(); keyStoreImport.chooseKeystoreFile("src/main/resources/keystore/keystore_dummy1.jks"); - Assert.assertEquals(keyStoreImport.getKeyStoreFileName(),"keystore_dummy1.jks","the keystore file name is not correct"); + Assert.assertEquals(keyStoreImport.getKeyStoreFileName(), "keystore_dummy1.jks", "the keystore file name is not correct"); keyStoreImport.fillPassword(pass); keyStoreImport.clickImportBtn(); keyStoreEdit.clickCloseInKeystore(); soft.assertFalse(page.alertArea.getAlertMessage().isError()); keyStoreEdit = page.clickEditKeyStore(); keyStoreRowAfterAddition = keyStoreEdit.grid().getRowsNo(); - soft.assertEquals(keyStoreRowAfterAddition,keyStoreRowBeforeAddition+1, "KeyStore is not added to the grid"); - if(keyStoreRowAfterAddition > 1){ - keyStoreEdit.grid().deleteKeyStore(keyStoreRowAfterAddition-1).confirm(); + soft.assertEquals(keyStoreRowAfterAddition, keyStoreRowBeforeAddition + 1, "KeyStore is not added to the grid"); + if (keyStoreRowAfterAddition > 1) { + keyStoreEdit.grid().deleteKeyStore(keyStoreRowAfterAddition - 1).confirm(); int keyStoreRowAfterDeletion = keyStoreEdit.grid().getRowsNo(); - soft.assertEquals(keyStoreRowAfterDeletion,keyStoreRowAfterAddition-1, "KeyStore is not delete from the grid"); + soft.assertEquals(keyStoreRowAfterDeletion, keyStoreRowAfterAddition - 1, "KeyStore is not delete from the grid"); keyStoreRowAfterAddition = keyStoreRowAfterDeletion; } - if(keyStoreRowAfterAddition > 1){ - keyStoreEdit.grid().deleteKeyStore(keyStoreRowAfterAddition-1).confirm(); + if (keyStoreRowAfterAddition > 1) { + keyStoreEdit.grid().deleteKeyStore(keyStoreRowAfterAddition - 1).confirm(); int keyStoreRowAfterDeletion = keyStoreEdit.grid().getRowsNo(); - soft.assertEquals(keyStoreRowAfterDeletion,keyStoreRowAfterAddition-1, "KeyStore is not delete from the grid"); + soft.assertEquals(keyStoreRowAfterDeletion, keyStoreRowAfterAddition - 1, "KeyStore is not delete from the grid"); keyStoreEdit.clickCloseInKeystore(); soft.assertFalse(page.alertArea.getAlertMessage().isError()); } @@ -441,48 +436,46 @@ public class DomainPgTest extends BaseTest { } @Test(description = "DMN-110") - public void mandatoryDomainIdFieldVerification() - { + public void mandatoryDomainIdFieldVerification() { SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); - String randstring =Generator.randomAlphaNumeric(10); + String randstring = Generator.randomAlphaNumeric(10); soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); DomainPopup popup = page.clickNew(); - popup.fillDataForNewDomain("",randstring,randstring,randstring); - soft.assertTrue(!popup.isEnableOkButton(),"Ok button is not disabled after leave domain input empty"); + popup.fillDataForNewDomain("", randstring, randstring, randstring); + soft.assertTrue(!popup.isEnableOkButton(), "Ok button is not disabled after leave domain input empty"); soft.assertAll(); } @Test(description = "DMN-120") - public void verifyInvalidSMLSMPIDField(){ + public void verifyInvalidSMLSMPIDField() { SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); - String randstring =Generator.randomAlphaNumeric(10); + String randstring = Generator.randomAlpha(10); ArrayList<String> smlsmpId = new ArrayList<>(Arrays.asList("abc@k", "abcd-", "-abgxknvlk", "1qwertyuvbnm")); soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); DomainPopup popup = page.clickNew(); - for(String smlsmpid : smlsmpId) { + for (String smlsmpid : smlsmpId) { popup.fillDataForNewDomain(randstring, randstring, smlsmpid, randstring); - soft.assertTrue(!popup.isEnableOkButton(),"OK button is enable after sending the invalid smlsmpId"); - soft.assertEquals(popup.getSmlSmpIdValidationMsg(), SMPMessages.SMLSMPID_VALIDATION_MESSAGE,"Error message is not in list"); + soft.assertTrue(!popup.isEnableOkButton(), "OK button is enabled after sending the invalid smlsmpId"); + soft.assertEquals(popup.getSmlSmpIdValidationMsg(), SMPMessages.SMLSMPID_VALIDATION_MESSAGE, "Error message is not in list"); } - soft.assertAll(); + soft.assertAll(); } @Test(description = "DMN-130") - public void clientCertHeaderToggleTest() - { + public void clientCertHeaderToggleTest() { SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); soft.assertTrue(page.isLoaded(), "Check that the page is loaded"); DomainPopup popup = page.clickNew(); - soft.assertEquals(popup.checkedUserClientCertHeaderToggl(),"false","The user toggle is on"); + soft.assertEquals(popup.checkedUserClientCertHeaderToggl(), "false", "The user toggle is on"); popup.clickUserClientCertHeaderToggle(); - soft.assertEquals(popup.checkedUserClientCertHeaderToggl(),"true","The user toggle is off"); + soft.assertEquals(popup.checkedUserClientCertHeaderToggl(), "true", "The user toggle is off"); soft.assertAll(); } @@ -505,7 +498,8 @@ public class DomainPgTest extends BaseTest { for (String domain : domainCode) { popup.fillDataForNewDomain(domain, rndString, rndString, rndString); - soft.assertTrue(!popup.isEnableOkButton(),"OK button is active after s4ending invalid domain code"); + + soft.assertTrue(!popup.isEnableOkButton(), "OK button is active after sending invalid domain code"); soft.assertEquals(popup.domainCodeValidationGetErrMsg(), SMPMessages.DOMAINCODE_VALIDATION_MESSAGE, "Message is not in the list"); } @@ -513,10 +507,10 @@ public class DomainPgTest extends BaseTest { } @Test(description = "USR-150") - public void verifyNoOfCharcterAllowanceLimitInDomaincodeAndSMLSMPId(){ + public void verifyNoOfCharcterAllowanceLimitInDomaincodeAndSMLSMPId() { SoftAssert soft = new SoftAssert(); DomainPage page = new DomainPage(driver); - String randstring =Generator.randomAlphaNumeric(10); + String randstring = Generator.randomAlphaNumeric(10); String string = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz12345678901g"; soft.assertTrue(page.isLoaded(), "Check that the page is not loaded"); @@ -524,7 +518,7 @@ public class DomainPgTest extends BaseTest { soft.assertTrue(popup.isLoaded(), "Domain popup is not loaded"); popup.fillDataForNewDomain(string, randstring, string, randstring); soft.assertEquals(popup.domainCode63CharValidationGetErrMsg(), SMPMessages.DOMAINCODE_VALIDATION_MESSAGE, "Message is not in the list"); - soft.assertEquals(popup.getSmlSmpId63CharValidationMsg(), SMPMessages.SMLSMPID_VALIDATION_MESSAGE,"Error message is not in list"); + soft.assertEquals(popup.getSmlSmpId63CharValidationMsg(), SMPMessages.SMLSMPID_VALIDATION_MESSAGE, "Error message is not in list"); soft.assertAll(); } diff --git a/smp-ui-tests/src/test/java/ui/EditPgTest.java b/smp-ui-tests/src/test/java/ui/EditPgTest.java index f00178500a2cfe4075c5c22f8e5101c007dcf9d7..db0638c600046e47edf296c9d54c179f35558ada 100644 --- a/smp-ui-tests/src/test/java/ui/EditPgTest.java +++ b/smp-ui-tests/src/test/java/ui/EditPgTest.java @@ -166,8 +166,8 @@ public class EditPgTest extends BaseTest { ServiceGroupPopup popup = new ServiceGroupPopup(driver); - soft.assertTrue(row0.getParticipantIdentifier().equalsIgnoreCase(popup.getParticipantIdentifierValue()), "Popup opened for appropriate service group"); - soft.assertTrue(row0.getParticipantScheme().equalsIgnoreCase(popup.getParticipantSchemeValue()), "Popup opened for appropriate service group"); + soft.assertEquals(row0.getParticipantIdentifier().trim().toLowerCase(), popup.getParticipantIdentifierValue().trim().toLowerCase(), "Popup opened for appropriate service group"); + soft.assertEquals(row0.getParticipantScheme().trim().toLowerCase(), popup.getParticipantSchemeValue().trim().toLowerCase(), "Popup opened for appropriate service group"); soft.assertTrue(popup.isExtensionAreaEditable(), "extension area is editable"); soft.assertTrue(!popup.isParticipantIdentifierInputEnabled(), "Participant Identifier field is disabled"); @@ -364,6 +364,7 @@ public class EditPgTest extends BaseTest { soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is now active (2)"); page.clickSave().confirm(); + page.waitForRowsToLoad(); page.filterArea.filter(identifier, "", ""); soft.assertTrue(page.getGrid().getRowsNo() == 0 @@ -381,86 +382,86 @@ public class EditPgTest extends BaseTest { ServiceGroupGrid grid = page.getGrid(); Integer index = 0; ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - ServiceMetadataPopup metadataPopup= row0.clickAddMetadata(); - soft.assertTrue(!metadataPopup.isParticipantIdentifierEnabled(),"participantId field is enabled for an existing service group in service metadata popup"); - soft.assertTrue(!metadataPopup.isParticipantSchemeEnabled(),"participantScheme field is enabled for an existing service group in service metadata popup"); - soft.assertEquals(metadataPopup.docIDFieldValue(),"","docIDField is not empty"); - soft.assertEquals(metadataPopup.docIDSchemeFieldValue(),"","docIDField is not empty"); + ServiceMetadataPopup metadataPopup = row0.clickAddMetadata(); + soft.assertTrue(!metadataPopup.isParticipantIdentifierEnabled(), "participantId field is enabled for an existing service group in service metadata popup"); + soft.assertTrue(!metadataPopup.isParticipantSchemeEnabled(), "participantScheme field is enabled for an existing service group in service metadata popup"); + soft.assertEquals(metadataPopup.docIDFieldValue(), "", "docIDField is not empty"); + soft.assertEquals(metadataPopup.docIDSchemeFieldValue(), "", "docIDField is not empty"); soft.assertTrue(row0.getParticipantIdentifier().equalsIgnoreCase(metadataPopup.getParticipantIdentifierValue()), "ServiceMetadata dialog opened for appropriate service group"); soft.assertTrue(row0.getParticipantScheme().equalsIgnoreCase(metadataPopup.getParticipantSchemeValue()), "ServiceMetadata dialog opened for appropriate service group"); - metadataPopup.fillForm(generator,generator,generator); + metadataPopup.fillForm(generator, generator, generator); ServiceMetadataWizardPopup metadataWizaedPopup = metadataPopup.clickMetadataWizard(); - metadataWizaedPopup.fillForm(generator,generator,generator,generator,"bdxr-transport-ebms3-as4-v1p0","internal/rest/domain"); + metadataWizaedPopup.fillForm(generator, generator, generator, generator, "bdxr-transport-ebms3-as4-v1p0", "internal/rest/domain"); metadataWizaedPopup.fillCerificateBox(generator); - soft.assertTrue(metadataWizaedPopup.isEnableOkBtn(),"ok button is disabled after providing the valid data"); + soft.assertTrue(metadataWizaedPopup.isEnabledOkBtn(), "ok button is disabled after providing the valid data"); metadataPopup = metadataWizaedPopup.clickOK(); - soft.assertEquals(metadataPopup.docIDFieldValue(),generator,"After saving the servicemetadata wizard popup with valid data the docID field of service metadata popup doc id contain the coressponding value"); - soft.assertEquals(metadataPopup.docIDSchemeFieldValue(),generator,"After saving the servicemetadata wizard popup with valid data the docIDScheme field of service metadata popup doc id scheme contain the coressponding value"); - soft.assertTrue(metadataPopup.isOKBtnEnabled(),"OK button is not enabled"); + soft.assertEquals(metadataPopup.docIDFieldValue(), generator, "After saving the servicemetadata wizard popup with valid data the docID field of service metadata popup doc id contain the coressponding value"); + soft.assertEquals(metadataPopup.docIDSchemeFieldValue(), generator, "After saving the servicemetadata wizard popup with valid data the docIDScheme field of service metadata popup doc id scheme contain the coressponding value"); + soft.assertTrue(metadataPopup.isOKBtnEnabled(), "OK button is not enabled"); soft.assertAll(); } @Test(description = "EDT-120") - public void verifyServicemtadataWizardDilogField(){ + public void verifyServicemtadataWizardDilogField() { SoftAssert soft = new SoftAssert(); EditPage page = new EditPage(driver); String generator = Generator.randomAlphaNumeric(10); ServiceGroupGrid grid = page.getGrid(); Integer index = 0; ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - ServiceMetadataPopup metadataPopup= row0.clickAddMetadata(); - soft.assertTrue(!metadataPopup.isParticipantIdentifierEnabled(),"participantId field is enabled for an existing service group in service metadata popup"); - soft.assertTrue(!metadataPopup.isParticipantSchemeEnabled(),"participantScheme field is enabled for an existing service group in service metadata popup"); - metadataPopup.fillForm(generator,generator,generator); - ServiceMetadataWizardPopup metadataWizard= metadataPopup.clickMetadataWizard(); - soft.assertEquals(metadataWizard.docIDFieldValue(),generator,"document identifier field of metdata wizard popup not contain the corresponding doc id filled in sevice metadata popup"); - soft.assertEquals(metadataWizard.docIDSchemeFieldValue(),generator,"document identifier field of metdata wizard popup not contain the corresponding doc id scheme filled in sevice metadata popup"); + ServiceMetadataPopup metadataPopup = row0.clickAddMetadata(); + soft.assertTrue(!metadataPopup.isParticipantIdentifierEnabled(), "participantId field is enabled for an existing service group in service metadata popup"); + soft.assertTrue(!metadataPopup.isParticipantSchemeEnabled(), "participantScheme field is enabled for an existing service group in service metadata popup"); + metadataPopup.fillForm(generator, generator, generator); + ServiceMetadataWizardPopup metadataWizard = metadataPopup.clickMetadataWizard(); + soft.assertEquals(metadataWizard.docIDFieldValue(), generator, "document identifier field of metdata wizard popup not contain the corresponding doc id filled in sevice metadata popup"); + soft.assertEquals(metadataWizard.docIDSchemeFieldValue(), generator, "document identifier field of metdata wizard popup not contain the corresponding doc id scheme filled in sevice metadata popup"); soft.assertAll(); } @Test(description = "EDT-130") - public void verifyTransportProfile(){ + public void verifyTransportProfile() { SoftAssert soft = new SoftAssert(); EditPage page = new EditPage(driver); String generator = Generator.randomAlphaNumeric(10); ServiceGroupGrid grid = page.getGrid(); Integer index = 0; ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - ServiceMetadataPopup metadataPopup= row0.clickAddMetadata(); - soft.assertTrue(!metadataPopup.isParticipantIdentifierEnabled(),"participantId field is enabled for an existing service group in service metadata popup"); - soft.assertTrue(!metadataPopup.isParticipantSchemeEnabled(),"participantScheme field is enabled for an existing service group in service metadata popup"); - ServiceMetadataWizardPopup metadataWizard= metadataPopup.clickMetadataWizard(); - soft.assertEquals(metadataWizard.transportProfileFieldContent(),"bdxr-transport-ebms3-as4-v1p0","The transport profile field in service metadata wizard popup not contain the default value"); + ServiceMetadataPopup metadataPopup = row0.clickAddMetadata(); + soft.assertTrue(!metadataPopup.isParticipantIdentifierEnabled(), "participantId field is enabled for an existing service group in service metadata popup"); + soft.assertTrue(!metadataPopup.isParticipantSchemeEnabled(), "participantScheme field is enabled for an existing service group in service metadata popup"); + ServiceMetadataWizardPopup metadataWizard = metadataPopup.clickMetadataWizard(); + soft.assertEquals(metadataWizard.transportProfileFieldContent(), "bdxr-transport-ebms3-as4-v1p0", "The transport profile field in service metadata wizard popup not contain the default value"); soft.assertAll(); } @Test(description = "EDT-140") - public void serviceMetadataXMLValidationRule(){ + public void serviceMetadataXMLValidationRule() { SoftAssert soft = new SoftAssert(); EditPage page = new EditPage(driver); String generator = Generator.randomAlphaNumeric(10); ServiceGroupGrid grid = page.getGrid(); Integer index = 0; ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - ServiceMetadataPopup metadataPopup= row0.clickAddMetadata(); - metadataPopup.fillForm(generator,generator,generator); + ServiceMetadataPopup metadataPopup = row0.clickAddMetadata(); + metadataPopup.fillForm(generator, generator, generator); metadataPopup.clickValidateBtn(); - soft.assertEquals(metadataPopup.getXMLValidationMessage(), SMPMessages.VALID_XML_MESSAGE,"The message is not in list"); + soft.assertEquals(metadataPopup.getXMLValidationMessage(), SMPMessages.VALID_XML_MESSAGE, "The message is not in list"); metadataPopup.clickClearBtn(); metadataPopup.clickValidateBtn(); - soft.assertEquals(metadataPopup.getXMLValidationMessage(),SMPMessages.EMPTY_XML_WARN_MESSAGE,"The message is not in list"); + soft.assertEquals(metadataPopup.getXMLValidationMessage(), SMPMessages.EMPTY_XML_WARN_MESSAGE, "The message is not in list"); metadataPopup.clickGenerateXMLBtn(); String xml1 = metadataPopup.captureTextOfMetadataTextArea(); - String invalidxml1 = xml1+"xcvjdvxv"; + String invalidxml1 = xml1 + "xcvjdvxv"; metadataPopup.addTextToMetadataTextArea(invalidxml1); metadataPopup.clickValidateBtn(); - soft.assertEquals(metadataPopup.getXMLValidationMessage(),SMPMessages.INVALID_XML_MESSAGE3,"The message error message is not in list"); + soft.assertEquals(metadataPopup.getXMLValidationMessage(), SMPMessages.INVALID_XML_MESSAGE3, "The message error message is not in list"); metadataPopup.clickClearBtn(); metadataPopup.addTextToMetadataTextArea("xjvnkcfjblcf"); metadataPopup.clickValidateBtn(); - soft.assertEquals(metadataPopup.getXMLValidationMessage(),SMPMessages.INVALID_XML_MESSAGE2,"The message error message is not in list"); + soft.assertEquals(metadataPopup.getXMLValidationMessage(), SMPMessages.INVALID_XML_MESSAGE2, "The message error message is not in list"); metadataPopup.clickClearBtn(); soft.assertAll(); @@ -468,37 +469,41 @@ public class EditPgTest extends BaseTest { } @Test(description = "EDT-150") - public void verifyServiceMetadataXMLClearBtn(){ + public void verifyServiceMetadataXMLClearBtn() { SoftAssert soft = new SoftAssert(); EditPage page = new EditPage(driver); String generator = Generator.randomAlphaNumeric(10); ServiceGroupGrid grid = page.getGrid(); Integer index = 0; ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - ServiceMetadataPopup metadataPopup= row0.clickAddMetadata(); - metadataPopup.fillForm(generator,generator,generator); - soft.assertNotEquals(metadataPopup.xmlFieldVALUE(),"","The xml field area is empty"); + ServiceMetadataPopup metadataPopup = row0.clickAddMetadata(); + metadataPopup.fillForm(generator, generator, generator); + soft.assertNotEquals(metadataPopup.xmlFieldVALUE(), "", "The xml field area is empty"); metadataPopup.clickClearBtn(); - soft.assertEquals(metadataPopup.xmlFieldVALUE(),"","The clear button did not clear the xml field"); + soft.assertEquals(metadataPopup.xmlFieldVALUE(), "", "The clear button did not clear the xml field"); soft.assertAll(); } @Test(description = "EDT-160") - public void verifyServiceMetadataWizardOkBtn(){ + public void verifyServiceMetadataWizardOkBtn() { SoftAssert soft = new SoftAssert(); EditPage page = new EditPage(driver); String generator = Generator.randomAlphaNumeric(10); ServiceGroupGrid grid = page.getGrid(); + grid.waitForRowsToLoad(); int index = 0; ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); - ServiceMetadataPopup metadataPopup= row0.clickAddMetadata(); + ServiceMetadataPopup metadataPopup = row0.clickAddMetadata(); + soft.assertTrue(!metadataPopup.isParticipantIdentifierEnabled(), "participantId field is enabled for an existing service group in service metadata popup"); + soft.assertTrue(!metadataPopup.isParticipantSchemeEnabled(), "participantScheme field is enabled for an existing service group in service metadata popup"); + + ServiceMetadataWizardPopup metadataWizard = metadataPopup.clickMetadataWizard(); - soft.assertTrue(!metadataPopup.isParticipantIdentifierEnabled(),"participantId field is enabled for an existing service group in service metadata popup"); - soft.assertTrue(!metadataPopup.isParticipantSchemeEnabled(),"participantScheme field is enabled for an existing service group in service metadata popup"); - soft.assertFalse(metadataWizard.isEnableOkBtn(),"OK button is enable before providing the valid data"); - metadataWizard.fillForm(generator,generator,generator,generator,"bdxr-transport-ebms3-as4-v1p0","internal/rest/domain"); + + soft.assertFalse(metadataWizard.isEnabledOkBtn(), "OK button is enabled before providing the valid data"); + metadataWizard.fillForm(generator, generator, generator, generator, "bdxr-transport-ebms3-as4-v1p0", "internal/rest/domain"); metadataWizard.fillCerificateBox(generator); - soft.assertTrue(metadataWizard.isEnableOkBtn(),"OK button is disable after providing the valid data"); + soft.assertTrue(metadataWizard.isEnabledOkBtn(), "OK button is disabled after providing the valid data"); soft.assertAll(); diff --git a/smp-ui-tests/src/test/java/ui/LoginPgTest.java b/smp-ui-tests/src/test/java/ui/LoginPgTest.java index 1dc0d7f79f34c6bb70c8379818bfd41f239de6ba..db5617e0c6e191f9c535e22a77e0bad37c01826d 100644 --- a/smp-ui-tests/src/test/java/ui/LoginPgTest.java +++ b/smp-ui-tests/src/test/java/ui/LoginPgTest.java @@ -1,16 +1,14 @@ package ui; import org.openqa.selenium.JavascriptExecutor; -import org.testng.SkipException; import org.testng.annotations.AfterMethod; import org.testng.annotations.Test; import org.testng.asserts.SoftAssert; +import pages.components.baseComponents.SMPPage; import pages.components.messageArea.AlertMessage; +import pages.login.LoginPage; import pages.password.PasswordChangepopup; import pages.service_groups.search.SearchPage; -import pages.components.baseComponents.SMPPage; -import pages.login.LoginPage; -import pages.users.UserPopup; import pages.users.UsersPage; import utils.Generator; import utils.enums.SMPMessages; @@ -182,8 +180,7 @@ public class LoginPgTest extends BaseTest { } @Test(description = "LGN-80") - public void verifyLoginButtonEnable() - { + public void verifyLoginButtonEnable() { SoftAssert soft = new SoftAssert(); SearchPage page = new SearchPage(driver); logger.info("Going to login page"); @@ -196,8 +193,7 @@ public class LoginPgTest extends BaseTest { } @Test(description = "LGN-90") - public void verifyRoleAfterLogin() - { + public void verifyRoleAfterLogin() { SoftAssert soft = new SoftAssert(); SMPPage page = new SMPPage(driver); @@ -209,14 +205,13 @@ public class LoginPgTest extends BaseTest { SearchPage searchPage = loginPage.login(user.get("username"), user.get("password")); soft.assertTrue(searchPage.pageHeader.sandwichMenu.isLoggedIn(), "User is logged in"); String roleName = page.pageHeader.getRoleName(); - soft.assertEquals(roleName , "System administrator" , "the role doesn't contain System administrator"); + soft.assertEquals(roleName, "System administrator", "the role doesn't contain System administrator"); soft.assertAll(); } @Test(description = "LGN-100") - public void loggedUserPasswordDialogView() - { + public void loggedUserPasswordDialogView() { SoftAssert soft = new SoftAssert(); @@ -236,9 +231,9 @@ public class LoginPgTest extends BaseTest { soft.assertTrue(searchPage.isLoaded(), "Search page is not loaded"); PasswordChangepopup passPopup = searchPage.pageHeader.sandwichMenu.clickChangePasswordOption(); - soft.assertTrue(passPopup.isCurrentPasswordInputEnable(),"Current password input is not enable in the password dialog for logged user"); - soft.assertTrue(passPopup.isNewPasswordInputEnable(),"New password input is not enable in the password dialog for logged user"); - soft.assertTrue(passPopup.isConfirmPasswordInputEnable(),"Confirm password input is not enable in the password dialog for logged user"); + soft.assertTrue(passPopup.isCurrentPasswordInputEnable(), "Current password input is not enabled in the password dialog for logged user"); + soft.assertTrue(passPopup.isNewPasswordInputEnable(), "New password input is not enabled in the password dialog for logged user"); + soft.assertTrue(passPopup.isConfirmPasswordInputEnable(), "Confirm password input is not enabled in the password dialog for logged user"); searchPage = passPopup.clickClosePasswordDialog(); @@ -248,14 +243,13 @@ public class LoginPgTest extends BaseTest { @Test(description = "LGN-100") - public void passwordChangeForLoggedUser() - { + public void passwordChangeForLoggedUser() { SoftAssert soft = new SoftAssert(); String userName = Generator.randomAlphaNumeric(10); String validPass = "Aabcdefghijklm1@"; SMPPage page = genericLoginProcedure("SYS_ADMIN"); - SMPRestClient.createUser(userName,"SMP_ADMIN"); + SMPRestClient.createUser(userName, "SMP_ADMIN"); logger.info("created user " + userName); page.pageHeader.sandwichMenu.logout(); page.pageHeader.goToLogin(); @@ -263,20 +257,15 @@ public class LoginPgTest extends BaseTest { SearchPage searchPage = loginPage.login(userName, "QW!@qw12"); PasswordChangepopup passDialog = searchPage.pageHeader.sandwichMenu.clickChangePasswordOption(); - try { - Thread.sleep(1000); - } catch (Exception e) { - e.printStackTrace(); - } + passDialog.waitForXMillis(1000); passDialog.fillDataForLoggedUser("QW!@qw12", validPass, validPass); passDialog.clickChangedPassword(); - searchPage = passDialog.clickCloseAfterChangedPassForLoggedUser(); - try { - Thread.sleep(10000); - } catch (Exception e) { - } - soft.assertTrue(searchPage.isLoaded(),"After changing the password for a logged user the page is not redirecting to searchpage"); + searchPage = passDialog.clickCloseAfterChangedPassForLoggedUser(); + + passDialog.waitForXMillis(1000); + + soft.assertTrue(searchPage.isLoaded(), "After changing the password for a logged user the page is not redirecting to searchpage"); SMPPage page1 = genericLoginProcedure("SYS_ADMIN"); logger.info("Going to Users page"); page1.sidebar.goToPage(UsersPage.class); diff --git a/smp-ui-tests/src/test/java/ui/PropertiesPgTest.java b/smp-ui-tests/src/test/java/ui/PropertiesPgTest.java index 768dab82c6b8c6a1801ffc7878ec3473638cc61d..5ac66daa0c0f9040ef95a33f747d727277f1aae5 100644 --- a/smp-ui-tests/src/test/java/ui/PropertiesPgTest.java +++ b/smp-ui-tests/src/test/java/ui/PropertiesPgTest.java @@ -73,8 +73,8 @@ public class PropertiesPgTest extends BaseTest { servicePopup.clickOK(); - soft.assertTrue(editPage.isSaveButtonEnabled(), "Save button is not enable after cration of servicegroup without scheme"); - soft.assertTrue(editPage.isCancelButtonEnabled(), "Cancel button is not enable after cration of servicegroup without scheme"); + soft.assertTrue(editPage.isSaveButtonEnabled(), "Save button is not enabled after cration of servicegroup without scheme"); + soft.assertTrue(editPage.isCancelButtonEnabled(), "Cancel button is not enabled after cration of servicegroup without scheme"); editPage.clickSave().confirm(); ; diff --git a/smp-ui-tests/src/test/java/ui/SearchPgTest.java b/smp-ui-tests/src/test/java/ui/SearchPgTest.java index cb709ae2ddeed533dc1da4dcc25bd1e23c6c8796..93f2618e8f358efef844e5e259687d65d8e6d11a 100644 --- a/smp-ui-tests/src/test/java/ui/SearchPgTest.java +++ b/smp-ui-tests/src/test/java/ui/SearchPgTest.java @@ -21,371 +21,371 @@ import java.util.Set; public class SearchPgTest extends BaseTest { - @AfterMethod - public void resetFilters() { - SMPPage page = new SMPPage(driver); - page.refreshPage(); - page.waitForXMillis(500); - - } - - @Test(description = "SRCH-0") - public void searchPgInitialState() { - SoftAssert soft = new SoftAssert(); - - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); - soft.assertTrue(page.filters.isSearchButtonVisible(), "Search button is not visible"); - soft.assertTrue(page.filters.isSearchButtonEnable(), "Search button is not enable"); - soft.assertTrue(page.filters.getParticipantIdentifierInputValue().isEmpty()); - soft.assertTrue(page.filters.getParticipantSchemeInputValue().isEmpty()); - soft.assertEquals(page.filters.domainSelect.getSelectedValue(), "All Domains"); - - soft.assertAll(); - } - - @Test(description = "SRCH-10") - public void domainSelectContent() { - SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); - - List<String> uiDomains = page.filters.domainSelect.getOptionTexts(); - List<String> restDomains = SMPRestClient.getDomainAndSubdomains(); - - for (String restDomain : restDomains) { - boolean found = false; - for (String uiDomain : uiDomains) { - if (uiDomain.equalsIgnoreCase(restDomain)) { - found = true; - } - } - soft.assertTrue(found, "Domain was found in domain dropdown " + restDomain); - } - - soft.assertAll(); - - } - - @Test(description = "SRCH-20") - public void searchGridInitialState() { - SoftAssert soft = new SoftAssert(); - - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); - - List<String> headers = page.getServiceGroupGrid().getHeaders(); - soft.assertTrue(headers.contains("Participant identifier")); - soft.assertTrue(headers.contains("Participant scheme")); - soft.assertTrue(headers.contains("OASIS ServiceGroup URL")); - soft.assertTrue(headers.contains("Metadata size")); - - soft.assertAll(); - } - - @Test(description = "SRCH-30") - public void searchFilterResults() { - SoftAssert soft = new SoftAssert(); - - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); - - ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); - String pScheme = row0.getParticipantScheme(); - String pIdentifier = row0.getParticipantIdentifier(); + @AfterMethod + public void resetFilters() { + SMPPage page = new SMPPage(driver); + page.refreshPage(); + page.waitForXMillis(500); + + } + + @Test(description = "SRCH-0") + public void searchPgInitialState() { + SoftAssert soft = new SoftAssert(); + + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); + soft.assertTrue(page.filters.isSearchButtonVisible(), "Search button is not visible"); + soft.assertTrue(page.filters.isSearchButtonEnable(), "Search button is not enabled"); + soft.assertTrue(page.filters.getParticipantIdentifierInputValue().isEmpty()); + soft.assertTrue(page.filters.getParticipantSchemeInputValue().isEmpty()); + soft.assertEquals(page.filters.domainSelect.getSelectedValue(), "All Domains"); + + soft.assertAll(); + } + + @Test(description = "SRCH-10") + public void domainSelectContent() { + SoftAssert soft = new SoftAssert(); + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); + + List<String> uiDomains = page.filters.domainSelect.getOptionTexts(); + List<String> restDomains = SMPRestClient.getDomainAndSubdomains(); + + for (String restDomain : restDomains) { + boolean found = false; + for (String uiDomain : uiDomains) { + if (uiDomain.equalsIgnoreCase(restDomain)) { + found = true; + } + } + soft.assertTrue(found, "Domain was found in domain dropdown " + restDomain); + } + + soft.assertAll(); + + } + + @Test(description = "SRCH-20") + public void searchGridInitialState() { + SoftAssert soft = new SoftAssert(); + + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); + + List<String> headers = page.getServiceGroupGrid().getHeaders(); + soft.assertTrue(headers.contains("Participant identifier")); + soft.assertTrue(headers.contains("Participant scheme")); + soft.assertTrue(headers.contains("OASIS ServiceGroup URL")); + soft.assertTrue(headers.contains("Metadata size")); + + soft.assertAll(); + } + + @Test(description = "SRCH-30") + public void searchFilterResults() { + SoftAssert soft = new SoftAssert(); + + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); + + ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); + String pScheme = row0.getParticipantScheme(); + String pIdentifier = row0.getParticipantIdentifier(); // looking for exact match - page.filters.filter(pIdentifier, pScheme, ""); + page.filters.filter(pIdentifier, pScheme, ""); - List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows(); + List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows(); - for (ServiceGroupRow row : rows) { - soft.assertTrue(row.getParticipantIdentifier().contains(pIdentifier)); - soft.assertTrue(row.getParticipantScheme().contains(pScheme)); - } + for (ServiceGroupRow row : rows) { + soft.assertTrue(row.getParticipantIdentifier().contains(pIdentifier)); + soft.assertTrue(row.getParticipantScheme().contains(pScheme)); + } // Search for substring - page.filters.filter(pIdentifier.substring(2), pScheme.substring(2), ""); - rows = page.getServiceGroupGrid().getRows(); + page.filters.filter(pIdentifier.substring(2), pScheme.substring(2), ""); + rows = page.getServiceGroupGrid().getRows(); - for (ServiceGroupRow row : rows) { + for (ServiceGroupRow row : rows) { - String identifier = row.getParticipantIdentifier(); - String scheme = row.getParticipantScheme(); + String identifier = row.getParticipantIdentifier(); + String scheme = row.getParticipantScheme(); - soft.assertTrue(identifier.contains(pIdentifier), String.format("Identifier %s, found %s", pIdentifier, identifier)); - soft.assertTrue(scheme.contains(pScheme), String.format("Scheme %s, found %s", pScheme, scheme)); - } + soft.assertTrue(identifier.contains(pIdentifier), String.format("Identifier %s, found %s", pIdentifier, identifier)); + soft.assertTrue(scheme.contains(pScheme), String.format("Scheme %s, found %s", pScheme, scheme)); + } - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "SRCH-40") - public void openURLLink() { - SoftAssert soft = new SoftAssert(); + @Test(description = "SRCH-40") + public void openURLLink() { + SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); - ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); - String listedURL = row0.getServiceGroupURL(); - String pScheme = row0.getParticipantScheme(); - String pIdentifier = row0.getParticipantIdentifier(); + ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); + String listedURL = row0.getServiceGroupURL(); + String pScheme = row0.getParticipantScheme(); + String pIdentifier = row0.getParticipantIdentifier(); // verify proper URL format - String tmpURLPart = null; - try { - tmpURLPart = URLDecoder.decode(listedURL, "UTF-8").split("smp/")[1].trim(); - soft.assertEquals(tmpURLPart, pScheme + "::" + pIdentifier, "URL contains the proper scheme and identifier"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } + String tmpURLPart = null; + try { + tmpURLPart = URLDecoder.decode(listedURL, "UTF-8").split("smp/")[1].trim(); + soft.assertEquals(tmpURLPart, pScheme + "::" + pIdentifier, "URL contains the proper scheme and identifier"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } - ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL); + ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL); - soft.assertTrue(row0.getMetadataSize() == serviceGroup.getServiceMetadataReferenceCollection().size(), - "Number of listed MetadataReferences in XML matches UI"); + soft.assertTrue(row0.getMetadataSize() == serviceGroup.getServiceMetadataReferenceCollection().size(), + "Number of listed MetadataReferences in XML matches UI"); - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "SRCH-50") - @Ignore - public void expandServiceGroupCheckMetadata() { - SoftAssert soft = new SoftAssert(); + @Test(description = "SRCH-50") + @Ignore + public void expandServiceGroupCheckMetadata() { + SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); - ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); - String listedURL = row0.getServiceGroupURL(); - String pScheme = row0.getParticipantScheme(); - String pIdentifier = row0.getParticipantIdentifier(); + ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); + String listedURL = row0.getServiceGroupURL(); + String pScheme = row0.getParticipantScheme(); + String pIdentifier = row0.getParticipantIdentifier(); // verify proper URL format - ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL); + ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL); - MetadataGrid metadataGrid = row0.expandMetadata(); + MetadataGrid metadataGrid = row0.expandMetadata(); - List<MetadataRow> metadataRows = metadataGrid.getMetadataRows(); + List<MetadataRow> metadataRows = metadataGrid.getMetadataRows(); - soft.assertTrue(row0.getMetadataSize() == metadataRows.size(), "Metadata size field compared with the size of the list containing the metadata"); + soft.assertTrue(row0.getMetadataSize() == metadataRows.size(), "Metadata size field compared with the size of the list containing the metadata"); - for (MetadataRow metadataRow : metadataRows) { - String docScheme = metadataRow.getDocumentIdentifierScheme(); - String docId = metadataRow.getDocumentIdentifier(); - String url = metadataRow.getURL(); + for (MetadataRow metadataRow : metadataRows) { + String docScheme = metadataRow.getDocumentIdentifierScheme(); + String docId = metadataRow.getDocumentIdentifier(); + String url = metadataRow.getURL(); - soft.assertTrue(url.contains(String.format("%s::%s/services/%s::%s", pScheme, pIdentifier, docScheme, docId)), "Checking URL format for metadata " + docId); + soft.assertTrue(url.contains(String.format("%s::%s/services/%s::%s", pScheme, pIdentifier, docScheme, docId)), "Checking URL format for metadata " + docId); - String metadata = SMPRestClient.getMetadataString(url); + String metadata = SMPRestClient.getMetadataString(url); - soft.assertTrue(metadata.contains(pScheme), "Checking XML contains proper participant scheme for metadata " + docId); - soft.assertTrue(metadata.contains(pIdentifier), "Checking XML contains proper participant ID for metadata " + docId); - soft.assertTrue(metadata.toLowerCase().contains(docId.toLowerCase()), "Checking XML contains proper document ID for metadata " + docId); - soft.assertTrue(metadata.contains(docScheme), "Checking XML contains proper document scheme for metadata " + docId); + soft.assertTrue(metadata.contains(pScheme), "Checking XML contains proper participant scheme for metadata " + docId); + soft.assertTrue(metadata.contains(pIdentifier), "Checking XML contains proper participant ID for metadata " + docId); + soft.assertTrue(metadata.toLowerCase().contains(docId.toLowerCase()), "Checking XML contains proper document ID for metadata " + docId); + soft.assertTrue(metadata.contains(docScheme), "Checking XML contains proper document scheme for metadata " + docId); - } + } - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "SRCH-60") - public void collapseMetadata() { - SoftAssert soft = new SoftAssert(); + @Test(description = "SRCH-60") + public void collapseMetadata() { + SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); - ServiceGroupRow row0 = null; - List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows(); - for (int i = 0; i < rows.size(); i++) { - if (rows.get(i).getMetadataSize() > 0) { - row0 = rows.get(i); - } - } + ServiceGroupRow row0 = null; + List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows(); + for (int i = 0; i < rows.size(); i++) { + if (rows.get(i).getMetadataSize() > 0) { + row0 = rows.get(i); + } + } - if (null == row0) { - row0 = rows.get(0); - SMPRestClient.createMetadata(row0.getParticipantIdentifier()); - page.refreshPage(); - logger.info("Created Metadata for row 0"); - row0 = page.getServiceGroupGrid().getRows().get(0); - } + if (null == row0) { + row0 = rows.get(0); + SMPRestClient.createMetadata(row0.getParticipantIdentifier()); + page.refreshPage(); + logger.info("Created Metadata for row 0"); + row0 = page.getServiceGroupGrid().getRows().get(0); + } - soft.assertTrue(row0.verifyMetadataExpandButton(), "Initially the row has expanding symbol on it"); - row0.expandMetadata(); + soft.assertTrue(row0.verifyMetadataExpandButton(), "Initially the row has expanding symbol on it"); + row0.expandMetadata(); - soft.assertTrue(row0.verifyMetadataCollapseButton(), "Row has collapsing symbol on it after first click"); + soft.assertTrue(row0.verifyMetadataCollapseButton(), "Row has collapsing symbol on it after first click"); - row0.collapseMetadata(); - soft.assertTrue(row0.verifyMetadataExpandButton(), "Row has expanding symbol on it after collapse"); - soft.assertFalse(row0.isMetadataExpanded(), "Metadata table is not present no more"); + row0.collapseMetadata(); + soft.assertTrue(row0.verifyMetadataExpandButton(), "Row has expanding symbol on it after collapse"); + soft.assertFalse(row0.isMetadataExpanded(), "Metadata table is not present no more"); - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "SRCH-70") - public void verifyOpenMetadataURL() { - SoftAssert soft = new SoftAssert(); + @Test(description = "SRCH-70") + public void verifyOpenMetadataURL() { + SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); - ServiceGroupRow row0 = null; - List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows(); - for (int i = 0; i < rows.size(); i++) { - if (rows.get(i).getMetadataSize() > 0) { - row0 = rows.get(i); - } - } + ServiceGroupRow row0 = null; + List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows(); + for (int i = 0; i < rows.size(); i++) { + if (rows.get(i).getMetadataSize() > 0) { + row0 = rows.get(i); + } + } - if (null == row0) { - row0 = rows.get(0); - SMPRestClient.createMetadata(row0.getParticipantIdentifier()); - page.refreshPage(); - logger.info("Created Metadata for row 0"); - row0 = page.getServiceGroupGrid().getRows().get(0); - } + if (null == row0) { + row0 = rows.get(0); + SMPRestClient.createMetadata(row0.getParticipantIdentifier()); + page.refreshPage(); + logger.info("Created Metadata for row 0"); + row0 = page.getServiceGroupGrid().getRows().get(0); + } - String listedURL = row0.getServiceGroupURL(); - String pScheme = row0.getParticipantScheme(); - String pIdentifier = row0.getParticipantIdentifier(); + String listedURL = row0.getServiceGroupURL(); + String pScheme = row0.getParticipantScheme(); + String pIdentifier = row0.getParticipantIdentifier(); // verify proper URL format - ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL); + ServiceGroup serviceGroup = SMPRestClient.getServiceGroup(listedURL); - MetadataGrid metadataGrid = row0.expandMetadata(); + MetadataGrid metadataGrid = row0.expandMetadata(); - List<MetadataRow> metadataRows = metadataGrid.getMetadataRows(); + List<MetadataRow> metadataRows = metadataGrid.getMetadataRows(); - soft.assertTrue(row0.getMetadataSize() == metadataRows.size(), "Metadata size field compared with the size of the list containing the metadata"); + soft.assertTrue(row0.getMetadataSize() == metadataRows.size(), "Metadata size field compared with the size of the list containing the metadata"); - for (MetadataRow metadataRow : metadataRows) { - String docScheme = metadataRow.getDocumentIdentifierScheme(); - String docId = metadataRow.getDocumentIdentifier(); - String url = null; - try { - url = URLDecoder.decode(metadataRow.getURL(), "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } + for (MetadataRow metadataRow : metadataRows) { + String docScheme = metadataRow.getDocumentIdentifierScheme(); + String docId = metadataRow.getDocumentIdentifier(); + String url = null; + try { + url = URLDecoder.decode(metadataRow.getURL(), "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } - soft.assertTrue(url.contains(String.format("%s::%s/services/%s::%s", pScheme, pIdentifier, docScheme, docId)), "Checking URL format for metadata " + docId); + soft.assertTrue(url.contains(String.format("%s::%s/services/%s::%s", pScheme, pIdentifier, docScheme, docId)), "Checking URL format for metadata " + docId); - String mainWindow = driver.getWindowHandle(); + String mainWindow = driver.getWindowHandle(); - metadataRow.clickURL(); - page.waitForNumberOfWindowsToBe(2); - Set<String> handleSet = driver.getWindowHandles(); - String[] handles = handleSet.toArray(new String[handleSet.size()]); + metadataRow.clickURL(); + page.waitForNumberOfWindowsToBe(2); + Set<String> handleSet = driver.getWindowHandles(); + String[] handles = handleSet.toArray(new String[handleSet.size()]); - soft.assertTrue(handles.length == 2); + soft.assertTrue(handles.length == 2); - driver.switchTo().window(handles[1]); - driver.close(); - driver.switchTo().window(handles[0]); + driver.switchTo().window(handles[1]); + driver.close(); + driver.switchTo().window(handles[0]); - } + } - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "SRCH-80") - public void filterByDifferentDomains() { - SoftAssert soft = new SoftAssert(); + @Test(description = "SRCH-80") + public void filterByDifferentDomains() { + SoftAssert soft = new SoftAssert(); - String participantID = Generator.randomAlphaNumeric(5); - String tmp = Generator.randomAlphaNumeric(3).toLowerCase(); - String participantScheme = String.format("%s-%s-%s", tmp, tmp, tmp); + String participantID = Generator.randomAlphaNumeric(5); + String tmp = Generator.randomAlphaNumeric(3).toLowerCase(); + String participantScheme = String.format("%s-%s-%s", tmp, tmp, tmp); - List<String> domains = Arrays.asList(createdDomains.get(0), createdDomains.get(1)); - List<String> owners = Arrays.asList(createdUsers.get(0)); + List<String> domains = Arrays.asList(createdDomains.get(0), createdDomains.get(1)); + List<String> owners = Arrays.asList(createdUsers.get(0)); - logger.info("Creating service group with participant id: " + participantID); - SMPRestClient.createServiceGroup(participantID, participantScheme, owners, domains); + logger.info("Creating service group with participant id: " + participantID); + SMPRestClient.createServiceGroup(participantID, participantScheme, owners, domains); - SearchPage searchPage = new SearchPage(driver); - searchPage.refreshPage(); + SearchPage searchPage = new SearchPage(driver); + searchPage.refreshPage(); - searchPage.filters.filter(participantID, participantScheme, SMPRestClient.getDomainSubDomainCombo(createdDomains.get(0))); - List<ServiceGroupRow> results = searchPage.getServiceGroupGrid().getRows(); + searchPage.filters.filter(participantID, participantScheme, SMPRestClient.getDomainSubDomainCombo(createdDomains.get(0))); + List<ServiceGroupRow> results = searchPage.getServiceGroupGrid().getRows(); - soft.assertEquals(results.size(), 1, "Results size is 1 (first search)"); - soft.assertEquals(results.get(0).getParticipantIdentifier().toLowerCase(), participantID.toLowerCase(), - "First and only result is the one we entered and is found when filtering by first domain"); + soft.assertEquals(results.size(), 1, "Results size is 1 (first search)"); + soft.assertEquals(results.get(0).getParticipantIdentifier().toLowerCase(), participantID.toLowerCase(), + "First and only result is the one we entered and is found when filtering by first domain"); - searchPage.filters.filter(participantID, participantScheme, SMPRestClient.getDomainSubDomainCombo(createdDomains.get(1))); - results = searchPage.getServiceGroupGrid().getRows(); + searchPage.filters.filter(participantID, participantScheme, SMPRestClient.getDomainSubDomainCombo(createdDomains.get(1))); + results = searchPage.getServiceGroupGrid().getRows(); - soft.assertEquals(results.size(), 1, "Results size is 1 (second search)"); - soft.assertEquals(results.get(0).getParticipantIdentifier().toLowerCase(), participantID.toLowerCase(), - "First and only result is the one we entered and is found when filtering by second domain"); + soft.assertEquals(results.size(), 1, "Results size is 1 (second search)"); + soft.assertEquals(results.get(0).getParticipantIdentifier().toLowerCase(), participantID.toLowerCase(), + "First and only result is the one we entered and is found when filtering by second domain"); - SMPRestClient.deleteSG(participantID); + SMPRestClient.deleteSG(participantID); - soft.assertAll(); - } + soft.assertAll(); + } - @Test(description = "SRCH-90") - public void verifyDifferentParticipantIdAndSchemeResult() { - SoftAssert soft = new SoftAssert(); + @Test(description = "SRCH-90") + public void verifyDifferentParticipantIdAndSchemeResult() { + SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); - String emptyMsg = "No data to display"; + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); + String emptyMsg = "No data to display"; - ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); - String pScheme = row0.getParticipantScheme(); + ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); + String pScheme = row0.getParticipantScheme(); - ServiceGroupRow row1 = page.getServiceGroupGrid().getRows().get(1); - String pIdentifier = row1.getParticipantIdentifier(); + ServiceGroupRow row1 = page.getServiceGroupGrid().getRows().get(1); + String pIdentifier = row1.getParticipantIdentifier(); - page.filters.filter(pIdentifier, pScheme, ""); + page.filters.filter(pIdentifier, pScheme, ""); - soft.assertEquals(page.getServiceGroupGrid().getEmptyTableText(), emptyMsg, "empty table not found"); - soft.assertAll(); - } + soft.assertEquals(page.getServiceGroupGrid().getEmptyTableText(), emptyMsg, "empty table not found"); + soft.assertAll(); + } - @Test(description = "SRCH-100") - public void metadataTableContent() { - SoftAssert soft = new SoftAssert(); + @Test(description = "SRCH-100") + public void metadataTableContent() { + SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); - ServiceGroupRow row0 = null; - List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows(); - row0 = rows.get(0); - MetadataGrid metadataGrid = row0.expandMetadata(); - List<MetadataRow> metadataRows = metadataGrid.getMetadataRows(); - if (row0.getMetadataSize() == 0) { - //row0.emptyMetadataContentText() - soft.assertEquals(row0.emptyMetadataContentText(), "No service metadata"); - } else { - if (row0.getMetadataSize() > 0) { - soft.assertTrue(row0.getMetadataSize() == metadataRows.size(), "metadata size is not equal to no of metadata present inside the corressponding row"); - } + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); + ServiceGroupRow row0 = null; + List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows(); + row0 = rows.get(0); + MetadataGrid metadataGrid = row0.expandMetadata(); + List<MetadataRow> metadataRows = metadataGrid.getMetadataRows(); + if (row0.getMetadataSize() == 0) { + //row0.emptyMetadataContentText() + soft.assertEquals(row0.emptyMetadataContentText(), "No service metadata"); + } else { + if (row0.getMetadataSize() > 0) { + soft.assertTrue(row0.getMetadataSize() == metadataRows.size(), "metadata size is not equal to no of metadata present inside the corressponding row"); + } - } - soft.assertAll(); - } + } + soft.assertAll(); + } - @Test(description = "SRCH-101") - public void verifyCollapsingSidebarPageAfterLogin() { - SoftAssert soft = new SoftAssert(); - SearchPage page = new SearchPage(driver); - soft.assertTrue(page.isLoaded()); - page.sidebar.collapsingSideBar(); - soft.assertFalse(page.sidebar.isSidebarSearchTextEnable(), "Search button is visible so sidebar page is not collpased"); - page.sidebar.expandingSideBar(); - soft.assertTrue(page.sidebar.isSidebarSearchTextEnable(), "Search button is not visible so sidebar page is not expanding"); - soft.assertAll(); - } + @Test(description = "SRCH-101") + public void verifyCollapsingSidebarPageAfterLogin() { + SoftAssert soft = new SoftAssert(); + SearchPage page = new SearchPage(driver); + soft.assertTrue(page.isLoaded()); + page.sidebar.collapsingSideBar(); + soft.assertFalse(page.sidebar.isSidebarSearchTextEnable(), "Search button is visible so sidebar page is not collpased"); + page.sidebar.expandingSideBar(); + soft.assertTrue(page.sidebar.isSidebarSearchTextEnable(), "Search button is not visible so sidebar page is not expanding"); + soft.assertAll(); + } } diff --git a/smp-ui-tests/src/test/java/ui/UsersPgTest.java b/smp-ui-tests/src/test/java/ui/UsersPgTest.java index 69b4f9dd18275f549e677c8cb260435529662149..151763ef64b0e2dc51a1312967ad8ca35307306e 100644 --- a/smp-ui-tests/src/test/java/ui/UsersPgTest.java +++ b/smp-ui-tests/src/test/java/ui/UsersPgTest.java @@ -23,738 +23,713 @@ import java.util.List; public class UsersPgTest extends BaseTest { - @AfterMethod - public void logoutAndReset() { - genericLogoutProcedure(); - } + @AfterMethod + public void logoutAndReset() { + genericLogoutProcedure(); + } - @BeforeMethod - public void loginAndGoToUsersPage() { + @BeforeMethod + public void loginAndGoToUsersPage() { - SMPPage page = genericLoginProcedure("SYS_ADMIN"); + SMPPage page = genericLoginProcedure("SYS_ADMIN"); - logger.info("Going to Users page"); - page.sidebar.goToPage(UsersPage.class); - } + logger.info("Going to Users page"); + page.sidebar.goToPage(UsersPage.class); + } - @Test(description = "USR-0") - public void existingUserPasswordDialogView() { - SoftAssert soft = new SoftAssert(); - String username = Generator.randomAlphaNumeric(10); - String email = "system@gmail.com"; - UsersPage usersPage = new UsersPage(driver); - UserPopup popup = usersPage.clickNew(); - soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); - popup.fillDetailsForm(username,email); - popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); - popup.clickOK(); - soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled"); - soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled"); + @Test(description = "USR-0") + public void existingUserPasswordDialogView() { + SoftAssert soft = new SoftAssert(); + String username = Generator.randomAlphaNumeric(10); + String email = "system@gmail.com"; + UsersPage usersPage = new UsersPage(driver); + UserPopup popup = usersPage.clickNew(); + soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); + popup.fillDetailsForm(username, email); + popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); + popup.clickOK(); + soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled"); + soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled"); - usersPage.clickSave().confirm(); + usersPage.clickSave().confirm(); - soft.assertTrue(!usersPage.alertArea.getAlertMessage().isError(), "Message listed is success"); - soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message listed is as expected"); + soft.assertTrue(!usersPage.alertArea.getAlertMessage().isError(), "Message listed is success"); + soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message listed is as expected"); - soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); + soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); - int index = usersPage.grid().scrollToUser(username); + int index = usersPage.grid().scrollToUser(username); - usersPage.grid().selectRow(index); - popup = usersPage.clickEdit(); + usersPage.grid().selectRow(index); + popup = usersPage.clickEdit(); - popup.clickSetOrChangePassword(); - //PasswordChangepopup passPopup = searchPage.pageHeader.sandwichMenu.clickChangePasswordOption(); - soft.assertTrue(popup.isAdminPasswordInputEnable(), "Admin password field input is not enabled after open password change popup for an existing user"); - soft.assertTrue(popup.isNewPasswordInputEnable(), "New password field input is not enabled after open password change popup for an existing user"); - soft.assertTrue(popup.isConfirmPasswordInputEnable(), "Confirm password field input is not enabled after open password change popup for an existing user"); + popup.clickSetOrChangePassword(); + soft.assertTrue(popup.isAdminPasswordInputEnable(), "Admin password field input is not enabled after open password change popup for an existing user"); + soft.assertTrue(popup.isNewPasswordInputEnable(), "New password field input is not enabled after open password change popup for an existing user"); + soft.assertTrue(popup.isConfirmPasswordInputEnable(), "Confirm password field input is not enabled after open password change popup for an existing user"); - popup.clickClosePasswordDialog(); - popup.clickOK(); - usersPage.clickDelete(); - usersPage.waitForXMillis(200); - soft.assertTrue(!usersPage.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); - soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); - soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); + popup.clickClosePasswordDialog(); + popup.clickOK(); + usersPage.clickDelete(); + usersPage.waitForXMillis(200); + soft.assertTrue(!usersPage.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); + soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); + soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); - usersPage.clickSave().confirm(); + usersPage.clickSave().confirm(); - soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message is as expected"); - soft.assertTrue(!usersPage.grid().isUserListed(username), "After saving deleted user is not listed"); - - soft.assertAll(); - - } - - - @Test(description = "USR-10") - public void newUser() { - String username = Generator.randomAlphaNumeric(10); - String validPass = "Aabcdefghijklm1@"; - String email = "system@gmail.com"; + soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message is as expected"); + soft.assertTrue(!usersPage.grid().isUserListed(username), "After saving deleted user is not listed"); - SoftAssert soft = new SoftAssert(); - - UsersPage usersPage = new UsersPage(driver); - -// soft.assertTrue(usersPage.isNewButtonEnabled(), "New button should be enabled"); - - UserPopup popup = usersPage.clickNew(); - soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); - popup.fillDetailsForm(username,email); - popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); - popup.clickOK(); - - //popup.clickUserDetailsToggle(); - //popup.fillDetailsForm(username, validPass, validPass); - - - soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled"); - soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled"); - - usersPage.clickSave().confirm(); - - soft.assertTrue(!usersPage.alertArea.getAlertMessage().isError(), "Message listed is success"); - soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message listed is as expected"); - - soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); - String adminPass = "123456"; - int index = usersPage.grid().scrollToUser(username); - - usersPage.grid().selectRow(index); - popup = usersPage.clickEdit(); - try { - Thread.sleep(10000); - } catch (Exception e) { - e.printStackTrace(); - } - popup.clickSetOrChangePassword(); - popup.setOrChangePassword(adminPass, validPass, validPass); - popup.clickChangedPassword(); - popup.clickCloseAfterChangedPass(); - try { - Thread.sleep(1000); - } catch (Exception e) { - } - popup.clickOK(); - soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); - - soft.assertAll(); - } - - - @Test(description = "USR-20") - public void usernameValidation() { - String username = Generator.randomAlphaNumeric(10); - String validPass = "QW!@qw12"; + soft.assertAll(); - SoftAssert soft = new SoftAssert(); + } - UsersPage usersPage = new UsersPage(driver); - UserPopup popup = usersPage.clickNew(); - soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); - popup.fillDetailsForm("tst","smp@gmail.com"); - popup.rolesSelect.selectOptionWithText("SMP_ADMIN"); - //popup.clickUserDetailsToggle(); + @Test(description = "USR-10") + public void newUser() { + String username = Generator.randomAlphaNumeric(10); + String validPass = "Aabcdefghijklm1@"; + String email = "system@gmail.com"; + + SoftAssert soft = new SoftAssert(); + + UsersPage usersPage = new UsersPage(driver); - //popup.fillDetailsForm("tst"); - soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup(2)"); - soft.assertEquals(popup.getUsernameValidationError(), SMPMessages.USERNAME_VALIDATION_MESSAGE, "Validation error message is displayed(2)"); - popup.fillDetailsForm("#$^&*^%&$#@%@$#%$","system@gmail.com"); - soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup(3)"); - soft.assertEquals(popup.getUsernameValidationError(), SMPMessages.USERNAME_VALIDATION_MESSAGE, "Validation error message is displayed(3)"); - //noinspection SpellCheckingInspection - popup.fillDetailsForm("QWERQWERQWERQWERQWERQWERQWERQWE33","system@gmail.com"); - soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup(4)"); - soft.assertEquals(popup.getUsernameValidationError(), SMPMessages.USERNAME_VALIDATION_MESSAGE, "Validation error message is displayed(4)"); + UserPopup popup = usersPage.clickNew(); + soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); + popup.fillDetailsForm(username, email); + popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); + popup.clickOK(); - soft.assertAll(); - } - @SuppressWarnings("SpellCheckingInspection") - @Test(description = "USR-30") - public void passwordValidation() { - String username = Generator.randomAlphaNumeric(10); - String email = "system@gmail.com"; - ArrayList<String> passToValidate = new ArrayList<>(Arrays.asList("qwqw", - "QWERQWERQWERQWERQWERQWERQWERQWE33", -// "QWERTYUIOP", -// "qwertyuiop", -// "321654987", -// "~!@#$%^&*()_", -// "~1Aa#", - "~1a#2d2dds")); + soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled"); + soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled"); - SoftAssert soft = new SoftAssert(); - - UsersPage usersPage = new UsersPage(driver); - usersPage.clickVoidSpace(); + usersPage.clickSave().confirm(); - UserPopup popup = usersPage.clickNew(); - popup.fillDetailsForm(username,email); - popup.rolesSelect.selectOptionWithText("SMP_ADMIN"); - popup.clickOK(); - usersPage.clickSave().confirm(); - soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); - int index = usersPage.grid().scrollToUser(username); - usersPage.grid().selectRow(index); - String adminPass = "123456"; - for (String pass : passToValidate) { - - popup = usersPage.clickEdit(); + soft.assertTrue(!usersPage.alertArea.getAlertMessage().isError(), "Message listed is success"); + soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message listed is as expected"); - popup.clickSetOrChangePassword(); - popup.setOrChangePassword(adminPass, pass, pass); - popup.clickClosePasswordDialog(); - popup.clickCancel(); - - soft.assertTrue(!popup.isChangedPasswordActive(), String.format("ChangePassword button should be disabled until valid data is filled in the popup - %s ", pass)); - //soft.assertEquals(popup.getPassValidationError(), SMPMessages.PASS_POLICY_MESSAGE, String.format("Pass policy message is displayed - %s", pass)); - } - - soft.assertAll(); - } - - @Test(description = "USR-40") - public void listedRoles() { - - ArrayList<String> expectedRoleValues = new ArrayList<>(Arrays.asList("SYSTEM_ADMIN", "SMP_ADMIN", "SERVICE_GROUP_ADMIN")); - - SoftAssert soft = new SoftAssert(); - - UsersPage usersPage = new UsersPage(driver); - UserPopup popup = usersPage.clickNew(); - List<String> listedRoles = popup.rolesSelect.getOptionTexts(); + soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); + String adminPass = "123456"; + int index = usersPage.grid().scrollToUser(username); - soft.assertTrue(expectedRoleValues.size() == listedRoles.size(), "Number of roles is the same as expected"); + usersPage.grid().selectRow(index); + popup = usersPage.clickEdit(); + try { + Thread.sleep(10000); + } catch (Exception e) { + e.printStackTrace(); + } + popup.clickSetOrChangePassword(); + popup.setOrChangePassword(adminPass, validPass, validPass); + popup.clickChangedPassword(); + popup.clickCloseAfterChangedPass(); + try { + Thread.sleep(1000); + } catch (Exception e) { + } + popup.clickOK(); + soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); + + soft.assertAll(); + } - for (String expected : expectedRoleValues) { - boolean found = false; - for (String listedRole : listedRoles) { - if (listedRole.equalsIgnoreCase(expected)) { - found = true; - } - } - soft.assertTrue(found, "Role found in page " + expected); - } - soft.assertAll(); - } + @Test(description = "USR-20") + public void usernameValidation() { + String username = Generator.randomAlphaNumeric(10); + String validPass = "QW!@qw12"; + + SoftAssert soft = new SoftAssert(); - @Test(description = "USR-50") - public void deleteSYS_ADMIN() { + UsersPage usersPage = new UsersPage(driver); + UserPopup popup = usersPage.clickNew(); + soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); + popup.fillDetailsForm("tst", "smp@gmail.com"); + popup.rolesSelect.selectOptionWithText("SMP_ADMIN"); - String username = Generator.randomAlphaNumeric(10); - SMPRestClient.createUser(username, "SYSTEM_ADMIN"); - SoftAssert soft = new SoftAssert(); + soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup(2)"); + soft.assertEquals(popup.getUsernameValidationError(), SMPMessages.USERNAME_VALIDATION_MESSAGE, "Validation error message is displayed(2)"); + popup.fillDetailsForm("#$^&*^%&$#@%@$#%$", "system@gmail.com"); + soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup(3)"); + soft.assertEquals(popup.getUsernameValidationError(), SMPMessages.USERNAME_VALIDATION_MESSAGE, "Validation error message is displayed(3)"); + //noinspection SpellCheckingInspection + popup.fillDetailsForm("QWERQWERQWERQWERQWERQWERQWERQWE33", "system@gmail.com"); + soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup(4)"); + soft.assertEquals(popup.getUsernameValidationError(), SMPMessages.USERNAME_VALIDATION_MESSAGE, "Validation error message is displayed(4)"); - logger.info("created user " + username); - UsersPage page = new UsersPage(driver); - page.refreshPage(); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); + soft.assertAll(); + } - int index = page.grid().scrollToUser(username); - page.grid().selectRow(index); - soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); + @SuppressWarnings("SpellCheckingInspection") + @Test(description = "USR-30") + public void passwordValidation() { + String username = Generator.randomAlphaNumeric(10); + String email = "system@gmail.com"; + ArrayList<String> passToValidate = new ArrayList<>(Arrays.asList("qwqw", + "QWERQWERQWERQWERQWERQWERQWERQWE33")); - page.clickDelete(); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted"); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted"); + SoftAssert soft = new SoftAssert(); - page.clickCancel().confirm(); - new ConfirmationDialog(driver).confirm(); - soft.assertTrue(page.grid().isUserListed(username), "After canceling delete user is still listed"); + UsersPage usersPage = new UsersPage(driver); + usersPage.clickVoidSpace(); + UserPopup popup = usersPage.clickNew(); + popup.fillDetailsForm(username, email); + popup.rolesSelect.selectOptionWithText("SMP_ADMIN"); + popup.clickOK(); + usersPage.clickSave().confirm(); + soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); + int index = usersPage.grid().scrollToUser(username); + usersPage.grid().selectRow(index); + String adminPass = "123456"; + for (String pass : passToValidate) { - index = page.grid().scrollToUser(username); - page.grid().selectRow(index); - soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select(2)"); + popup = usersPage.clickEdit(); - page.clickDelete(); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); + popup.clickSetOrChangePassword(); + popup.setOrChangePassword(adminPass, pass, pass); + popup.clickClosePasswordDialog(); + popup.clickCancel(); - page.clickSave().confirm(); + soft.assertTrue(!popup.isChangedPasswordActive(), String.format("ChangePassword button should be disabled until valid data is filled in the popup - %s ", pass)); + } - soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message listed is as expected"); - soft.assertTrue(!page.grid().isUserListed(username), "After saving deleted user is not listed"); + soft.assertAll(); + } - soft.assertAll(); - } + @Test(description = "USR-40") + public void listedRoles() { - @Test(description = "USR-60") - public void changeRoleSYS_ADMIN() { + ArrayList<String> expectedRoleValues = new ArrayList<>(Arrays.asList("SYSTEM_ADMIN", "SMP_ADMIN", "SERVICE_GROUP_ADMIN")); - SoftAssert soft = new SoftAssert(); + SoftAssert soft = new SoftAssert(); - UsersPage page = new UsersPage(driver); - int index = page.grid().scrollToUserWithRole("SYSTEM_ADMIN"); + UsersPage usersPage = new UsersPage(driver); + UserPopup popup = usersPage.clickNew(); + List<String> listedRoles = popup.rolesSelect.getOptionTexts(); - page.grid().selectRow(index); - UserPopup popup = page.clickEdit(); - List<String> options = popup.rolesSelect.getOptionTexts(); - soft.assertTrue(options.size() == 1, "Role dropdown has only one value"); - soft.assertTrue(options.get(0).equalsIgnoreCase("SYSTEM_ADMIN"), "Role dropdown has only one value and that is \"SYSTEM_ADMIN\""); + soft.assertTrue(expectedRoleValues.size() == listedRoles.size(), "Number of roles is the same as expected"); - soft.assertAll(); - } + for (String expected : expectedRoleValues) { + boolean found = false; + for (String listedRole : listedRoles) { + if (listedRole.equalsIgnoreCase(expected)) { + found = true; + } + } + soft.assertTrue(found, "Role found in page " + expected); + } - @Test(description = "USR-70") - public void changeRoleNON_SYS_ADMIN() { + soft.assertAll(); + } - SoftAssert soft = new SoftAssert(); + @Test(description = "USR-50") + public void deleteSYS_ADMIN() { - UsersPage page = new UsersPage(driver); - int index = page.grid().scrollToUserWithRole("SMP_ADMIN"); + String username = Generator.randomAlphaNumeric(10); + SMPRestClient.createUser(username, "SYSTEM_ADMIN"); + SoftAssert soft = new SoftAssert(); - page.grid().selectRow(index); - UserPopup popup = page.clickEdit(); + logger.info("created user " + username); + UsersPage page = new UsersPage(driver); + page.refreshPage(); - List<String> options = popup.rolesSelect.getOptionTexts(); - soft.assertTrue(options.size() == 2, "Role dropdown has only two values"); - soft.assertTrue(options.get(0).equalsIgnoreCase("SMP_ADMIN"), "Role dropdown has value \"SMP_ADMIN\""); - soft.assertTrue(options.get(1).equalsIgnoreCase("SERVICE_GROUP_ADMIN"), "Role dropdown has value \"SERVICE_GROUP_ADMIN\""); - page.refreshPage(); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); - int index2 = page.grid().scrollToUserWithRole("SERVICE_GROUP_ADMIN"); + int index = page.grid().scrollToUser(username); + page.grid().selectRow(index); + soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); - page.grid().selectRow(index2); - popup = page.clickEdit(); + page.clickDelete(); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted"); + soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted"); + soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted"); - options = popup.rolesSelect.getOptionTexts(); - soft.assertTrue(options.size() == 2, "Role dropdown has only two values"); - soft.assertTrue(options.get(0).equalsIgnoreCase("SMP_ADMIN"), "Role dropdown has value \"SMP_ADMIN\""); - soft.assertTrue(options.get(1).equalsIgnoreCase("SERVICE_GROUP_ADMIN"), "Role dropdown has value \"SERVICE_GROUP_ADMIN\""); + page.clickCancel().confirm(); + new ConfirmationDialog(driver).confirm(); + soft.assertTrue(page.grid().isUserListed(username), "After canceling delete user is still listed"); - soft.assertAll(); - } - @Test(description = "USR-80") - public void deleteOWNUserRecord() { + index = page.grid().scrollToUser(username); + page.grid().selectRow(index); + soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select(2)"); - String username = new TestDataProvider().getUserWithRole("SYS_ADMIN").get("username"); + page.clickDelete(); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); + soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); + soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); - SoftAssert soft = new SoftAssert(); + page.clickSave().confirm(); - UsersPage page = new UsersPage(driver); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); + soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message listed is as expected"); + soft.assertTrue(!page.grid().isUserListed(username), "After saving deleted user is not listed"); - int index = page.grid().scrollToUser(username); - page.grid().selectRow(index); - soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); + soft.assertAll(); + } - page.clickDelete(); - AlertMessage message = page.alertArea.getAlertMessage(); - soft.assertTrue(message.isError(), "Listed message is error"); - soft.assertTrue(message.getMessage().equalsIgnoreCase(SMPMessages.USER_OWN_DELETE_ERR), "Listed message has appropriate text"); + @Test(description = "USR-60") + public void changeRoleSYS_ADMIN() { - soft.assertAll(); - } + SoftAssert soft = new SoftAssert(); - @Test(description = "USR-90") - public void deleteSMP_ADMIN() { + UsersPage page = new UsersPage(driver); + int index = page.grid().scrollToUserWithRole("SYSTEM_ADMIN"); - String username = Generator.randomAlphaNumeric(10); - SMPRestClient.createUser(username, "SMP_ADMIN"); - SoftAssert soft = new SoftAssert(); + page.grid().selectRow(index); + UserPopup popup = page.clickEdit(); + List<String> options = popup.rolesSelect.getOptionTexts(); + soft.assertTrue(options.size() == 1, "Role dropdown has only one value"); + soft.assertTrue(options.get(0).equalsIgnoreCase("SYSTEM_ADMIN"), "Role dropdown has only one value and that is \"SYSTEM_ADMIN\""); - logger.info("Created username " + username); + soft.assertAll(); + } + @Test(description = "USR-70") + public void changeRoleNON_SYS_ADMIN() { - UsersPage page = new UsersPage(driver); - page.refreshPage(); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); + SoftAssert soft = new SoftAssert(); - int index = page.grid().scrollToUser(username); - page.grid().selectRow(index); - soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); + UsersPage page = new UsersPage(driver); + int index = page.grid().scrollToUserWithRole("SMP_ADMIN"); - page.clickDelete(); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted"); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted"); + page.grid().selectRow(index); + UserPopup popup = page.clickEdit(); - page.clickCancel().confirm(); - new ConfirmationDialog(driver).confirm(); - soft.assertTrue(page.grid().isUserListed(username), "After canceling delete user is still listed"); + List<String> options = popup.rolesSelect.getOptionTexts(); + soft.assertTrue(options.size() == 2, "Role dropdown has only two values"); + soft.assertTrue(options.get(0).equalsIgnoreCase("SMP_ADMIN"), "Role dropdown has value \"SMP_ADMIN\""); + soft.assertTrue(options.get(1).equalsIgnoreCase("SERVICE_GROUP_ADMIN"), "Role dropdown has value \"SERVICE_GROUP_ADMIN\""); + page.refreshPage(); + int index2 = page.grid().scrollToUserWithRole("SERVICE_GROUP_ADMIN"); - index = page.grid().scrollToUser(username); - page.grid().selectRow(index); - soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select(2)"); + page.grid().selectRow(index2); + popup = page.clickEdit(); - page.clickDelete(); - page.waitForXMillis(200); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); + options = popup.rolesSelect.getOptionTexts(); + soft.assertTrue(options.size() == 2, "Role dropdown has only two values"); + soft.assertTrue(options.get(0).equalsIgnoreCase("SMP_ADMIN"), "Role dropdown has value \"SMP_ADMIN\""); + soft.assertTrue(options.get(1).equalsIgnoreCase("SERVICE_GROUP_ADMIN"), "Role dropdown has value \"SERVICE_GROUP_ADMIN\""); - page.clickSave().confirm(); + soft.assertAll(); + } - soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message is as expected"); - soft.assertTrue(!page.grid().isUserListed(username), "After saving deleted user is not listed"); + @Test(description = "USR-80") + public void deleteOWNUserRecord() { - soft.assertAll(); - } + String username = new TestDataProvider().getUserWithRole("SYS_ADMIN").get("username"); - @Test(description = "USR-100") - public void deleteSERVICE_GROUP_ADMIN() { + SoftAssert soft = new SoftAssert(); - String username = Generator.randomAlphaNumeric(10); - SMPRestClient.createUser(username, "SERVICE_GROUP_ADMIN"); - logger.info("Created username" + username); - SoftAssert soft = new SoftAssert(); + UsersPage page = new UsersPage(driver); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); - UsersPage page = new UsersPage(driver); - page.refreshPage(); - page.waitForRowsToLoad(); + int index = page.grid().scrollToUser(username); + page.grid().selectRow(index); + soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); + page.clickDelete(); + AlertMessage message = page.alertArea.getAlertMessage(); + soft.assertTrue(message.isError(), "Listed message is error"); + soft.assertTrue(message.getMessage().equalsIgnoreCase(SMPMessages.USER_OWN_DELETE_ERR), "Listed message has appropriate text"); - int index = page.grid().scrollToUser(username); - page.grid().selectRow(index); - soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); + soft.assertAll(); + } - page.clickDelete(); - page.waitForRowsToLoad(); + @Test(description = "USR-90") + public void deleteSMP_ADMIN() { - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted"); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted"); + String username = Generator.randomAlphaNumeric(10); + SMPRestClient.createUser(username, "SMP_ADMIN"); + SoftAssert soft = new SoftAssert(); - page.clickCancel().confirm(); - new ConfirmationDialog(driver).confirm(); - page.waitForRowsToLoad(); - soft.assertTrue(page.grid().isUserListed(username), "After canceling delete user is still listed"); + logger.info("Created username " + username); - index = page.grid().scrollToUser(username); - page.grid().selectRow(index); + UsersPage page = new UsersPage(driver); + page.refreshPage(); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); - soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select(2)"); + int index = page.grid().scrollToUser(username); + page.grid().selectRow(index); + soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); - page.clickDelete(); - page.waitForRowsToLoad(); - soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); + page.clickDelete(); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted"); + soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted"); + soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted"); - page.clickSave().confirm(); + page.clickCancel().confirm(); + new ConfirmationDialog(driver).confirm(); + soft.assertTrue(page.grid().isUserListed(username), "After canceling delete user is still listed"); - soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message is as expected"); - soft.assertTrue(!page.grid().isUserListed(username), "After saving deleted user is not listed"); - soft.assertAll(); - } + index = page.grid().scrollToUser(username); + page.grid().selectRow(index); + soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select(2)"); - @Test(description = "USR-110") - public void deleteSG_ADMINWithSG() { + page.clickDelete(); + page.waitForXMillis(200); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); + soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); + soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); - String username = Generator.randomAlphaNumeric(10); - String pi = Generator.randomAlphaNumeric(10); - String ps = Generator.randomAlphaNumeric(10); + page.clickSave().confirm(); - String expectedErrorMess = String.format("Delete validation error Could not delete user with ownerships! User: %s owns SG count: 1.", username); + soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message is as expected"); + soft.assertTrue(!page.grid().isUserListed(username), "After saving deleted user is not listed"); - SMPRestClient.createUser(username, "SERVICE_GROUP_ADMIN"); - SMPRestClient.createServiceGroup(pi, ps, - new ArrayList<>(Arrays.asList(username)), - new ArrayList<>(Arrays.asList(createdDomains.get(0))) - ); + soft.assertAll(); + } - logger.info("Created username " + username); - logger.info("Created service group " + pi); + @Test(description = "USR-100") + public void deleteSERVICE_GROUP_ADMIN() { - SoftAssert soft = new SoftAssert(); + String username = Generator.randomAlphaNumeric(10); + SMPRestClient.createUser(username, "SERVICE_GROUP_ADMIN"); + logger.info("Created username" + username); + SoftAssert soft = new SoftAssert(); - UsersPage page = new UsersPage(driver); - page.refreshPage(); + UsersPage page = new UsersPage(driver); + page.refreshPage(); + page.waitForRowsToLoad(); - int index = page.grid().scrollToUser(username); - page.grid().selectRow(index); - soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled"); - page.clickDelete(); - AlertMessage message = page.alertArea.getAlertMessage(); - soft.assertTrue(message.isError(), "Page shows error message when deleting user with SG"); - soft.assertTrue(message.getMessage().equalsIgnoreCase(expectedErrorMess), "Desired message appears"); + int index = page.grid().scrollToUser(username); + page.grid().selectRow(index); + soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); - SMPRestClient.deleteSG(pi); - SMPRestClient.deleteUser(username); + page.clickDelete(); + page.waitForRowsToLoad(); - soft.assertAll(); - } + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted"); + soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted"); + soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted"); - @Test(description = "USR-120") - public void deleteSMP_ADMINWithSG() { + page.clickCancel().confirm(); + new ConfirmationDialog(driver).confirm(); + page.waitForRowsToLoad(); + soft.assertTrue(page.grid().isUserListed(username), "After canceling delete user is still listed"); - String username = Generator.randomAlphaNumeric(10); - String pi = Generator.randomAlphaNumeric(10); - String ps = Generator.randomAlphaNumeric(10); - - String expectedErrorMess = String.format("Delete validation error Could not delete user with ownerships! User: %s owns SG count: 1.", username); - - SMPRestClient.createUser(username, "SMP_ADMIN"); - SMPRestClient.createServiceGroup(pi, ps, - new ArrayList<>(Arrays.asList(username)), - new ArrayList<>(Arrays.asList(createdDomains.get(0))) - ); - - logger.info("Created username " + username); - - SoftAssert soft = new SoftAssert(); - - UsersPage page = new UsersPage(driver); - page.refreshPage(); - - int index = page.grid().scrollToUser(username); - page.grid().selectRow(index); - soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); - - page.clickDelete(); - page.waitForXMillis(500); - AlertMessage message = page.alertArea.getAlertMessage(); - soft.assertTrue(message.isError(), "Page shows error message when deleting user with SG"); - soft.assertTrue(message.getMessage().equalsIgnoreCase(expectedErrorMess), "Desired message appears"); - - SMPRestClient.deleteSG(pi); - SMPRestClient.deleteUser(username); - - soft.assertAll(); - } - - @Test(description = "USR-130") - public void duplicateUserCreation() { - SoftAssert soft = new SoftAssert(); - String userName = Generator.randomAlphaNumeric(10); - String validPass = "Aabcdefghijklm1@"; - String email = "system@gmail.com"; - UsersPage page = new UsersPage(driver); - - soft.assertTrue(page.isNewButtonEnabled(), "New button should be enabled"); - - UserPopup popup = page.clickNew(); - soft.assertTrue(!popup.isOKButtonActive(), "OK button is enable before valid data is filled in the popup"); - popup.fillDetailsForm(userName,email); - popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); - popup.clickOK(); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); - page.clickSave().confirm(); - String adminPass = "123456"; - int index = page.grid().scrollToUser(userName); - - page.grid().selectRow(index); - popup = page.clickEdit(); - popup.clickSetOrChangePassword(); - popup.setOrChangePassword(adminPass, validPass, validPass); - popup.clickChangedPassword(); - popup.clickCloseAfterChangedPass(); - popup.clickCancel(); - soft.assertTrue(page.grid().isUserListed(userName), "User present in the page"); - - //popup.clickUserDetailsToggle(); - //popup.fillDetailsForm(userName,validPass,validPass); - - - page.clickNew(); - - popup.fillDetailsForm(userName,email); - popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); - // popup.clickUserDetailsToggle(); - //popup.fillDetailsForm(userName); - soft.assertFalse(popup.isOKButtonActive(), "OK button is enable after duplicate user name is filled in the popup"); - - soft.assertTrue(popup.isDuplicateUserNameErrorMsgDisPlayed(), "The user page is not containing the expected error message"); - popup.clickCancel(); - soft.assertAll(); - } - - @Test(description = "USR-140") - public void verifyPasswordDoNotMatch() { - String username = Generator.randomAlphaNumeric(10); - String validPass = "Aabcdefghijklm1@"; - String confirmPass = "AS@!gh12fxghfnh43546"; - String email = "system@gmail.com"; - String errorMsg = "Confirm valued does not match new password!"; - String adminPass = "123456"; - SoftAssert soft = new SoftAssert(); - UsersPage usersPage = new UsersPage(driver); - UserPopup popup = usersPage.clickNew(); - soft.assertTrue(!popup.isOKButtonActive(), "OK button is enable before valid data is filled in the popup"); - popup.fillDetailsForm(username,email); - popup.rolesSelect.selectOptionWithText("SMP_ADMIN"); - popup.clickOK(); - soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled"); - usersPage.clickSave().confirm(); - int index = usersPage.grid().scrollToUser(username); - usersPage.grid().selectRow(index); - popup = usersPage.clickEdit(); - popup.clickSetOrChangePassword(); - popup.setOrChangePassword(adminPass, validPass, confirmPass); - //popup.clickVoidSpace(); - soft.assertTrue(!popup.isChangePasswordButtonActive(), "password change button is enabled before valid data is filled in the popup(2)"); - //logger.info("Msg is :"+popup.getPassDontMatchValidationMsg()); - // soft.assertEquals(popup.getPassDontMatchValidationMsg(), errorMsg, "confirmation input does not contain the message 'Confirm valued does not match new password!'"); - soft.assertTrue(!popup.isPopupChangedPasswordEnabled(), "Chagepassword option is not disable after giving the wrong data in cofirmation password"); - soft.assertAll(); - } - - @Test(description = "USR-150") - public void verifySuspendedUserwithoutPassword() { - String username = Generator.randomAlphaNumeric(10); - String password = "Aabcdefghijklm1@"; - String email = "system@gmail.com"; - - SoftAssert soft = new SoftAssert(); - - UsersPage usersPage = new UsersPage(driver); - - UserPopup popup = usersPage.clickNew(); - soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); - popup.fillDetailsForm(username,email); - popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); - popup.clickOK(); - - soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled"); - soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled"); - - usersPage.clickSave().confirm(); - - soft.assertTrue(!usersPage.alertArea.getAlertMessage().isError(), "Message listed is success"); - soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message listed is as expected"); - - soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); - - usersPage.pageHeader.sandwichMenu.logout(); - SearchPage page = new SearchPage(driver); - logger.info("Going to login page"); - LoginPage loginPage = page.pageHeader.goToLogin(); - for (int i = 0; i < 5; i++) { - loginPage.invalidLogin(username, password); - loginPage.waitForXMillis(2000); - } - soft.assertTrue(loginPage.isLoginButtonEnable(), "Login Button Is Disabled"); - logger.info(loginPage.alertArea.getAlertMessage().getMessage()); - soft.assertTrue(loginPage.alertArea.getAlertMessage().getMessage().contains(SMPMessages.MSG_22), "Message listed is as expected"); - - SMPPage smpPage = genericLoginProcedure("SYS_ADMIN"); - logger.info("Going to User page"); - smpPage.sidebar.goToPage(UsersPage.class); - usersPage = new UsersPage(driver); - int index = usersPage.grid().scrollToUser(username); - usersPage.grid().selectRow(index); - soft.assertTrue(usersPage.isDeleteButtonEnabled(), "Delete button is enabled after row select(2)"); - - usersPage.clickDelete(); - usersPage.waitForXMillis(200); - soft.assertTrue(!usersPage.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); - soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); - soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); - - usersPage.clickSave().confirm(); - - soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message is as expected"); - soft.assertTrue(!usersPage.grid().isUserListed(username), "After saving deleted user is not listed"); - - soft.assertAll(); - } - - @Test(description = "USR-160") - public void userPageUIAppearanceAndBehaviour(){ - SoftAssert soft = new SoftAssert(); - - UsersPage page = new UsersPage(driver); - soft.assertTrue(page.isLoaded()); - soft.assertTrue(page.isNewButtonEnabled(), "New button is not enable"); - soft.assertTrue(page.isEditTruststoreButtonEnabled(),"EditTruststore Button is not enabled"); - soft.assertTrue(page.isDeleteButtonVisibled(),"Delete button is not visibled"); - soft.assertTrue(page.isEditButtonVisibled(), "Edit button is not visibled"); - soft.assertTrue(page.isSaveButtonVisibled(),"Save button is not visibled"); - soft.assertTrue(page.isCancelButtonVisibled(), "Cancel button is not visibled"); - soft.assertTrue(!page.isEditButtonEnabled(), "Edit button is enabled"); - soft.assertTrue(!page.isSaveButtonEnabled(),"Save button is enabled"); - soft.assertTrue(!page.isCancelButtonEnabled(), "Cancel button is enabled"); - int index = 0; - page.grid().selectRow(index); - soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is not enabled after row select(2)"); - soft.assertTrue(page.isEditButtonEnabled(), "Edit button is not enabled after row select(2)"); - - - soft.assertAll(); - } - - @Test(description = "USR-170") - public void editUserUIAppearanceAndBehaviour(){ - SoftAssert soft = new SoftAssert(); - UsersPage page = new UsersPage(driver); - soft.assertTrue(page.isLoaded()); - String username = Generator.randomAlphaNumeric(10); - String email = "system@gmail.com"; - UserPopup popup = page.clickNew(); - soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); - popup.fillDetailsForm(username,email); - popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); - popup.clickOK(); - soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); - soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled"); - - page.clickSave().confirm(); - - soft.assertTrue(!page.alertArea.getAlertMessage().isError(), "Message listed is success"); - soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message listed is as expected"); - - int index = page.grid().scrollToUser(username); - page.grid().selectRow(index); - popup = page.clickEdit(); - soft.assertTrue(!popup.isUsernameFieldEnabled(),"Username field is enabled for an existing user"); - soft.assertTrue(popup.isEmailFieldEnabled(),"Email field is not enabled for an existing user"); - soft.assertTrue(popup.isRoleSelectFieldEnabled(),"Role field is not enabled for an existing user"); - soft.assertTrue(popup.isSetOrChangePassOptionBtnEnabled(),"SetOrChangePassOptionBtn field is not enabled for an existing user"); - soft.assertTrue(popup.isRegenerateAccesstokenBtnEnabled(),"Email field is not enabled for an existing user"); - soft.assertTrue(popup.isOKButtonActive(),"Ok btn is not enabled for an existing user in user popup"); - soft.assertTrue(popup.isCancelButtonActive(),"Cancel btn is not enabled for an existing user in user popup"); - soft.assertTrue(popup.isImportButtonActive(),"Import btn is not enabled for an existing user in user popup"); - if(page.grid().userHasCertificate(index)) { - soft.assertTrue(popup.isShowDetailsButtonActive(), "ShowDetails btn is not enabled for an existing user in user popup"); - soft.assertTrue(popup.isClearButtonActive(), "Clear btn is not enabled for an existing user in user popup"); - } - else{ - soft.assertTrue(!popup.isShowDetailsButtonActive(), "ShowDetails btn is enabled for an existing user in user popup"); - soft.assertTrue(!popup.isClearButtonActive(), "Clear btn is enabled for an existing user in user popup"); - - } - - soft.assertAll(); - - - } - - @Test(description = "USR-180") - public void userEmailValidation(){ - SoftAssert soft = new SoftAssert(); - UsersPage page = new UsersPage(driver); - soft.assertTrue(page.isLoaded()); - String username = Generator.randomAlphaNumeric(10); - ArrayList<String> email = new ArrayList<>(Arrays.asList("sdfdgfdghxvfv@gmail.c", - "sdfdgfdghxvfv$gmail.com", - "hdbvsdkvdsvf")); - UserPopup popup = page.clickNew(); - soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); - for(String emailId:email) - { - popup.fillDetailsForm(username,emailId); - popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); - soft.assertTrue(!popup.isOKButtonActive(),"OK button is active after s4ending invalid email"); - soft.assertEquals(popup.userEmailValidationGetErrMsg(),SMPMessages.USER_EMAIL_VALIDATION_MESSAGE,"Message is not in the list"); - } - soft.assertAll(); - } + + index = page.grid().scrollToUser(username); + page.grid().selectRow(index); + + soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select(2)"); + + page.clickDelete(); + page.waitForRowsToLoad(); + soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); + soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); + soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); + + page.clickSave().confirm(); + + soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message is as expected"); + soft.assertTrue(!page.grid().isUserListed(username), "After saving deleted user is not listed"); + + soft.assertAll(); + } + + @Test(description = "USR-110") + public void deleteSG_ADMINWithSG() { + + String username = Generator.randomAlphaNumeric(10); + String pi = Generator.randomAlphaNumeric(10); + String ps = Generator.randomAlphaNumeric(10); + + String expectedErrorMess = String.format("Delete validation error Could not delete user with ownerships! User: %s owns SG count: 1.", username); + + SMPRestClient.createUser(username, "SERVICE_GROUP_ADMIN"); + SMPRestClient.createServiceGroup(pi, ps, + new ArrayList<>(Arrays.asList(username)), + new ArrayList<>(Arrays.asList(createdDomains.get(0))) + ); + + logger.info("Created username " + username); + logger.info("Created service group " + pi); + + SoftAssert soft = new SoftAssert(); + + UsersPage page = new UsersPage(driver); + page.refreshPage(); + + int index = page.grid().scrollToUser(username); + page.grid().selectRow(index); + soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); + + page.clickDelete(); + AlertMessage message = page.alertArea.getAlertMessage(); + soft.assertTrue(message.isError(), "Page shows error message when deleting user with SG"); + soft.assertTrue(message.getMessage().equalsIgnoreCase(expectedErrorMess), "Desired message appears"); + + SMPRestClient.deleteSG(pi); + SMPRestClient.deleteUser(username); + + soft.assertAll(); + } + + @Test(description = "USR-120") + public void deleteSMP_ADMINWithSG() { + + String username = Generator.randomAlphaNumeric(10); + String pi = Generator.randomAlphaNumeric(10); + String ps = Generator.randomAlphaNumeric(10); + + String expectedErrorMess = String.format("Delete validation error Could not delete user with ownerships! User: %s owns SG count: 1.", username); + + SMPRestClient.createUser(username, "SMP_ADMIN"); + SMPRestClient.createServiceGroup(pi, ps, + new ArrayList<>(Arrays.asList(username)), + new ArrayList<>(Arrays.asList(createdDomains.get(0))) + ); + + logger.info("Created username " + username); + + SoftAssert soft = new SoftAssert(); + + UsersPage page = new UsersPage(driver); + page.refreshPage(); + + int index = page.grid().scrollToUser(username); + page.grid().selectRow(index); + soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select"); + + page.clickDelete(); + page.waitForXMillis(500); + AlertMessage message = page.alertArea.getAlertMessage(); + soft.assertTrue(message.isError(), "Page shows error message when deleting user with SG"); + soft.assertTrue(message.getMessage().equalsIgnoreCase(expectedErrorMess), "Desired message appears"); + + SMPRestClient.deleteSG(pi); + SMPRestClient.deleteUser(username); + + soft.assertAll(); + } + + @Test(description = "USR-130") + public void duplicateUserCreation() { + SoftAssert soft = new SoftAssert(); + String userName = Generator.randomAlphaNumeric(10); + String validPass = "Aabcdefghijklm1@"; + String email = "system@gmail.com"; + UsersPage page = new UsersPage(driver); + + soft.assertTrue(page.isNewButtonEnabled(), "New button should be enabled"); + + UserPopup popup = page.clickNew(); + soft.assertTrue(!popup.isOKButtonActive(), "OK button is enabled before valid data is filled in the popup"); + popup.fillDetailsForm(userName, email); + popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); + popup.clickOK(); + soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); + page.clickSave().confirm(); + String adminPass = "123456"; + int index = page.grid().scrollToUser(userName); + + page.grid().selectRow(index); + popup = page.clickEdit(); + popup.clickSetOrChangePassword(); + popup.setOrChangePassword(adminPass, validPass, validPass); + popup.clickChangedPassword(); + popup.clickCloseAfterChangedPass(); + popup.clickCancel(); + soft.assertTrue(page.grid().isUserListed(userName), "User present in the page"); + + page.clickNew(); + + popup.fillDetailsForm(userName, email); + popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); + + soft.assertFalse(popup.isOKButtonActive(), "OK button is enabled after duplicate user name is filled in the popup"); + + soft.assertTrue(popup.isDuplicateUserNameErrorMsgDisPlayed(), "The user page is not containing the expected error message"); + popup.clickCancel(); + soft.assertAll(); + } + + @Test(description = "USR-140") + public void verifyPasswordDoNotMatch() { + String username = Generator.randomAlphaNumeric(10); + String validPass = "Aabcdefghijklm1@"; + String confirmPass = "AS@!gh12fxghfnh43546"; + String email = "system@gmail.com"; + String errorMsg = "Confirm valued does not match new password!"; + String adminPass = "123456"; + SoftAssert soft = new SoftAssert(); + UsersPage usersPage = new UsersPage(driver); + UserPopup popup = usersPage.clickNew(); + soft.assertTrue(!popup.isOKButtonActive(), "OK button is enabled before valid data is filled in the popup"); + popup.fillDetailsForm(username, email); + popup.rolesSelect.selectOptionWithText("SMP_ADMIN"); + popup.clickOK(); + soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled"); + usersPage.clickSave().confirm(); + int index = usersPage.grid().scrollToUser(username); + usersPage.grid().selectRow(index); + popup = usersPage.clickEdit(); + popup.clickSetOrChangePassword(); + popup.setOrChangePassword(adminPass, validPass, confirmPass); + soft.assertTrue(!popup.isChangePasswordButtonActive(), "password change button is enabled before valid data is filled in the popup(2)"); + soft.assertTrue(!popup.isPopupChangedPasswordEnabled(), "Change password option is not disable after giving the wrong data in cofirmation password"); + soft.assertAll(); + } + + @Test(description = "USR-150") + public void verifySuspendedUserwithoutPassword() { + String username = Generator.randomAlphaNumeric(10); + String password = "Aabcdefghijklm1@"; + String email = "system@gmail.com"; + + SoftAssert soft = new SoftAssert(); + + UsersPage usersPage = new UsersPage(driver); + + UserPopup popup = usersPage.clickNew(); + soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); + popup.fillDetailsForm(username, email); + popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); + popup.clickOK(); + + soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled"); + soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled"); + + usersPage.clickSave().confirm(); + + soft.assertTrue(!usersPage.alertArea.getAlertMessage().isError(), "Message listed is success"); + soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message listed is as expected"); + + soft.assertTrue(usersPage.grid().isUserListed(username), "User present in the page"); + + usersPage.pageHeader.sandwichMenu.logout(); + SearchPage page = new SearchPage(driver); + logger.info("Going to login page"); + LoginPage loginPage = page.pageHeader.goToLogin(); + for (int i = 0; i < 5; i++) { + loginPage.invalidLogin(username, password); + loginPage.waitForXMillis(2000); + } + soft.assertTrue(loginPage.isLoginButtonEnable(), "Login Button Is Disabled"); + logger.info(loginPage.alertArea.getAlertMessage().getMessage()); + soft.assertTrue(loginPage.alertArea.getAlertMessage().getMessage().contains(SMPMessages.MSG_22), "Message listed is as expected"); + + SMPPage smpPage = genericLoginProcedure("SYS_ADMIN"); + logger.info("Going to User page"); + smpPage.sidebar.goToPage(UsersPage.class); + usersPage = new UsersPage(driver); + int index = usersPage.grid().scrollToUser(username); + usersPage.grid().selectRow(index); + soft.assertTrue(usersPage.isDeleteButtonEnabled(), "Delete button is enabled after row select(2)"); + + usersPage.clickDelete(); + usersPage.waitForXMillis(200); + soft.assertTrue(!usersPage.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)"); + soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)"); + soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)"); + + usersPage.clickSave().confirm(); + + soft.assertTrue(usersPage.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message is as expected"); + soft.assertTrue(!usersPage.grid().isUserListed(username), "After saving deleted user is not listed"); + + soft.assertAll(); + } + + @Test(description = "USR-160") + public void userPageUIAppearanceAndBehaviour() { + SoftAssert soft = new SoftAssert(); + + UsersPage page = new UsersPage(driver); + soft.assertTrue(page.isLoaded()); + soft.assertTrue(page.isNewButtonEnabled(), "New button is not enabled"); + soft.assertTrue(page.isEditTruststoreButtonEnabled(), "EditTruststore Button is not enabled"); + soft.assertTrue(page.isDeleteButtonVisible(), "Delete button is not visible"); + soft.assertTrue(page.isEditButtonVisible(), "Edit button is not visible"); + soft.assertTrue(page.isSaveButtonVisible(), "Save button is not visible"); + soft.assertTrue(page.isCancelButtonVisible(), "Cancel button is not visible"); + soft.assertTrue(!page.isEditButtonEnabled(), "Edit button is enabled"); + soft.assertTrue(!page.isSaveButtonEnabled(), "Save button is enabled"); + soft.assertTrue(!page.isCancelButtonEnabled(), "Cancel button is enabled"); + int index = 0; + page.grid().selectRow(index); + soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is not enabled after row select(2)"); + soft.assertTrue(page.isEditButtonEnabled(), "Edit button is not enabled after row select(2)"); + + + soft.assertAll(); + } + + @Test(description = "USR-170") + public void editUserUIAppearanceAndBehaviour() { + SoftAssert soft = new SoftAssert(); + UsersPage page = new UsersPage(driver); + soft.assertTrue(page.isLoaded()); + String username = Generator.randomAlphaNumeric(10); + String email = "system@gmail.com"; + UserPopup popup = page.clickNew(); + soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); + popup.fillDetailsForm(username, email); + popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); + popup.clickOK(); + soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled"); + soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled"); + + page.clickSave().confirm(); + + soft.assertTrue(!page.alertArea.getAlertMessage().isError(), "Message listed is success"); + soft.assertTrue(page.alertArea.getAlertMessage().getMessage().equalsIgnoreCase(SMPMessages.MSG_18), "Message listed is as expected"); + + int index = page.grid().scrollToUser(username); + page.grid().selectRow(index); + popup = page.clickEdit(); + soft.assertTrue(!popup.isUsernameFieldEnabled(), "Username field is enabled for an existing user"); + soft.assertTrue(popup.isEmailFieldEnabled(), "Email field is not enabled for an existing user"); + soft.assertTrue(popup.isRoleSelectFieldEnabled(), "Role field is not enabled for an existing user"); + soft.assertTrue(popup.isSetOrChangePassOptionBtnEnabled(), "SetOrChangePassOptionBtn field is not enabled for an existing user"); + soft.assertTrue(popup.isRegenerateAccesstokenBtnEnabled(), "Email field is not enabled for an existing user"); + soft.assertTrue(popup.isOKButtonActive(), "Ok btn is not enabled for an existing user in user popup"); + soft.assertTrue(popup.isCancelButtonActive(), "Cancel btn is not enabled for an existing user in user popup"); + soft.assertTrue(popup.isImportButtonActive(), "Import btn is not enabled for an existing user in user popup"); + if (page.grid().userHasCertificate(index)) { + soft.assertTrue(popup.isShowDetailsButtonActive(), "ShowDetails btn is not enabled for an existing user in user popup"); + soft.assertTrue(popup.isClearButtonActive(), "Clear btn is not enabled for an existing user in user popup"); + } else { + soft.assertTrue(!popup.isShowDetailsButtonActive(), "ShowDetails btn is enabled for an existing user in user popup"); + soft.assertTrue(!popup.isClearButtonActive(), "Clear btn is enabled for an existing user in user popup"); + + } + + soft.assertAll(); + + + } + + @Test(description = "USR-180") + public void userEmailValidation() { + SoftAssert soft = new SoftAssert(); + UsersPage page = new UsersPage(driver); + soft.assertTrue(page.isLoaded()); + String username = Generator.randomAlphaNumeric(10); + ArrayList<String> email = new ArrayList<>(Arrays.asList("sdfdgfdghxvfv@gmail.c", + "sdfdgfdghxvfv$gmail.com", + "hdbvsdkvdsvf")); + UserPopup popup = page.clickNew(); + soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup"); + for (String emailId : email) { + popup.fillDetailsForm(username, emailId); + popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN"); + soft.assertTrue(!popup.isOKButtonActive(), "OK button is active after sending invalid email"); + soft.assertEquals(popup.userEmailValidationGetErrMsg(), SMPMessages.USER_EMAIL_VALIDATION_MESSAGE, "Message is not in the list"); + } + soft.assertAll(); + } }