From 843d92dea3d798efe39cecbae949d60d91f8bb5f Mon Sep 17 00:00:00 2001
From: Catalin Comanici <Catalin.COMANICI@ext.ec.europa.eu>
Date: Wed, 3 Aug 2022 18:58:55 +0200
Subject: [PATCH] minor fixes and reformating

---
 .../baseComponents/PageComponent.java         | 439 +++++-----
 .../java/pages/components/grid/BasicGrid.java |  93 +-
 .../components/messageArea/AlertMessage.java  |   3 +-
 .../pages/password/PasswordChangepopup.java   | 268 +++---
 .../src/main/java/pages/users/UserPopup.java  | 430 +++++----
 .../main/java/pages/users/UserRowInfo.java    |  65 +-
 .../src/main/java/pages/users/UsersPage.java  | 215 +++--
 .../src/main/java/utils/DriverManager.java    |  23 +-
 smp-ui-tests/src/test/java/ui/BaseTest.java   | 335 ++++---
 .../src/test/java/ui/SearchPgTest.java        | 530 ++++++-----
 .../src/test/java/ui/UsersPgTest.java         | 821 +++++++++---------
 11 files changed, 1570 insertions(+), 1652 deletions(-)

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 90c62399f..bd1ea3a5c 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
@@ -2,7 +2,10 @@ package pages.components.baseComponents;
 
 
 import org.apache.log4j.Logger;
-import org.openqa.selenium.*;
+import org.openqa.selenium.By;
+import org.openqa.selenium.JavascriptExecutor;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.ui.ExpectedCondition;
 import org.openqa.selenium.support.ui.ExpectedConditions;
 import org.openqa.selenium.support.ui.WebDriverWait;
@@ -11,220 +14,218 @@ import utils.PROPERTIES;
 
 public class PageComponent {
 
-	protected WebDriver driver;
-	protected WebDriverWait wait;
-	protected Logger log = Logger.getLogger(this.getClass());
-
-
-	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 += 300;
-			waitForXMillis(300);
-		}
-	}
-
-	public void waitForElementToBeDisabled(WebElement element) {
-		int maxTimeout = PROPERTIES.SHORT_UI_TIMEOUT * 1000;
-		int waitedSoFar = 0;
-		while ((null == element.getAttribute("disabled")) && (waitedSoFar < maxTimeout)) {
-			waitedSoFar += 300;
-			waitForXMillis(300);
-		}
-	}
-
-
-	public void waitForElementToBeGone(WebElement element) {
-		WebDriverWait myWait = new WebDriverWait(driver, PROPERTIES.SHORT_UI_TIMEOUT);
-
-		try {
-			myWait.until(ExpectedConditions.visibilityOf(element));
-		} catch (Exception e) {
-			return;
-		}
-
-		int waitTime = PROPERTIES.SHORT_UI_TIMEOUT * 1000;
-		while (waitTime > 0) {
-			boolean displayed = true;
-
-			try {
-				displayed = element.isDisplayed();
-			} catch (Exception e) {
-				return;
-			}
-
-			if (!displayed) {
-				return;
-			}
-			waitForXMillis(500);
-			waitTime = waitTime - 500;
-		}
-	}
-
-	public void waitForElementToBeGone(By locator) {
-		WebDriverWait myWait = new WebDriverWait(driver, PROPERTIES.SHORT_UI_TIMEOUT);
-
-		try {
-			myWait.until(ExpectedConditions.visibilityOfElementLocated(locator));
-		} catch (Exception e) {
-			return;
-		}
-
-		int waitTime = PROPERTIES.SHORT_UI_TIMEOUT * 1000;
-		while (waitTime > 0) {
-			boolean displayed = true;
-
-			try {
-				displayed = driver.findElement(locator).isDisplayed();
-			} catch (Exception e) {
-				return;
-			}
-
-			if (!displayed) {
-				return;
-			}
-
-			waitForXMillis(500);
-			waitTime = waitTime - 500;
-		}
-	}
-
-	public void waitForNumberOfWindowsToBe(int noOfWindows) {
-		try {
-			wait.until(numberOfWindowsToBe(noOfWindows));
-		} catch (Exception e) {
-		}
-	}
-
-	public void clearAndFillInput(WebElement element, String toFill) {
-		waitForElementToBeVisible(element).clear();
-		log.info("cleared input");
-		waitForElementToBeEnabled(element);
-		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(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;
-	}
-
-
-	protected By loadingBar = By.className("mat-ripple-element");
-
-	public void waitForRowsToLoad() {
-		log.info("waiting for rows to load");
-		try {
-			waitForElementToBeGone(loadingBar);
+    protected WebDriver driver;
+    protected WebDriverWait wait;
+    protected Logger log = Logger.getLogger(this.getClass());
+    protected By loadingBar = By.className("mat-ripple-element");
+
+
+    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 += 300;
+            waitForXMillis(300);
+        }
+    }
+
+    public void waitForElementToBeDisabled(WebElement element) {
+        int maxTimeout = PROPERTIES.SHORT_UI_TIMEOUT * 1000;
+        int waitedSoFar = 0;
+        while ((null == element.getAttribute("disabled")) && (waitedSoFar < maxTimeout)) {
+            waitedSoFar += 300;
+            waitForXMillis(300);
+        }
+    }
+
+    public void waitForElementToBeGone(WebElement element) {
+        WebDriverWait myWait = new WebDriverWait(driver, PROPERTIES.SHORT_UI_TIMEOUT);
+
+        try {
+            myWait.until(ExpectedConditions.visibilityOf(element));
+        } catch (Exception e) {
+            return;
+        }
+
+        int waitTime = PROPERTIES.SHORT_UI_TIMEOUT * 1000;
+        while (waitTime > 0) {
+            boolean displayed = true;
+
+            try {
+                displayed = element.isDisplayed();
+            } catch (Exception e) {
+                return;
+            }
+
+            if (!displayed) {
+                return;
+            }
+            waitForXMillis(500);
+            waitTime = waitTime - 500;
+        }
+    }
+
+    public void waitForElementToBeGone(By locator) {
+        WebDriverWait myWait = new WebDriverWait(driver, PROPERTIES.SHORT_UI_TIMEOUT);
+
+        try {
+            myWait.until(ExpectedConditions.visibilityOfElementLocated(locator));
+        } catch (Exception e) {
+            return;
+        }
+
+        int waitTime = PROPERTIES.SHORT_UI_TIMEOUT * 1000;
+        while (waitTime > 0) {
+            boolean displayed = true;
+
+            try {
+                displayed = driver.findElement(locator).isDisplayed();
+            } catch (Exception e) {
+                return;
+            }
+
+            if (!displayed) {
+                return;
+            }
+
+            waitForXMillis(500);
+            waitTime = waitTime - 500;
+        }
+    }
+
+    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(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 {
+            waitForElementToBeGone(loadingBar);
 //			waitForElementToBeVisible(loadingBar);
 //
 //			int bars = 1;
@@ -236,10 +237,10 @@ public class PageComponent {
 //				waitForXMillis(500);
 //			}
 //			log.debug("waited for rows to load for ms = 500*" + waits);
-		} catch (Exception e) {	}
-		waitForXMillis(500);
-	}
-
+        } catch (Exception e) {
+        }
+        waitForXMillis(500);
+    }
 
 
 }
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 6b7bbc777..9c3d4b281 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
@@ -1,6 +1,5 @@
 package pages.components.grid;
 
