diff --git a/smp-ui-tests/src/main/java/pages/components/baseComponents/Header.java b/smp-ui-tests/src/main/java/pages/components/baseComponents/Header.java index 76896e99b2f91a03356a0207529f3f1b49c6f36f..71ac9a72e6d39ad00df19a39083e108bb516bda7 100644 --- a/smp-ui-tests/src/main/java/pages/components/baseComponents/Header.java +++ b/smp-ui-tests/src/main/java/pages/components/baseComponents/Header.java @@ -26,6 +26,9 @@ public class Header extends PageComponent{ @FindBy(css = "#sandwichMenu a") private WebElement loginLnk; + @FindBy(css = "#sandwichMenu .ng-star-inserted") + private WebElement role; + public SandwichMenu sandwichMenu = new SandwichMenu(driver); public LoginPage goToLogin(){ @@ -47,4 +50,10 @@ public class Header extends PageComponent{ waitForElementToBeVisible(pageTitle); } + public String getRoleName() + { + String getUserRole = role.getText(); + String roleName= getUserRole.split(":")[0].trim(); + return roleName; + } } diff --git a/smp-ui-tests/src/main/java/pages/login/LoginPage.java b/smp-ui-tests/src/main/java/pages/login/LoginPage.java index b75540eae70347583725d554ec86fe1900f39ece..cebeb3568617e8899976fb4c9821e200f6f21288 100644 --- a/smp-ui-tests/src/main/java/pages/login/LoginPage.java +++ b/smp-ui-tests/src/main/java/pages/login/LoginPage.java @@ -147,6 +147,25 @@ public class LoginPage extends SMPPage { }catch (Exception e){} } + public void loginWithoutUserAndPassword() { + username.clear(); + password.clear(); + } + + public boolean isLoginButtonEnable() { + try { + return !loginBtn.isEnabled(); + } catch (Exception e) { + e.printStackTrace(); + throw e; + } + } + + public void fillLoginInput(String user, String pass) { + + clearAndFillInput(username, user); + clearAndFillInput(password, pass); + } } diff --git a/smp-ui-tests/src/main/java/pages/service_groups/FilterArea.java b/smp-ui-tests/src/main/java/pages/service_groups/FilterArea.java index f4fdca14c124c18f7fbc830d17e212f9d173899c..719a42903c1a94cf8843e2f0df1b89a3d433b19a 100644 --- a/smp-ui-tests/src/main/java/pages/service_groups/FilterArea.java +++ b/smp-ui-tests/src/main/java/pages/service_groups/FilterArea.java @@ -73,5 +73,23 @@ public class FilterArea extends PageComponent { waitForXMillis(1000); } + public boolean isSearchButtonVisible(){ + try{ + return searchButton.isDisplayed(); + } + catch(Exception e){ + e.printStackTrace(); + return false; + } + } + public boolean isSearchButtonEnable(){ + try{ + return searchButton.isEnabled(); + } + catch (Exception e){ + e.printStackTrace(); + return false; + } + } } diff --git a/smp-ui-tests/src/main/java/pages/service_groups/ServiceGroupGrid.java b/smp-ui-tests/src/main/java/pages/service_groups/ServiceGroupGrid.java index 8ae8bfee61347a70ff615c883c4f3b734cad0260..5e2d8f47f0ab7c3c47b645eeee0e1568ce1a645d 100644 --- a/smp-ui-tests/src/main/java/pages/service_groups/ServiceGroupGrid.java +++ b/smp-ui-tests/src/main/java/pages/service_groups/ServiceGroupGrid.java @@ -1,5 +1,6 @@ package pages.service_groups; +import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.interactions.Actions; @@ -28,6 +29,9 @@ public class ServiceGroupGrid extends PageComponent { @FindBy(className = "datatable-row-wrapper") List<WebElement> rowWrappers; + @FindBy(tagName = "datatable-body") + WebElement dataTableBody; + public List<ServiceGroupRow> getRows() { log.info("getting row info"); List<ServiceGroupRow> rows = new ArrayList<>(); @@ -92,6 +96,15 @@ public class ServiceGroupGrid extends PageComponent { return toReturn; } + public String getEmptyTableText() { + try{ + return dataTableBody.findElement(By.className("empty-row")).getText(); + } + catch (Exception e){ + e.printStackTrace(); + return ""; + } + } } diff --git a/smp-ui-tests/src/main/java/pages/service_groups/search/SearchPage.java b/smp-ui-tests/src/main/java/pages/service_groups/search/SearchPage.java index 765d0639eee57e16cb1eebdaf5feb7ce32f5ec94..56e4a92fa3a457dd304bafff1195d5262165d33a 100644 --- a/smp-ui-tests/src/main/java/pages/service_groups/search/SearchPage.java +++ b/smp-ui-tests/src/main/java/pages/service_groups/search/SearchPage.java @@ -32,7 +32,8 @@ public class SearchPage extends SMPPage { return getServiceGroupGrid().isLoaded(); } - public ServiceGroupGrid getServiceGroupGrid() { + public ServiceGroupGrid + getServiceGroupGrid() { return new ServiceGroupGrid(driver, searchGridContainer); } } diff --git a/smp-ui-tests/src/test/java/ui/LoginPgTest.java b/smp-ui-tests/src/test/java/ui/LoginPgTest.java index 68788d9f1dc01185f6e0de88bfaa5955bbe4c9eb..b1fe3d7d542bdabd555aba380ba971f812853794 100644 --- a/smp-ui-tests/src/test/java/ui/LoginPgTest.java +++ b/smp-ui-tests/src/test/java/ui/LoginPgTest.java @@ -13,6 +13,8 @@ import utils.Generator; import utils.enums.SMPMessages; import utils.rest.SMPRestClient; +import java.util.HashMap; + public class LoginPgTest extends BaseTest { @@ -161,5 +163,59 @@ public class LoginPgTest extends BaseTest { throw new SkipException("This test will be executed manually !!!"); } + @Test(description = "LGN-60") + public void loginButtonDisableVerification() { + SoftAssert soft = new SoftAssert(); + SearchPage page = new SearchPage(driver); + logger.info("Going to login page"); + LoginPage loginPage = page.pageHeader.goToLogin(); + loginPage.loginWithoutUserAndPassword(); + soft.assertTrue(loginPage.isLoginButtonEnable(), "login button is enabled"); + soft.assertAll(); + } + + @Test(description = "LGN-70") + public void verifyMenuButtonMsg() { + SoftAssert soft = new SoftAssert(); + SearchPage page = new SearchPage(driver); + logger.info("Going to login page"); + LoginPage loginPage = page.pageHeader.goToLogin(); + soft.assertFalse(loginPage.pageHeader.sandwichMenu.isLoggedIn(), "Menu does not contain the message 'Not logged in'"); + soft.assertAll(); + } + + @Test(description = "LGN-80") + public void verifyLoginButtonEnable() + { + SoftAssert soft = new SoftAssert(); + SearchPage page = new SearchPage(driver); + logger.info("Going to login page"); + LoginPage loginPage = page.pageHeader.goToLogin(); + HashMap<String, String> user = testDataProvider.getUserWithRole("SYS_ADMIN"); + loginPage.fillLoginInput(user.get("username"), user.get("password")); + soft.assertFalse(loginPage.isLoginButtonEnable(), "Login Button Is Disabled"); + + soft.assertAll(); + } + + @Test(description = "LGN-90") + public void verifyRoleAfterLogin() + { + SoftAssert soft = new SoftAssert(); + + SMPPage page = new SMPPage(driver); + logger.info("Going to login page"); + page.pageHeader.goToLogin(); + + LoginPage loginPage = new LoginPage(driver); + HashMap<String, String> user = testDataProvider.getUserWithRole("SYS_ADMIN"); + SearchPage searchPage = loginPage.login(user.get("username"), user.get("password")); + soft.assertTrue(searchPage.pageHeader.sandwichMenu.isLoggedIn(), "User is logged in"); + String roleName = page.pageHeader.getRoleName(); + soft.assertEquals(roleName , "System administrator" , "the role doesn't contain System administrator"); + + soft.assertAll(); + } + } diff --git a/smp-ui-tests/src/test/java/ui/SearchPgTest.java b/smp-ui-tests/src/test/java/ui/SearchPgTest.java index 34c112c75a8d01180c3ac6b1938e50926111629e..1fb961bf89b698b370ac6fb295f8e7abea0601f0 100644 --- a/smp-ui-tests/src/test/java/ui/SearchPgTest.java +++ b/smp-ui-tests/src/test/java/ui/SearchPgTest.java @@ -36,6 +36,8 @@ public class SearchPgTest extends BaseTest { 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"); @@ -334,7 +336,24 @@ public class SearchPgTest extends BaseTest { soft.assertAll(); } + @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"; + ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0); + String pScheme = row0.getParticipantScheme(); + ServiceGroupRow row1 = page.getServiceGroupGrid().getRows().get(1); + String pIdentifier = row1.getParticipantIdentifier(); + + page.filters.filter(pIdentifier, pScheme, ""); + + soft.assertEquals(page.getServiceGroupGrid().getEmptyTableText(), emptyMsg, "empty table not found"); + soft.assertAll(); + } }