-import org.openqa.selenium.By;
 import org.openqa.selenium.JavascriptExecutor;
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.WebElement;
@@ -8,67 +7,65 @@ import org.openqa.selenium.interactions.Actions;
 import org.openqa.selenium.support.FindBy;
 import org.openqa.selenium.support.PageFactory;
 import org.openqa.selenium.support.pagefactory.DefaultElementLocatorFactory;
-import org.openqa.selenium.support.ui.ExpectedConditions;
 import pages.components.baseComponents.PageComponent;
 
-import java.lang.reflect.Constructor;
 import java.util.ArrayList;
 import java.util.List;
 
 public class BasicGrid extends PageComponent {
 
-	public BasicGrid(WebDriver driver, WebElement container) {
-		super(driver);
-		
-		log.info("Loading basic grid");
-		waitForRowsToLoad();
-		PageFactory.initElements( new DefaultElementLocatorFactory(container) , this);
+    @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>();
 
-		for (int i = 0; i < gridHeaders.size(); i++) {
-			headerTxt.add(gridHeaders.get(i).getText().trim());
-		}
 
-	}
+    public BasicGrid(WebDriver driver, WebElement container) {
+        super(driver);
 
+        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());
+        }
 
-	@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 void selectRow(int rowNumber){
-		log.info("selecting row with number ... " + rowNumber);
-		if(rowNumber>=gridRows.size()){return;}
-		gridRows.get(rowNumber).click();
-		waitForXMillis(500);
-	}
-	
-	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();
-	}
+    public void selectRow(int rowNumber) {
+        log.info("selecting row with number ... " + rowNumber);
+        if (rowNumber >= gridRows.size()) {
+            return;
+        }
+        gridRows.get(rowNumber).click();
+        waitForXMillis(500);
+    }
 
-	public int getColumnsNo(){
-		log.info("getting number of columns");
-		return gridHeaders.size();
-	}
+    public void doubleClickRow(int rowNumber) {
 
-	public int getRowsNo(){
-		return gridRows.size();
-	}
+        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 void scrollRow(int index) {
-		JavascriptExecutor js = (JavascriptExecutor) driver;
-		js.executeScript("arguments[0].scrollIntoView();",gridRows.get(index));
-		waitForXMillis(500);
-	}
+    public int getColumnsNo() {
+        log.info("getting number of columns");
+        return gridHeaders.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);
+    }
 }
diff --git a/smp-ui-tests/src/main/java/pages/components/messageArea/AlertMessage.java b/smp-ui-tests/src/main/java/pages/components/messageArea/AlertMessage.java
index e2442e3ac..a2e92d642 100644
--- a/smp-ui-tests/src/main/java/pages/components/messageArea/AlertMessage.java
+++ b/smp-ui-tests/src/main/java/pages/components/messageArea/AlertMessage.java
@@ -11,7 +11,8 @@ public class AlertMessage {
 	}
 
 	public String getMessage() {
-		return message.replaceAll("×", "").trim();
+        System.out.println("message = " + message);
+        return message.replaceAll("×", "").trim();
 	}
 
 	public void setMessage(String message) {
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 98b6ada5a..8585eebcf 100644
--- a/smp-ui-tests/src/main/java/pages/password/PasswordChangepopup.java
+++ b/smp-ui-tests/src/main/java/pages/password/PasswordChangepopup.java
@@ -1,162 +1,140 @@
 package pages.password;
 
 
-
 import org.openqa.selenium.WebDriver;
+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 pages.components.ConfirmationDialog;
 import pages.components.baseComponents.PageComponent;
-import org.openqa.selenium.WebElement;
-import org.openqa.selenium.support.FindBy;
 import pages.service_groups.search.SearchPage;
 import utils.PROPERTIES;
 
-    public class PasswordChangepopup extends PageComponent {
-
-
-        public PasswordChangepopup(WebDriver driver) {
-            super(driver);
-            PageFactory.initElements( new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
-
-        }
-
-        @FindBy(id = "username_id")
-        WebElement userNameInput;
-
-        @FindBy(id = "emailAddress_id")
-        WebElement emailInput;
-
-        @FindBy(id = "np_id")
-        WebElement newPasswordInput;
-
+public class PasswordChangepopup extends PageComponent {
 
-        @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 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 = "#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;
+    }
 
 }
 
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 a49952cb9..3fd41eaf4 100644
--- a/smp-ui-tests/src/main/java/pages/users/UserPopup.java
+++ b/smp-ui-tests/src/main/java/pages/users/UserPopup.java
@@ -1,7 +1,6 @@
 package pages.users;
 
 import org.openqa.selenium.By;
-import org.openqa.selenium.JavascriptExecutor;
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
@@ -10,234 +9,227 @@ import pages.components.ConfirmationDialog;
 import pages.components.GenericSelect;
 import pages.components.baseComponents.PageComponent;
 
-import static org.openqa.selenium.remote.DriverCommand.CLICK_ELEMENT;
-
 public class UserPopup extends PageComponent {
-	public UserPopup(WebDriver driver) {
-		super(driver);
-		PageFactory.initElements(driver, this);
-		rolesSelect = new GenericSelect(driver, rolesSelectContainer);
-	}
+    public GenericSelect rolesSelect;
+    @FindBy(id = "userDetailsToggle_id")
+    WebElement userDetailsToggle;
+
+    @FindBy(css = "#active_id > label > div > div")
+    WebElement activeToggle;
+
+    @FindBy(id = "username_id")
+    WebElement userNameInput;
 
+    @FindBy(id = "emailAddress_id")
+    WebElement emailInput;
 
-	@FindBy(id = "userDetailsToggle_id")
-	WebElement userDetailsToggle;
+    @FindBy(id = "np_id")
+    WebElement newPasswordInput;
 
-	@FindBy(css = "#active_id > label > div > div")
-	WebElement activeToggle;
+    @SuppressWarnings("SpellCheckingInspection")
+    @FindBy(id = "cnp_id")
+    WebElement confirmationInput;
 
-	@FindBy(id = "username_id")
-	WebElement userNameInput;
+    @FindBy(css = "input#cp_id")
+    WebElement adminPassInput;
 
-	@FindBy(id = "emailAddress_id")
-	WebElement emailInput;
+    @FindBy(css = "mat-form-field.username> div > div.mat-form-field-flex > div > div")
+    WebElement usernameValidationError;
 
-	@FindBy(id = "np_id")
-	WebElement newPasswordInput;
+    @FindBy(css = "smp-password-change-dialog .password-panel mat-form-field:nth-child(2) .mat-form-field-subscript-wrapper mat-error")
+    WebElement passValidationError;
 
-	@SuppressWarnings("SpellCheckingInspection")
-	@FindBy(id = "cnp_id")
-	WebElement confirmationInput;
+    @FindBy(css = "mat-form-field.password-confirmation > div > div.mat-form-field-flex > div > div")
+    WebElement passConfirmationValidationError;
 
-	/*@FindBy(css = "input#cp_id")
-	WebElement adminPassInput;*/
+    @FindBy(css = ".ng-trigger.ng-trigger-transitionMessages.ng-star-inserted > mat-error")
+    WebElement passMatchValidationError;
 
-	@FindBy(xpath = "//input[@data-placeholder='Admin password for user [system]']")
-	WebElement adminPassInput;
+    @FindBy(css = "mat-dialog-actions button:nth-child(1)")
+    WebElement okBtn;
 
-	@FindBy(css = "mat-form-field.username> div > div.mat-form-field-flex > div > div")
-	WebElement usernameValidationError;
+    @FindBy(css = "mat-dialog-actions button:nth-child(2)")
+    WebElement cancelBtn;
 
-	@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 = ".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(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;
-
-	@FindBy(css = "#role_id")
-	WebElement rolesSelectContainer;
-	public GenericSelect rolesSelect;
-
-	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 isChangePasswordActive() {
-		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 pass, String confirmation)
-	public void fillDetailsForm(String username){
-		clearAndFillInput(userNameInput, username);
-		//clearAndFillInput(passwordInput, pass);
-		//clearAndFillInput(confirmationInput, confirmation);
-		emailInput.click();
-	}
-	public void clickSetOrChangePassword(){
-		log.info("click change password");
-		waitForElementToBeClickable(changePassword);
-		changePassword.click();
-		//waitForElementToBeGone(changePassword);
-	}
-	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);
-		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 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"
-	}
+    @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;
+
+    @FindBy(css = "#role_id")
+    WebElement rolesSelectContainer;
+    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 isChangePasswordActive() {
+        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 pass, String confirmation)
+    public void fillDetailsForm(String username) {
+        clearAndFillInput(userNameInput, username);
+        //clearAndFillInput(passwordInput, pass);
+        //clearAndFillInput(confirmationInput, confirmation);
+        emailInput.click();
+    }
+
+    public void clickSetOrChangePassword() {
+        log.info("click change password");
+        waitForElementToBeClickable(changePassword);
+        changePassword.click();
+        waitForXMillis(1000);
+    }
+
+    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);
+        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 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"
+    }
 }
diff --git a/smp-ui-tests/src/main/java/pages/users/UserRowInfo.java b/smp-ui-tests/src/main/java/pages/users/UserRowInfo.java
index 0c17dcda9..962d388ee 100644
--- a/smp-ui-tests/src/main/java/pages/users/UserRowInfo.java
+++ b/smp-ui-tests/src/main/java/pages/users/UserRowInfo.java
@@ -1,38 +1,33 @@
 package pages.users;
 
-import org.openqa.selenium.WebDriver;
-import org.openqa.selenium.WebElement;
-
-import java.util.ArrayList;
-
-public class UserRowInfo{
-	
-	private String username;
-	private String role;
-	private String certificate;
-	
-	
-	public String getUsername() {
-		return username;
-	}
-	
-	public void setUsername(String username) {
-		this.username = username;
-	}
-	
-	public String getRole() {
-		return role;
-	}
-	
-	public void setRole(String role) {
-		this.role = role;
-	}
-	
-	public String getCertificate() {
-		return certificate;
-	}
-	
-	public void setCertificate(String certificate) {
-		this.certificate = certificate;
-	}
+public class UserRowInfo {
+
+    private String username;
+    private String role;
+    private String certificate;
+
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getRole() {
+        return role;
+    }
+
+    public void setRole(String role) {
+        this.role = role;
+    }
+
+    public String getCertificate() {
+        return certificate;
+    }
+
+    public void setCertificate(String certificate) {
+        this.certificate = certificate;
+    }
 }
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 cb232f7ee..04b95c528 100644
--- a/smp-ui-tests/src/main/java/pages/users/UsersPage.java
+++ b/smp-ui-tests/src/main/java/pages/users/UsersPage.java
@@ -1,130 +1,117 @@
 package pages.users;
 
-import org.openqa.selenium.By;
 import org.openqa.selenium.WebDriver;
 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.ui.ExpectedConditions;
 import pages.components.ConfirmationDialog;
 import pages.components.baseComponents.PaginationControls;
 import pages.components.baseComponents.SMPPage;
-import pages.components.grid.BasicGrid;
 import utils.PROPERTIES;
 
-import java.util.List;
-
 public class UsersPage extends SMPPage {
-	public UsersPage(WebDriver driver) {
-		super(driver);
-		this.pageHeader.waitForTitleToBe("Users");
-		PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
-	}
-
-
-	public PaginationControls pagination = new PaginationControls(driver);
-
-	@FindBy(id = "searchTable")
-	private WebElement userTableContainer;
-
-	@FindBy(id = "cancelButton")
-	private WebElement cancelBtn;
-
-	@FindBy(id = "saveButton")
-	private WebElement saveBtn;
-
-	@FindBy(id = "newButton")
-	private WebElement newBtn;
-
-	@FindBy(id = "editButton")
-	private WebElement editBtn;
-
-	@FindBy(id = "deleteButton")
-	private WebElement deleteBtn;
-
-
-	public boolean isLoaded() {
-		log.info("checking Users page is loaded");
-
-		return isVisible(cancelBtn)
-				&& isVisible(saveBtn)
-				&& isVisible(newBtn)
-				&& isEnabled(newBtn)
-				&& isVisible(editBtn)
-				&& isVisible(deleteBtn);
-	}
-
-	public boolean isCancelButtonEnabled() {
-		log.info("cancel button");
-		return isEnabled(cancelBtn);
-	}
-
-	public boolean isSaveButtonEnabled() {
-		log.info("save button");
-		return isEnabled(saveBtn);
-	}
-
-	public boolean isDeleteButtonEnabled() {
-		waitForXMillis(200);
-		log.info("delete button");
-		return isEnabled(deleteBtn);
-	}
-
-	public ConfirmationDialog clickCancel() {
-		log.info("click cancel button");
-		waitForElementToBeClickable(cancelBtn).click();
-		return new ConfirmationDialog(driver);
-	}
-
-	public ConfirmationDialog clickSave() {
-		log.info("click save button");
-		waitForElementToBeClickable(saveBtn).click();
-		return new ConfirmationDialog(driver);
-	}
-
-	public void clickDelete() {
-		log.info("click delete button");
-		waitForElementToBeClickable(deleteBtn).click();
-		waitForRowsToLoad();
-	}
-
-	public UserPopup clickNew() {
-		log.info("click new button");
-		waitForElementToBeClickable(newBtn).click();
-		return new UserPopup(driver);
-	}
-
-	public UserPopup clickEdit() {
-		log.info("click edit button");
-		waitForElementToBeClickable(editBtn).click();
-		return new UserPopup(driver);
-	}
-
-
-	public UsersGrid grid() {
-		return new UsersGrid(driver, userTableContainer);
-	}
-
-
-	public void createUser() {
-		log.info("create user");
-
-		waitForElementToBeClickable(newBtn).click();
-
-		UserPopup popup = new UserPopup(driver);
-		popup.clickOK();
-
-	}
-
-	public boolean isNewButtonEnabled() {
-		try {
-			return newBtn.isEnabled();
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return false;
-	}
+    public PaginationControls pagination = new PaginationControls(driver);
+    @FindBy(id = "searchTable")
+    private WebElement userTableContainer;
+    @FindBy(id = "cancelButton")
+    private WebElement cancelBtn;
+    @FindBy(id = "saveButton")
+    private WebElement saveBtn;
+    @FindBy(id = "newButton")
+    private WebElement newBtn;
+    @FindBy(id = "editButton")
+    private WebElement editBtn;
+    @FindBy(id = "deleteButton")
+    private WebElement deleteBtn;
+
+    public UsersPage(WebDriver driver) {
+        super(driver);
+        this.pageHeader.waitForTitleToBe("Users");
+        PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
+    }
+
+    public boolean isLoaded() {
+        log.info("checking Users page is loaded");
+
+        return isVisible(cancelBtn)
+                && isVisible(saveBtn)
+                && isVisible(newBtn)
+                && isEnabled(newBtn)
+                && isVisible(editBtn)
+                && isVisible(deleteBtn);
+    }
+
+    public boolean isCancelButtonEnabled() {
+        log.info("cancel button");
+        return isEnabled(cancelBtn);
+    }
+
+    public boolean isSaveButtonEnabled() {
+        log.info("save button");
+        return isEnabled(saveBtn);
+    }
+
+    public boolean isDeleteButtonEnabled() {
+        waitForXMillis(200);
+        log.info("delete button");
+        return isEnabled(deleteBtn);
+    }
+
+    public ConfirmationDialog clickCancel() {
+        log.info("click cancel button");
+        waitForElementToBeClickable(cancelBtn).click();
+        return new ConfirmationDialog(driver);
+    }
+
+    public ConfirmationDialog clickSave() {
+        log.info("click save button");
+        waitForElementToBeClickable(saveBtn).click();
+        return new ConfirmationDialog(driver);
+    }
+
+    public void clickDelete() {
+        log.info("click delete button");
+        waitForElementToBeClickable(deleteBtn).click();
+        waitForRowsToLoad();
+    }
+
+    public UserPopup clickNew() {
+        log.info("click new button");
+        waitForElementToBeClickable(newBtn).click();
+        return new UserPopup(driver);
+    }
+
+    public UserPopup clickEdit() {
+        log.info("click edit button");
+        waitForElementToBeClickable(editBtn).click();
+        return new UserPopup(driver);
+    }
+
+
+    public UsersGrid grid() {
+        return new UsersGrid(driver, userTableContainer);
+    }
+
+
+    public void createUser() {
+        log.info("create user");
+
+        waitForElementToBeClickable(newBtn).click();
+
+        UserPopup popup = new UserPopup(driver);
+        popup.clickOK();
+
+    }
+
+    public boolean isNewButtonEnabled() {
+        try {
+            return newBtn.isEnabled();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return false;
+    }
 
 
 }
diff --git a/smp-ui-tests/src/main/java/utils/DriverManager.java b/smp-ui-tests/src/main/java/utils/DriverManager.java
index a8c0672bd..07371e6eb 100644
--- a/smp-ui-tests/src/main/java/utils/DriverManager.java
+++ b/smp-ui-tests/src/main/java/utils/DriverManager.java
@@ -2,13 +2,8 @@ package utils;
 
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.chrome.ChromeDriver;
-import org.openqa.selenium.firefox.FirefoxDriver;
-import org.openqa.selenium.firefox.FirefoxDriverLogLevel;
-import org.openqa.selenium.firefox.FirefoxOptions;
-import org.openqa.selenium.firefox.FirefoxProfile;
 
 import java.util.concurrent.TimeUnit;
-import java.util.logging.Level;
 
 public class DriverManager {
 
@@ -25,22 +20,16 @@ public class DriverManager {
 //		return driver;
 //    }
 
-    public static WebDriver getDriver(){
-		/*System.setProperty(FirefoxDriver.SystemProperty.DRIVER_USE_MARIONETTE,"true");
-		System.setProperty(FirefoxDriver.SystemProperty.BROWSER_LOGFILE,"C:\\temp\\logs.txt");*/
-
-		System.setProperty("Webdriver.chrome.driver","D:\\Users\\monhaso\\Downloads\\Chromedriver");
-		WebDriver driver = new ChromeDriver();
-		driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
-		driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);
-		driver.manage().timeouts().setScriptTimeout(2, TimeUnit.SECONDS);
+    public static WebDriver getDriver() {
+        WebDriver driver = new ChromeDriver();
+        driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
+        driver.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS);
+        driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS);
 
 		driver.manage().window().maximize();
 
-		return driver;
+        return driver;
     }
 
 
-
-
 }
diff --git a/smp-ui-tests/src/test/java/ui/BaseTest.java b/smp-ui-tests/src/test/java/ui/BaseTest.java
index 97e22bb82..701012ff3 100644
--- a/smp-ui-tests/src/test/java/ui/BaseTest.java
+++ b/smp-ui-tests/src/test/java/ui/BaseTest.java
@@ -21,186 +21,173 @@ import java.util.List;
 @Listeners({ExcelTestReporter.class, TestProgressReporter.class})
 public class BaseTest {
 
-	static int methodCount = 1;
+    static int methodCount = 1;
 
-	static WebDriver driver;
-	protected Logger logger = Logger.getLogger(this.getClass());
-	static TestDataProvider testDataProvider = new TestDataProvider();
+    static WebDriver driver;
+    static TestDataProvider testDataProvider = new TestDataProvider();
+    static ArrayList<String> createdDomains = new ArrayList<>();
+    static ArrayList<String> createdUsers = new ArrayList<>();
+    static ArrayList<String> createdServiceGroups = new ArrayList<>();
+    protected Logger logger = Logger.getLogger(this.getClass());
 
-	static ArrayList<String> createdDomains = new ArrayList<>();
-	static ArrayList<String> createdUsers = new ArrayList<>();
-	static ArrayList<String> createdServiceGroups = new ArrayList<>();
-
-	@BeforeSuite(alwaysRun = true)
+    @BeforeSuite(alwaysRun = true)
 	/*Starts the browser and navigates to the homepage. This happens once before the test
 	suite and the browser window is reused for all tests in suite*/
-	public void beforeSuite() {
-		logger.info("Creating necessary data !!!!");
-		createDomains();
-		createUsers();
-		createSGs();
-
-//		logger.info("Starting this puppy!!!!");
-//		driver = DriverManager.getDriver();
-//		driver.get(PROPERTIES.UI_BASE_URL);
-	}
-
-
-	@AfterSuite(alwaysRun = true)
-	/*After the test suite is done we close the browser*/
-	public void afterSuite() {
-		logger.info("Deleting created data!!!");
-
-		deleteTestData();
-
-		logger.info("Quitting!!!! Buh bye!!!");
-		try {
-			if(null!=driver){
-				driver.quit();
-			}
-		} catch (Exception e) {
-			logger.warn("Closing the driver failed !!!!");
-			e.printStackTrace();
-		}
-	}
-
-	@AfterClass(alwaysRun = true)
-	public void afterClass() {
-		if(null!=driver){
-			driver.quit();
-		}
-//		driver.get(PROPERTIES.UI_BASE_URL);
-//		SMPPage page = new SMPPage(driver);
-//		page.refreshPage();
-//
-//		if(page.pageHeader.sandwichMenu.isLoggedIn()){
-//			logger.info("Logout!!");
-//			page.pageHeader.sandwichMenu.logout();
-//		}
-	}
-
-	@BeforeClass(alwaysRun = true)
-	public void beforeClass() {
+    public void beforeSuite() {
+        logger.info("Creating necessary data !!!!");
+        createDomains();
+        createUsers();
+        createSGs();
+    }
+
+
+    @AfterSuite(alwaysRun = true)
+    /*After the test suite is done we close the browser*/
+    public void afterSuite() {
+        logger.info("Deleting created data!!!");
+
+        deleteTestData();
+
+        logger.info("Quitting!!!! Buh bye!!!");
+        try {
+            if (null != driver) {
+                driver.quit();
+            }
+        } catch (Exception e) {
+            logger.warn("Closing the driver failed !!!!");
+            e.printStackTrace();
+        }
+    }
+
+    @AfterClass(alwaysRun = true)
+    public void afterClass() {
+        if (null != driver) {
+            driver.quit();
+        }
+    }
+
+    @BeforeClass(alwaysRun = true)
+    public void beforeClass() {
         logger.info("beforeClass entry");
-		driver = DriverManager.getDriver();
-		driver.get(PROPERTIES.UI_BASE_URL);
+        driver = DriverManager.getDriver();
+        driver.get(PROPERTIES.UI_BASE_URL);
         logger.info("beforeClass exit");
-	}
-
-	@BeforeMethod(alwaysRun = true)
-	protected void logSeparator(Method method) throws Exception {
-
-		logger.info("--------------------------- Running test number: " + methodCount);
-		logger.info("--------------------------- Running test method: " + method.getDeclaringClass().getSimpleName() + "." + method.getName());
-		methodCount++;
-	}
-
-
-	private void createDomains() {
-		for (int i = 0; i < 5; i++) {
-			String generated = Generator.randomAlphaNumeric(10);
-			logger.info("creating domain whose value is :"+generated);
-			boolean created = SMPRestClient.createDomain(generated);
-			if (created) {
-				createdDomains.add(generated);
-			} else {
-				logger.warn("Test data creation: Domain creation failed for " + generated);
-				System.exit(-1);
-			}
-		}
-	}
-
-	private void createUsers() {
-		String[] roles = {"SMP_ADMIN", "SERVICE_GROUP_ADMIN", "SYSTEM_ADMIN"};
-		for (int i = 0; i < 6; i++) {
-			String generated = Generator.randomAlphaNumeric(10);
-			String role = roles[i % roles.length];
-			boolean created = SMPRestClient.createUser(generated, role);
-			if (created) {
-				createdUsers.add(generated);
-			} else {
-				logger.warn("Test data creation: User creation failed for " + generated);
-				System.exit(-1);
-			}
-		}
-	}
-
-	private void createSGs() {
-		for (int i = 0; i < 5; i++) {
-			String generated = Generator.randomAlphaNumeric(10);
-			String generatedHyphen = generated.substring(0,3)+"-"+generated.substring(3,6)+"-"+generated.substring(6,9);
-			List<String> users = Arrays.asList(createdUsers.get(0));
-			List<String> domains = Arrays.asList(createdDomains.get(0));
-			boolean created = SMPRestClient.createServiceGroup(generated, generatedHyphen, users, domains);
-			if (created) {
-				createdServiceGroups.add(generated);
-			} else {
-				logger.warn("Test data creation: SG creation failed for " + generated);
-				System.exit(-1);
-			}
-		}
-	}
-
-	private void deleteTestData() {
-		for (String createdServiceGroup : createdServiceGroups) {
-			try {
-				SMPRestClient.deleteSG(createdServiceGroup);
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-		}
-		for (String createdUser : createdUsers) {
-			try {
-				SMPRestClient.deleteUser(createdUser);
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-		}
-		for (String createdDomain : createdDomains) {
-			try {
-				SMPRestClient.deleteDomain(createdDomain);
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-		}
-	}
-
-
-	protected void genericLogoutProcedure() {
-		logger.info("executing the generic logout procedure");
-
-		SMPPage page = new SMPPage(driver);
-		page.refreshPage();
-
-		try {
-			if (page.pageHeader.sandwichMenu.isLoggedIn()) {
-				logger.info("Logout!!");
-				page.pageHeader.sandwichMenu.logout();
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
-		driver.manage().deleteAllCookies();
-		((JavascriptExecutor) driver).executeScript("localStorage.clear();");
-
-		page.refreshPage();
-		page.waitForXMillis(100);
-	}
-
-	protected SMPPage genericLoginProcedure(String role) {
-		SMPPage page = new SMPPage(driver);
-
-		genericLogoutProcedure();
-
-		if (!page.pageHeader.sandwichMenu.isLoggedIn()) {
-			logger.info("Login!!");
-			page.pageHeader.goToLogin().login(role);
-		}
-
-		page.waitForRowsToLoad();
-		return page;
-	}
+    }
+
+    @BeforeMethod(alwaysRun = true)
+    protected void logSeparator(Method method) throws Exception {
+
+        logger.info("--------------------------- Running test number: " + methodCount);
+        logger.info("--------------------------- Running test method: " + method.getDeclaringClass().getSimpleName() + "." + method.getName());
+        methodCount++;
+    }
+
+
+    private void createDomains() {
+        for (int i = 0; i < 5; i++) {
+            String generated = Generator.randomAlphaNumeric(10);
+            logger.info("creating domain whose value is :" + generated);
+            boolean created = SMPRestClient.createDomain(generated);
+            if (created) {
+                createdDomains.add(generated);
+            } else {
+                logger.warn("Test data creation: Domain creation failed for " + generated);
+                System.exit(-1);
+            }
+        }
+    }
+
+    private void createUsers() {
+        String[] roles = {"SMP_ADMIN", "SERVICE_GROUP_ADMIN", "SYSTEM_ADMIN"};
+        for (int i = 0; i < 6; i++) {
+            String generated = Generator.randomAlphaNumeric(10);
+            String role = roles[i % roles.length];
+            boolean created = SMPRestClient.createUser(generated, role);
+            if (created) {
+                createdUsers.add(generated);
+            } else {
+                logger.warn("Test data creation: User creation failed for " + generated);
+                System.exit(-1);
+            }
+        }
+    }
+
+    private void createSGs() {
+        for (int i = 0; i < 5; i++) {
+            String generated = Generator.randomAlphaNumeric(10);
+            String generatedHyphen = generated.substring(0, 3) + "-" + generated.substring(3, 6) + "-" + generated.substring(6, 9);
+            List<String> users = Arrays.asList(createdUsers.get(0));
+            List<String> domains = Arrays.asList(createdDomains.get(0));
+            boolean created = SMPRestClient.createServiceGroup(generated, generatedHyphen, users, domains);
+            if (created) {
+                createdServiceGroups.add(generated);
+            } else {
+                logger.warn("Test data creation: SG creation failed for " + generated);
+                System.exit(-1);
+            }
+        }
+    }
+
+    private void deleteTestData() {
+        for (String createdServiceGroup : createdServiceGroups) {
+            try {
+                SMPRestClient.deleteSG(createdServiceGroup);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        for (String createdUser : createdUsers) {
+            try {
+                SMPRestClient.deleteUser(createdUser);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        for (String createdDomain : createdDomains) {
+            try {
+                SMPRestClient.deleteDomain(createdDomain);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+
+    protected void genericLogoutProcedure() {
+        logger.info("executing the generic logout procedure");
+
+        SMPPage page = new SMPPage(driver);
+        page.refreshPage();
+
+        try {
+            if (page.pageHeader.sandwichMenu.isLoggedIn()) {
+                logger.info("Logout!!");
+                page.pageHeader.sandwichMenu.logout();
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        driver.manage().deleteAllCookies();
+        ((JavascriptExecutor) driver).executeScript("localStorage.clear();");
+
+        page.refreshPage();
+        page.waitForXMillis(100);
+    }
+
+    protected SMPPage genericLoginProcedure(String role) {
+        SMPPage page = new SMPPage(driver);
+
+        genericLogoutProcedure();
+
+        if (!page.pageHeader.sandwichMenu.isLoggedIn()) {
+            logger.info("Login!!");
+            page.pageHeader.goToLogin().login(role);
+        }
+
+        page.waitForRowsToLoad();
+        return page;
+    }
 
 }
 
diff --git a/smp-ui-tests/src/test/java/ui/SearchPgTest.java b/smp-ui-tests/src/test/java/ui/SearchPgTest.java
index 71fe2caf9..cb709ae2d 100644
--- a/smp-ui-tests/src/test/java/ui/SearchPgTest.java
+++ b/smp-ui-tests/src/test/java/ui/SearchPgTest.java
@@ -1,6 +1,5 @@
 package ui;
 
-import org.testng.SkipException;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.Ignore;
 import org.testng.annotations.Test;
@@ -22,372 +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);
+    @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();
+    @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");
+        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();
-	}
+        soft.assertAll();
+    }
 
-	@Test(description = "SRCH-10")
-	public void domainSelectContent() {
-		SoftAssert soft = new SoftAssert();
-		SearchPage page = new SearchPage(driver);
-		soft.assertTrue(page.isLoaded());
+    @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();
+        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);
-		}
+        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();
+        soft.assertAll();
 
-	}
+    }
 
-	@Test(description = "SRCH-20")
-	public void searchGridInitialState() {
-		SoftAssert soft = new SoftAssert();
+    @Test(description = "SRCH-20")
+    public void searchGridInitialState() {
+        SoftAssert soft = new SoftAssert();
 
-		SearchPage page = new SearchPage(driver);
-		soft.assertTrue(page.isLoaded());
+        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"));
+        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();
-	}
+        soft.assertAll();
+    }
 
-	@Test(description = "SRCH-30")
-	public void searchFilterResults() {
-		SoftAssert soft = new SoftAssert();
+    @Test(description = "SRCH-30")
+    public void searchFilterResults() {
+        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 pScheme = row0.getParticipantScheme();
-		String pIdentifier = row0.getParticipantIdentifier();
+        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");
+    @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();
-	}
+        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 997a99bfc..5f986d8be 100644
--- a/smp-ui-tests/src/test/java/ui/UsersPgTest.java
+++ b/smp-ui-tests/src/test/java/ui/UsersPgTest.java
@@ -7,9 +7,7 @@ import org.testng.asserts.SoftAssert;
 import pages.components.ConfirmationDialog;
 import pages.components.baseComponents.SMPPage;
 import pages.components.messageArea.AlertMessage;
-import pages.domain.DomainPage;
 import pages.login.LoginPage;
-import pages.password.PasswordChangepopup;
 import pages.service_groups.search.SearchPage;
 import pages.users.UserPopup;
 import pages.users.UsersPage;
@@ -20,254 +18,250 @@ import utils.rest.SMPRestClient;
 
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.HashMap;
 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);
-		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);
-		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);
+        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);
+        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();
+        //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.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.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();
+        soft.assertAll();
 
-	}
+    }
 
 
-	@Test(description = "USR-10")
-	public void newUser() {
-		String username = Generator.randomAlphaNumeric(10);
-		String validPass = "Aabcdefghijklm1@";
+    @Test(description = "USR-10")
+    public void newUser() {
+        String username = Generator.randomAlphaNumeric(10);
+        String validPass = "Aabcdefghijklm1@";
 
-		SoftAssert soft = new SoftAssert();
+        SoftAssert soft = new SoftAssert();
 
-		UsersPage usersPage = new UsersPage(driver);
+        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);
-		popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN");
-		popup.clickOK();
+        UserPopup popup = usersPage.clickNew();
+        soft.assertTrue(!popup.isOKButtonActive(), "OK button should be disabled until valid data is filled in the popup");
+        popup.fillDetailsForm(username);
+        popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN");
+        popup.clickOK();
 
-	    //popup.clickUserDetailsToggle();
-		//popup.fillDetailsForm(username, validPass, validPass);
+        //popup.clickUserDetailsToggle();
+        //popup.fillDetailsForm(username, validPass, validPass);
 
 
-		soft.assertTrue(usersPage.isSaveButtonEnabled(), "Save button is enabled");
-		soft.assertTrue(usersPage.isCancelButtonEnabled(), "Cancel button is enabled");
+        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");
-		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";
-
-		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");
-		popup.rolesSelect.selectOptionWithText("SMP_ADMIN");
-
-		//popup.clickUserDetailsToggle();
-
-		//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("#$^&*^%&$#@%@$#%$");
-		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");
-		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)");
-
-
-		soft.assertAll();
-	}
-
-	@SuppressWarnings("SpellCheckingInspection")
-	@Test(description = "USR-30")
-	public void passwordValidation() {
-		String username = Generator.randomAlphaNumeric(10);
-		ArrayList<String> passToValidate = new ArrayList<>(Arrays.asList("qwqw",
-				"QWERQWERQWERQWERQWERQWERQWERQWE33",
+        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";
+
+        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");
+        popup.rolesSelect.selectOptionWithText("SMP_ADMIN");
+
+        //popup.clickUserDetailsToggle();
+
+        //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("#$^&*^%&$#@%@$#%$");
+        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");
+        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)");
+
+
+        soft.assertAll();
+    }
+
+    @SuppressWarnings("SpellCheckingInspection")
+    @Test(description = "USR-30", enabled = false)
+    public void passwordValidation() {
+        String username = Generator.randomAlphaNumeric(10);
+        ArrayList<String> passToValidate = new ArrayList<>(Arrays.asList("qwqw",
+                "QWERQWERQWERQWERQWERQWERQWERQWE33",
 //				"QWERTYUIOP",
 //				"qwertyuiop",
 //				"321654987",
 //				"~!@#$%^&*()_",
 //				"~1Aa#",
-				"~1a#2d2dds"));
+                "~1a#2d2dds"));
 
-		SoftAssert soft = new SoftAssert();
+        SoftAssert soft = new SoftAssert();
 
-		UsersPage usersPage = new UsersPage(driver);
-		usersPage.clickVoidSpace();
+        UsersPage usersPage = new UsersPage(driver);
+        usersPage.clickVoidSpace();
 
-		UserPopup popup = usersPage.clickNew();
-		popup.fillDetailsForm(username);
-		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) {
+        UserPopup popup = usersPage.clickNew();
+        popup.fillDetailsForm(username);
+        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();
+            popup = usersPage.clickEdit();
 
-			popup.clickSetOrChangePassword();
-			popup.setOrChangePassword(adminPass,pass,pass);
-			popup.clickClosePasswordDialog();
-			popup.clickCancel();
+            popup.clickSetOrChangePassword();
+            popup.setOrChangePassword(adminPass, pass, pass);
+            popup.clickClosePasswordDialog();
+            popup.clickCancel();
 
-			soft.assertTrue(!popup.isChangePasswordActive(), 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.assertTrue(!popup.isChangePasswordActive(), 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();
-	}
+        soft.assertAll();
+    }
 
-	@Test(description = "USR-40")
-	public void listedRoles() {
+    @Test(description = "USR-40")
+    public void listedRoles() {
 
-		ArrayList<String> expectedRoleValues = new ArrayList<>(Arrays.asList("SYSTEM_ADMIN", "SMP_ADMIN", "SERVICE_GROUP_ADMIN"));
+        ArrayList<String> expectedRoleValues = new ArrayList<>(Arrays.asList("SYSTEM_ADMIN", "SMP_ADMIN", "SERVICE_GROUP_ADMIN"));
 
-		SoftAssert soft = new SoftAssert();
+        SoftAssert soft = new SoftAssert();
 
-		UsersPage usersPage = new UsersPage(driver);
-		UserPopup popup = usersPage.clickNew();
-		List<String> listedRoles = popup.rolesSelect.getOptionTexts();
+        UsersPage usersPage = new UsersPage(driver);
+        UserPopup popup = usersPage.clickNew();
+        List<String> listedRoles = popup.rolesSelect.getOptionTexts();
 
-		soft.assertTrue(expectedRoleValues.size() == listedRoles.size(), "Number of roles is the same as expected");
+        soft.assertTrue(expectedRoleValues.size() == listedRoles.size(), "Number of roles is the same as expected");
 
-		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);
-		}
+        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();
-	}
+        soft.assertAll();
+    }
 
-	@Test(description = "USR-50")
-	public void deleteSYS_ADMIN() {
+    @Test(description = "USR-50")
+    public void deleteSYS_ADMIN() {
 
-		String username = Generator.randomAlphaNumeric(10);
-		SMPRestClient.createUser(username, "SYSTEM_ADMIN");
-		SoftAssert soft = new SoftAssert();
+        String username = Generator.randomAlphaNumeric(10);
+        SMPRestClient.createUser(username, "SYSTEM_ADMIN");
+        SoftAssert soft = new SoftAssert();
 
-		logger.info("created user " + username);
-		UsersPage page = new UsersPage(driver);
-		page.refreshPage();
+        logger.info("created user " + username);
+        UsersPage page = new UsersPage(driver);
+        page.refreshPage();
 
-		soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled");
+        soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled");
 
         int index = page.grid().scrollToUser(username);
         page.grid().selectRow(index);
         soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select");
 
-		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.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.clickCancel().confirm();
         new ConfirmationDialog(driver).confirm();
@@ -278,99 +272,99 @@ public class UsersPgTest extends BaseTest {
         page.grid().selectRow(index);
         soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select(2)");
 
-		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)");
+        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)");
 
-		page.clickSave().confirm();
+        page.clickSave().confirm();
 
         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-60")
-	public void changeRoleSYS_ADMIN() {
+    @Test(description = "USR-60")
+    public void changeRoleSYS_ADMIN() {
 
-		SoftAssert soft = new SoftAssert();
+        SoftAssert soft = new SoftAssert();
 
         UsersPage page = new UsersPage(driver);
         int index = page.grid().scrollToUserWithRole("SYSTEM_ADMIN");
 
-		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\"");
+        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.assertAll();
-	}
+        soft.assertAll();
+    }
 
-	@Test(description = "USR-70")
-	public void changeRoleNON_SYS_ADMIN() {
+    @Test(description = "USR-70")
+    public void changeRoleNON_SYS_ADMIN() {
 
-		SoftAssert soft = new SoftAssert();
+        SoftAssert soft = new SoftAssert();
 
         UsersPage page = new UsersPage(driver);
         int index = page.grid().scrollToUserWithRole("SMP_ADMIN");
 
-		page.grid().selectRow(index);
-		UserPopup popup = page.clickEdit();
+        page.grid().selectRow(index);
+        UserPopup popup = page.clickEdit();
 
-		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\"");
+        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\"");
 
-		soft.assertAll();
-	}
+        soft.assertAll();
+    }
 
-	@Test(description = "USR-80")
-	public void deleteOWNUserRecord() {
+    @Test(description = "USR-80")
+    public void deleteOWNUserRecord() {
 
-		String username = new TestDataProvider().getUserWithRole("SYS_ADMIN").get("username");
+        String username = new TestDataProvider().getUserWithRole("SYS_ADMIN").get("username");
 
-		SoftAssert soft = new SoftAssert();
+        SoftAssert soft = new SoftAssert();
 
-		UsersPage page = new UsersPage(driver);
-		soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled");
+        UsersPage page = new UsersPage(driver);
+        soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled");
 
         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(), "Listed message is error");
-		soft.assertTrue(message.getMessage().equalsIgnoreCase(SMPMessages.USER_OWN_DELETE_ERR), "Listed message has appropriate text");
+        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");
 
-		soft.assertAll();
-	}
+        soft.assertAll();
+    }
 
-	@Test(description = "USR-90")
-	public void deleteSMP_ADMIN() {
+    @Test(description = "USR-90")
+    public void deleteSMP_ADMIN() {
 
-		String username = Generator.randomAlphaNumeric(10);
-		SMPRestClient.createUser(username, "SMP_ADMIN");
-		SoftAssert soft = new SoftAssert();
+        String username = Generator.randomAlphaNumeric(10);
+        SMPRestClient.createUser(username, "SMP_ADMIN");
+        SoftAssert soft = new SoftAssert();
 
-		logger.info("Created username " + username);
+        logger.info("Created username " + username);
 
 
-		UsersPage page = new UsersPage(driver);
-		page.refreshPage();
-		soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled");
+        UsersPage page = new UsersPage(driver);
+        page.refreshPage();
+        soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled");
 
         int index = page.grid().scrollToUser(username);
         page.grid().selectRow(index);
         soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select");
 
-		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.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.clickCancel().confirm();
         new ConfirmationDialog(driver).confirm();
@@ -381,44 +375,44 @@ public class UsersPgTest extends BaseTest {
         page.grid().selectRow(index);
         soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select(2)");
 
-		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)");
+        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)");
 
-		page.clickSave().confirm();
+        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();
-	}
+        soft.assertAll();
+    }
 
-	@Test(description = "USR-100")
-	public void deleteSERVICE_GROUP_ADMIN() {
+    @Test(description = "USR-100")
+    public void deleteSERVICE_GROUP_ADMIN() {
 
-		String username = Generator.randomAlphaNumeric(10);
-		SMPRestClient.createUser(username, "SERVICE_GROUP_ADMIN");
-		logger.info("Created username" + username);
-		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();
-		page.waitForRowsToLoad();
+        UsersPage page = new UsersPage(driver);
+        page.refreshPage();
+        page.waitForRowsToLoad();
 
-		soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled");
+        soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled");
 
-        int index =page.grid(). scrollToUser(username);
+        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();
+        page.clickDelete();
+        page.waitForRowsToLoad();
 
-		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");
+        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.clickCancel().confirm();
         new ConfirmationDialog(driver).confirm();
@@ -429,94 +423,94 @@ public class UsersPgTest extends BaseTest {
         index = page.grid().scrollToUser(username);
         page.grid().selectRow(index);
 
-		soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select(2)");
+        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.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();
+        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();
-	}
+        soft.assertAll();
+    }
 
-	@Test(description = "USR-110")
-	public void deleteSG_ADMINWithSG() {
+    @Test(description = "USR-110")
+    public void deleteSG_ADMINWithSG() {
 
-		String username = Generator.randomAlphaNumeric(10);
-		String pi = Generator.randomAlphaNumeric(10);
-		String ps = Generator.randomAlphaNumeric(10);
+        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);
+        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)))
-		);
+        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);
+        logger.info("Created username " + username);
+        logger.info("Created service group " + pi);
 
-		SoftAssert soft = new SoftAssert();
+        SoftAssert soft = new SoftAssert();
 
-		UsersPage page = new UsersPage(driver);
-		page.refreshPage();
+        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");
+        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);
+        SMPRestClient.deleteSG(pi);
+        SMPRestClient.deleteUser(username);
 
-		soft.assertAll();
-	}
+        soft.assertAll();
+    }
 
-	@Test(description = "USR-120")
-	public void deleteSMP_ADMINWithSG() {
+    @Test(description = "USR-120")
+    public void deleteSMP_ADMINWithSG() {
 
-		String username = Generator.randomAlphaNumeric(10);
-		String pi = Generator.randomAlphaNumeric(10);
-		String ps = Generator.randomAlphaNumeric(10);
+        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);
+        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)))
-		);
+        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);
+        logger.info("Created username " + username);
 
-		SoftAssert soft = new SoftAssert();
+        SoftAssert soft = new SoftAssert();
 
-		UsersPage page = new UsersPage(driver);
-		page.refreshPage();
+        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");
+        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);
+        SMPRestClient.deleteSG(pi);
+        SMPRestClient.deleteUser(username);
 
         soft.assertAll();
     }
@@ -532,37 +526,37 @@ public class UsersPgTest extends BaseTest {
 
         UserPopup popup = page.clickNew();
         soft.assertTrue(!popup.isOKButtonActive(), "OK button is enable before valid data is filled in the popup");
-		popup.fillDetailsForm(userName);
+        popup.fillDetailsForm(userName);
         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.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);
+        popup.fillDetailsForm(userName);
         popup.rolesSelect.selectOptionWithText("SYSTEM_ADMIN");
-       // popup.clickUserDetailsToggle();
+        // 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();
+        popup.clickCancel();
         soft.assertAll();
     }
 
@@ -572,86 +566,85 @@ public class UsersPgTest extends BaseTest {
         String validPass = "Aabcdefghijklm1@";
         String confirmPass = "AS@!gh12fxghfnh43546";
         String errorMsg = "Confirm valued does not match new password!";
-		String adminPass = "123456";
+        String adminPass = "123456";
         SoftAssert soft = new SoftAssert();
-		UsersPage usersPage = new UsersPage(driver);
+        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);
+        soft.assertTrue(!popup.isOKButtonActive(), "OK button is enable before valid data is filled in the popup");
+        popup.fillDetailsForm(username);
         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();
+        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");
+        //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-123")
-	public void verifySuspendedUserwithoutPassword()
-	{
-		String username = Generator.randomAlphaNumeric(10);
-		String password = "Aabcdefghijklm1@";
-
-		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);
-		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-123")
+    public void verifySuspendedUserwithoutPassword() {
+        String username = Generator.randomAlphaNumeric(10);
+        String password = "Aabcdefghijklm1@";
+
+        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);
+        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();
+    }
 }
-- 
GitLab