From 91f23ac8663214403e3d37f983649718b577af70 Mon Sep 17 00:00:00 2001 From: Mihai BOZ <Mihai.BOZ@ext.ec.europa.eu> Date: Thu, 28 Sep 2023 18:15:08 +0300 Subject: [PATCH] created common page with tabs, created pages for EditGroups. --- .../main/java/ddsl/CommonCertificatePage.java | 2 +- .../main/java/ddsl/CommonPageWithTabs.java | 35 +++++++++++++ ...id.java => CommonPageWithTabsAndGrid.java} | 31 ++---------- .../dcomponents/SideNavigationComponent.java | 9 ++-- .../SubcategoryTabComponent.java | 6 +-- .../CreateGroupDetailsDialog.java | 31 ++++++++++++ .../editDomainsPage/EditDomainsPage.java | 10 +++- .../editDomainsPage/GroupTab.java | 8 ++- .../editGroupsPage/EditGroupsPage.java | 34 +++++++++++++ .../editGroupsPage/GroupMembersTab.java | 15 ++++++ .../editGroupsPage/ResourceTab.java | 20 ++++++++ .../java/pages/systemSettings/UsersPage.java | 4 +- .../domainsPage/DomainsPage.java | 4 +- .../src/main/java/rest/models/GroupModel.java | 50 +++++++++++++++++++ .../java/domiSMPTests/ui/DomainsPgTests.java | 14 +++--- .../domiSMPTests/ui/EditDomainsPgTests.java | 34 ++++++++++--- .../java/domiSMPTests/ui/TrustorePgTests.java | 2 +- .../java/domiSMPTests/ui/UsersPgTests.java | 2 +- 18 files changed, 254 insertions(+), 57 deletions(-) create mode 100644 domiSMP-ui-tests/src/main/java/ddsl/CommonPageWithTabs.java rename domiSMP-ui-tests/src/main/java/ddsl/{CommonPageWithGrid.java => CommonPageWithTabsAndGrid.java} (54%) create mode 100644 domiSMP-ui-tests/src/main/java/pages/administration/editGroupsPage/EditGroupsPage.java create mode 100644 domiSMP-ui-tests/src/main/java/pages/administration/editGroupsPage/GroupMembersTab.java create mode 100644 domiSMP-ui-tests/src/main/java/pages/administration/editGroupsPage/ResourceTab.java create mode 100644 domiSMP-ui-tests/src/main/java/rest/models/GroupModel.java diff --git a/domiSMP-ui-tests/src/main/java/ddsl/CommonCertificatePage.java b/domiSMP-ui-tests/src/main/java/ddsl/CommonCertificatePage.java index 933925d0b..fe796bd3e 100644 --- a/domiSMP-ui-tests/src/main/java/ddsl/CommonCertificatePage.java +++ b/domiSMP-ui-tests/src/main/java/ddsl/CommonCertificatePage.java @@ -4,7 +4,7 @@ import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; -public class CommonCertificatePage extends CommonPageWithGrid { +public class CommonCertificatePage extends CommonPageWithTabsAndGrid { /** * Common page used for Keystore and Truststore */ diff --git a/domiSMP-ui-tests/src/main/java/ddsl/CommonPageWithTabs.java b/domiSMP-ui-tests/src/main/java/ddsl/CommonPageWithTabs.java new file mode 100644 index 000000000..72ca6afc3 --- /dev/null +++ b/domiSMP-ui-tests/src/main/java/ddsl/CommonPageWithTabs.java @@ -0,0 +1,35 @@ +package ddsl; + +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; + +public class CommonPageWithTabs extends DomiSMPPage { + private final static Logger LOG = LoggerFactory.getLogger(CommonPageWithTabs.class); + + @FindBy(css = "[role = \"tab\"]") + private List<WebElement> tabList; + + public CommonPageWithTabs(WebDriver driver) { + super(driver); + } + + public void goToTab(String tabName) { + for (WebElement element : tabList) { + if (element.getText().contains(tabName)) { + element.click(); + wait.forAttributeToContain(element, "aria-selected", "true"); + LOG.debug("Domain tab {} is opened", tabName); + } + } + } + + public String getAlertMessageAndClose() { + + return getAlertArea().getAlertMessage(); + } +} diff --git a/domiSMP-ui-tests/src/main/java/ddsl/CommonPageWithGrid.java b/domiSMP-ui-tests/src/main/java/ddsl/CommonPageWithTabsAndGrid.java similarity index 54% rename from domiSMP-ui-tests/src/main/java/ddsl/CommonPageWithGrid.java rename to domiSMP-ui-tests/src/main/java/ddsl/CommonPageWithTabsAndGrid.java index 85e6da14a..89dc47fe6 100644 --- a/domiSMP-ui-tests/src/main/java/ddsl/CommonPageWithGrid.java +++ b/domiSMP-ui-tests/src/main/java/ddsl/CommonPageWithTabsAndGrid.java @@ -9,10 +9,8 @@ import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.List; - -public class CommonPageWithGrid extends DomiSMPPage { - private final static Logger LOG = LoggerFactory.getLogger(CommonPageWithGrid.class); +public class CommonPageWithTabsAndGrid extends CommonPageWithTabs { + private final static Logger LOG = LoggerFactory.getLogger(CommonPageWithTabsAndGrid.class); /** * Generic page used for pages which have small grid in the right of the page. This element gives access to action buttons and elements of the page. @@ -22,38 +20,17 @@ public class CommonPageWithGrid extends DomiSMPPage { public WebElement filterInput; @FindBy(css = "data-panel >div >div> mat-toolbar button:first-of-type") public WebElement addBtn; - @FindBy(css = "[class=smp-column-data]") - public WebElement dataPanel; @FindBy(css = "[class~=smp-column-label]") public WebElement rightPanel; - @FindBy(css = "[role = \"tab\"]") - private List<WebElement> tabList; - public CommonPageWithGrid(WebDriver driver) { + public CommonPageWithTabsAndGrid(WebDriver driver) { super(driver); PageFactory.initElements(new AjaxElementLocatorFactory(driver, data.getTIMEOUT()), this); } - public SmallGrid getGrid() { + public SmallGrid getLeftSideGrid() { return new SmallGrid(driver, rightPanel); } - public SmallGrid getDataPanelGrid() { - return new SmallGrid(driver, rightPanel); - } - public void goToTab(String tabName) { - for (WebElement element : tabList) { - if (element.getText().contains(tabName)) { - element.click(); - wait.forAttributeToContain(element, "aria-selected", "true"); - LOG.debug("Domain tab {} is opened", tabName); - } - } - } - - public String getAlertMessageAndClose() { - - return getAlertArea().getAlertMessage(); - } } diff --git a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/SideNavigationComponent.java b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/SideNavigationComponent.java index c4af21825..b382c9709 100644 --- a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/SideNavigationComponent.java +++ b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/SideNavigationComponent.java @@ -11,6 +11,7 @@ import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import pages.administration.editDomainsPage.EditDomainsPage; +import pages.administration.editGroupsPage.EditGroupsPage; import pages.systemSettings.TruststorePage; import pages.systemSettings.UsersPage; import pages.systemSettings.domainsPage.DomainsPage; @@ -113,10 +114,12 @@ public class SideNavigationComponent extends DomiSMPPage { openSubmenu(administrationExpand, editDomainsLnk); return (T) new EditDomainsPage(driver); } + if (page == Pages.ADMINISTRATION_EDIT_GROUPS) { + openSubmenu(administrationExpand, editGroupsLnk); + return (T) new EditGroupsPage(driver); + } + - // case ADMINISTRATION_EDIT_GROUPS: - // expandSection(administrationExpand); - // return new DLink(driver, editGroupsLnk); // case ADMINISTRATION_EDIT_RESOURCES: // expandSection(administrationExpand); // return new DLink(driver, editResourcesLnk); diff --git a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/subcategoryTab/SubcategoryTabComponent.java b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/subcategoryTab/SubcategoryTabComponent.java index c6b23c347..0080f3187 100644 --- a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/subcategoryTab/SubcategoryTabComponent.java +++ b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/subcategoryTab/SubcategoryTabComponent.java @@ -20,15 +20,15 @@ public class SubcategoryTabComponent extends DComponent { private WebElement resourceMembersBtn; @FindBy(id = "deleteButton") private WebElement deleteBtn; - @FindBy(css = "div smp-column-data") - private WebElement sidePanel; + @FindBy(css = "[class=smp-column-data]") + private WebElement rightSidePanel; public SubcategoryTabComponent(WebDriver driver) { super(driver); } public SmallGrid getGrid() { - return new SmallGrid(driver, sidePanel); + return new SmallGrid(driver, rightSidePanel); } public DComponent create() throws Exception { diff --git a/domiSMP-ui-tests/src/main/java/pages/administration/editDomainsPage/CreateGroupDetailsDialog.java b/domiSMP-ui-tests/src/main/java/pages/administration/editDomainsPage/CreateGroupDetailsDialog.java index 210a94000..dbd956cf4 100644 --- a/domiSMP-ui-tests/src/main/java/pages/administration/editDomainsPage/CreateGroupDetailsDialog.java +++ b/domiSMP-ui-tests/src/main/java/pages/administration/editDomainsPage/CreateGroupDetailsDialog.java @@ -2,9 +2,40 @@ package pages.administration.editDomainsPage; import ddsl.dcomponents.DComponent; 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 rest.models.GroupModel; public class CreateGroupDetailsDialog extends DComponent { + @FindBy(id = "name_id") + private WebElement groupNameLbl; + @FindBy(id = "description_id") + private WebElement groupDescriptionLbl; + @FindBy(id = "group_id") + private WebElement groupVisibilityDdl; + @FindBy(id = "saveButton") + private WebElement saveBtn; public CreateGroupDetailsDialog(WebDriver driver) { super(driver); + PageFactory.initElements(new AjaxElementLocatorFactory(driver, data.getTIMEOUT()), this); + + } + + public void fillGroupDetails(GroupModel group) { + groupNameLbl.sendKeys(group.getGroupName()); + groupDescriptionLbl.sendKeys(group.getGroupDescription()); + weToDSelect(groupVisibilityDdl).selectValue(group.getVisibility()); + } + + public Boolean tryClickOnSave() throws Exception { + wait.forElementToBeClickable(saveBtn); + if (weToDButton(saveBtn).isEnabled()) { + weToDButton(saveBtn).click(); + return true; + } else { + return false; + } } } diff --git a/domiSMP-ui-tests/src/main/java/pages/administration/editDomainsPage/EditDomainsPage.java b/domiSMP-ui-tests/src/main/java/pages/administration/editDomainsPage/EditDomainsPage.java index b91b7f265..0b637b123 100644 --- a/domiSMP-ui-tests/src/main/java/pages/administration/editDomainsPage/EditDomainsPage.java +++ b/domiSMP-ui-tests/src/main/java/pages/administration/editDomainsPage/EditDomainsPage.java @@ -1,11 +1,11 @@ package pages.administration.editDomainsPage; -import ddsl.CommonPageWithGrid; +import ddsl.CommonPageWithTabsAndGrid; import org.openqa.selenium.WebDriver; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class EditDomainsPage extends CommonPageWithGrid { +public class EditDomainsPage extends CommonPageWithTabsAndGrid { /** * Page object for the Edit domains page. This contains the locators of the page and the methods for the behaviour of the page */ @@ -21,4 +21,10 @@ public class EditDomainsPage extends CommonPageWithGrid { return new DomainMembersTab(driver); } + + public GroupTab getGroupTab() { + + return new GroupTab(driver); + } + } diff --git a/domiSMP-ui-tests/src/main/java/pages/administration/editDomainsPage/GroupTab.java b/domiSMP-ui-tests/src/main/java/pages/administration/editDomainsPage/GroupTab.java index 7af831e34..f5a48a8d0 100644 --- a/domiSMP-ui-tests/src/main/java/pages/administration/editDomainsPage/GroupTab.java +++ b/domiSMP-ui-tests/src/main/java/pages/administration/editDomainsPage/GroupTab.java @@ -2,14 +2,18 @@ package pages.administration.editDomainsPage; import ddsl.dcomponents.commonComponents.subcategoryTab.SubcategoryTabComponent; import org.openqa.selenium.WebDriver; +import org.openqa.selenium.support.PageFactory; +import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory; public class GroupTab extends SubcategoryTabComponent { public GroupTab(WebDriver driver) { super(driver); + PageFactory.initElements(new AjaxElementLocatorFactory(driver, data.getTIMEOUT()), this); + } - @Override - public CreateGroupDetailsDialog create() { + public CreateGroupDetailsDialog clickOnCreateNewGroup() throws Exception { + create(); return new CreateGroupDetailsDialog(driver); } } diff --git a/domiSMP-ui-tests/src/main/java/pages/administration/editGroupsPage/EditGroupsPage.java b/domiSMP-ui-tests/src/main/java/pages/administration/editGroupsPage/EditGroupsPage.java new file mode 100644 index 000000000..065874f84 --- /dev/null +++ b/domiSMP-ui-tests/src/main/java/pages/administration/editGroupsPage/EditGroupsPage.java @@ -0,0 +1,34 @@ +package pages.administration.editGroupsPage; + +import ddsl.CommonPageWithTabs; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class EditGroupsPage extends CommonPageWithTabs { + /** + * Page object for the Edit groups page. This contains the locators of the page and the methods for the behaviour of the page + */ + private final static Logger LOG = LoggerFactory.getLogger(EditGroupsPage.class); + + @FindBy(id = "domain_id") + private WebElement domainDdl; + @FindBy(id = "group_id") + private WebElement groupDdl; + + public EditGroupsPage(WebDriver driver) { + super(driver); + LOG.debug("Loading Edit groups page."); + } + + public GroupMembersTab getDomainMembersTab() { + return new GroupMembersTab(driver); + } + + public ResourceTab getGroupTab() { + return new ResourceTab(driver); + } + +} diff --git a/domiSMP-ui-tests/src/main/java/pages/administration/editGroupsPage/GroupMembersTab.java b/domiSMP-ui-tests/src/main/java/pages/administration/editGroupsPage/GroupMembersTab.java new file mode 100644 index 000000000..90a8177dc --- /dev/null +++ b/domiSMP-ui-tests/src/main/java/pages/administration/editGroupsPage/GroupMembersTab.java @@ -0,0 +1,15 @@ +package pages.administration.editGroupsPage; + +import ddsl.dcomponents.commonComponents.members.MembersComponent; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.support.PageFactory; +import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory; + +public class GroupMembersTab extends MembersComponent { + + public GroupMembersTab(WebDriver driver) { + super(driver); + PageFactory.initElements(new AjaxElementLocatorFactory(driver, data.getTIMEOUT()), this); + } +} + diff --git a/domiSMP-ui-tests/src/main/java/pages/administration/editGroupsPage/ResourceTab.java b/domiSMP-ui-tests/src/main/java/pages/administration/editGroupsPage/ResourceTab.java new file mode 100644 index 000000000..f3d1fe86a --- /dev/null +++ b/domiSMP-ui-tests/src/main/java/pages/administration/editGroupsPage/ResourceTab.java @@ -0,0 +1,20 @@ +package pages.administration.editGroupsPage; + +import ddsl.dcomponents.commonComponents.subcategoryTab.SubcategoryTabComponent; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.support.PageFactory; +import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory; +import pages.administration.editDomainsPage.CreateGroupDetailsDialog; + +public class ResourceTab extends SubcategoryTabComponent { + public ResourceTab(WebDriver driver) { + super(driver); + PageFactory.initElements(new AjaxElementLocatorFactory(driver, data.getTIMEOUT()), this); + + } + + public CreateGroupDetailsDialog clickOnCreateNewResource() throws Exception { + create(); + return new CreateGroupDetailsDialog(driver); + } +} diff --git a/domiSMP-ui-tests/src/main/java/pages/systemSettings/UsersPage.java b/domiSMP-ui-tests/src/main/java/pages/systemSettings/UsersPage.java index 44cdb562f..9a931a152 100644 --- a/domiSMP-ui-tests/src/main/java/pages/systemSettings/UsersPage.java +++ b/domiSMP-ui-tests/src/main/java/pages/systemSettings/UsersPage.java @@ -1,6 +1,6 @@ package pages.systemSettings; -import ddsl.CommonPageWithGrid; +import ddsl.CommonPageWithTabsAndGrid; import ddsl.dcomponents.commonComponents.UserDataCommonComponent; import ddsl.dobjects.DButton; import org.openqa.selenium.WebDriver; @@ -10,7 +10,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import rest.models.UserModel; -public class UsersPage extends CommonPageWithGrid { +public class UsersPage extends CommonPageWithTabsAndGrid { /** * Page object for the Users page. This contains the locators of the page and the methods for the behaviour of the page */ diff --git a/domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/DomainsPage.java b/domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/DomainsPage.java index 9376628de..7d1657e5b 100644 --- a/domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/DomainsPage.java +++ b/domiSMP-ui-tests/src/main/java/pages/systemSettings/domainsPage/DomainsPage.java @@ -1,6 +1,6 @@ package pages.systemSettings.domainsPage; -import ddsl.CommonPageWithGrid; +import ddsl.CommonPageWithTabsAndGrid; import ddsl.dobjects.DButton; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; @@ -8,7 +8,7 @@ import org.openqa.selenium.support.FindBy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class DomainsPage extends CommonPageWithGrid { +public class DomainsPage extends CommonPageWithTabsAndGrid { /** * Page object for the Users page. This contains the locators of the page and the methods for the behaviour of the page */ diff --git a/domiSMP-ui-tests/src/main/java/rest/models/GroupModel.java b/domiSMP-ui-tests/src/main/java/rest/models/GroupModel.java new file mode 100644 index 000000000..cf5e6a666 --- /dev/null +++ b/domiSMP-ui-tests/src/main/java/rest/models/GroupModel.java @@ -0,0 +1,50 @@ +package rest.models; + + +import utils.Generator; + +public class GroupModel { + private String groupName; + private String visibility; + private String groupDescription; + + public static GroupModel generatePublicDomain() { + GroupModel groupModel = new GroupModel(); + groupModel.groupName = ("AUT_groupName_" + Generator.randomAlphaNumeric(4)).toLowerCase(); + groupModel.groupDescription = Generator.randomAlphaNumeric(10).toLowerCase(); + groupModel.visibility = "PUBLIC"; + return groupModel; + } + + public static GroupModel generatePrivateDomain() { + GroupModel groupModel = new GroupModel(); + groupModel.groupName = ("AUT_groupName_" + Generator.randomAlphaNumeric(4)).toLowerCase(); + groupModel.groupDescription = Generator.randomAlphaNumeric(10).toLowerCase(); + groupModel.visibility = "PRIVATE"; + return groupModel; + } + + public String getGroupName() { + return groupName; + } + + public void setGroupName(String groupName) { + this.groupName = groupName; + } + + public String getVisibility() { + return visibility; + } + + public void setVisibility(String visibility) { + this.visibility = visibility; + } + + public String getGroupDescription() { + return groupDescription; + } + + public void setGroupDescription(String groupDescription) { + this.groupDescription = groupDescription; + } +} diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/DomainsPgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/DomainsPgTests.java index c72fd95c1..cbfd7c534 100644 --- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/DomainsPgTests.java +++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/DomainsPgTests.java @@ -44,7 +44,7 @@ public class DomainsPgTests extends SeleniumTest { String alert = domainsPage.getAlertMessageAndClose(); soft.assertEquals(alert, "Domain: [" + domainModel.getDomainCode() + "] was created!"); - domainsPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); + domainsPage.getLeftSideGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); soft.assertEquals(domainModel.getSignatureKeyAlias(), domainsPage.getDomainTab().getResponseSignatureCertificateSelectedValue()); soft.assertEquals(domainModel.getVisibility(), domainsPage.getDomainTab().getVisibilityOfDomainSelectedValue()); soft.assertEquals("To complete domain configuration, please select at least one resource type from the Resource Types tab", domainsPage.getDomainWarningMessage()); @@ -62,7 +62,7 @@ public class DomainsPgTests extends SeleniumTest { String alert = domainsPage.getAlertMessageAndClose(); soft.assertEquals(alert, "Domain: [" + domainModel.getDomainCode() + "] was created!"); - domainsPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); + domainsPage.getLeftSideGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); domainsPage.goToTab("SML integration"); domainsPage.getSMLIntegrationTab().fillSMLIntegrationTab(domainModel); domainsPage.getSMLIntegrationTab().saveChanges(); @@ -104,14 +104,14 @@ public class DomainsPgTests extends SeleniumTest { homePage.goToLoginPage(); loginPage.login(normalUser.getUsername(), data.getNewPassword()); EditDomainsPage editDomainsPage = homePage.getSidebar().navigateTo(Pages.ADMINISTRATION_EDIT_DOMAINS); - WebElement domainElement = editDomainsPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()); + WebElement domainElement = editDomainsPage.getLeftSideGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()); soft.assertNull(domainElement, "Domain found for user which doesn't have rights"); homePage.logout(); loginPage = homePage.goToLoginPage(); loginPage.login(data.getAdminUser().get("username"), data.getAdminUser().get("password")); domainsPage = homePage.getSidebar().navigateTo(Pages.SYSTEM_SETTINGS_DOMAINS); - domainsPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); + domainsPage.getLeftSideGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); domainsPage.goToTab("Members"); domainsPage.getMembersTab().changeRoleOfUser(normalUser.getUsername(), "ADMIN"); @@ -120,7 +120,7 @@ public class DomainsPgTests extends SeleniumTest { homePage.goToLoginPage(); loginPage.login(normalUser.getUsername(), data.getNewPassword()); editDomainsPage = homePage.getSidebar().navigateTo(Pages.ADMINISTRATION_EDIT_DOMAINS); - domainElement = editDomainsPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()); + domainElement = editDomainsPage.getLeftSideGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()); soft.assertNotNull(domainElement, "Domain found for user which doesn't have rights"); @@ -129,7 +129,7 @@ public class DomainsPgTests extends SeleniumTest { homePage.goToLoginPage(); loginPage.login(data.getAdminUser().get("username"), data.getAdminUser().get("password")); domainsPage = homePage.getSidebar().navigateTo(Pages.SYSTEM_SETTINGS_DOMAINS); - domainsPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); + domainsPage.getLeftSideGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); domainsPage.goToTab("Members"); domainsPage.getMembersTab().removeUser(normalUser.getUsername()); userMemberElement = domainsPage.getMembersTab().getMembersGrid().searchAndGetElementInColumn("Username", normalUser.getUsername()); @@ -139,7 +139,7 @@ public class DomainsPgTests extends SeleniumTest { homePage.goToLoginPage(); loginPage.login(normalUser.getUsername(), data.getNewPassword()); editDomainsPage = homePage.getSidebar().navigateTo(Pages.ADMINISTRATION_EDIT_DOMAINS); - domainElement = editDomainsPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()); + domainElement = editDomainsPage.getLeftSideGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()); soft.assertNull(domainElement, "Domain found for user which doesn't have rights"); soft.assertAll(); diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditDomainsPgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditDomainsPgTests.java index a11f76ee3..4f001274d 100644 --- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditDomainsPgTests.java +++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditDomainsPgTests.java @@ -9,8 +9,11 @@ import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import org.testng.asserts.SoftAssert; import pages.LoginPage; +import pages.administration.editDomainsPage.CreateGroupDetailsDialog; import pages.administration.editDomainsPage.EditDomainsPage; +import pages.administration.editGroupsPage.EditGroupsPage; import rest.models.DomainModel; +import rest.models.GroupModel; import rest.models.MemberModel; import rest.models.UserModel; @@ -51,7 +54,7 @@ public class EditDomainsPgTests extends SeleniumTest { rest.users().createUser(memberUser); //Invite user as VIEW and check if he has admin rights for domain - editDomainPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); + editDomainPage.getLeftSideGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); editDomainPage.getDomainMembersTab().getInviteMemberBtn().click(); editDomainPage.getDomainMembersTab().getInviteMembersPopup().selectMember(memberUser.getUsername(), "VIEWER"); WebElement userMemberElement = editDomainPage.getDomainMembersTab().getMembersGrid().searchAndGetElementInColumn("Username", memberUser.getUsername()); @@ -62,14 +65,14 @@ public class EditDomainsPgTests extends SeleniumTest { homePage.goToLoginPage(); loginPage.login(memberUser.getUsername(), data.getNewPassword()); EditDomainsPage editDomainsPage = homePage.getSidebar().navigateTo(Pages.ADMINISTRATION_EDIT_DOMAINS); - WebElement domainElement = editDomainsPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()); + WebElement domainElement = editDomainsPage.getLeftSideGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()); soft.assertNull(domainElement, "Domain found for user which doesn't have rights"); homePage.logout(); loginPage = homePage.goToLoginPage(); loginPage.login(adminUser.getUsername(), data.getNewPassword()); editDomainPage = homePage.getSidebar().navigateTo(Pages.ADMINISTRATION_EDIT_DOMAINS); - editDomainPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); + editDomainPage.getLeftSideGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); editDomainPage.getDomainMembersTab().changeRoleOfUser(memberUser.getUsername(), "ADMIN"); //check if user has admin rights to domain as Admin @@ -77,7 +80,7 @@ public class EditDomainsPgTests extends SeleniumTest { homePage.goToLoginPage(); loginPage.login(memberUser.getUsername(), data.getNewPassword()); editDomainsPage = homePage.getSidebar().navigateTo(Pages.ADMINISTRATION_EDIT_DOMAINS); - domainElement = editDomainsPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()); + domainElement = editDomainsPage.getLeftSideGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()); soft.assertNotNull(domainElement, "Domain found for user which doesn't have rights"); @@ -86,7 +89,7 @@ public class EditDomainsPgTests extends SeleniumTest { homePage.goToLoginPage(); loginPage.login(adminUser.getUsername(), data.getNewPassword()); editDomainPage = homePage.getSidebar().navigateTo(Pages.ADMINISTRATION_EDIT_DOMAINS); - editDomainPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); + editDomainPage.getLeftSideGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); editDomainPage.getDomainMembersTab().removeUser(memberUser.getUsername()); userMemberElement = editDomainPage.getDomainMembersTab().getMembersGrid().searchAndGetElementInColumn("Username", memberUser.getUsername()); soft.assertNull(userMemberElement, "Domain found for user which doesn't have rights"); @@ -95,9 +98,28 @@ public class EditDomainsPgTests extends SeleniumTest { homePage.goToLoginPage(); loginPage.login(memberUser.getUsername(), data.getNewPassword()); editDomainsPage = homePage.getSidebar().navigateTo(Pages.ADMINISTRATION_EDIT_DOMAINS); - domainElement = editDomainsPage.getDataPanelGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()); + domainElement = editDomainsPage.getLeftSideGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()); soft.assertNull(domainElement, "Domain found for user which doesn't have rights"); + soft.assertAll(); + + } + + @Test(description = "EDTDOM-02 Domain admins are able to create new groups") + public void DomainAdminsAreAbleToCreate() throws Exception { + GroupModel groupToBeCreated = GroupModel.generatePublicDomain(); + editDomainPage.getLeftSideGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click(); + + editDomainPage.goToTab("Group"); + + CreateGroupDetailsDialog createGroupDetailsDialog = editDomainPage.getGroupTab().clickOnCreateNewGroup(); + createGroupDetailsDialog.fillGroupDetails(groupToBeCreated); + Boolean isSaveSuccesfully = createGroupDetailsDialog.tryClickOnSave(); + soft.assertTrue(isSaveSuccesfully); + + WebElement createGroup = editDomainPage.getGroupTab().getGrid().searchAndGetElementInColumn("Group name", groupToBeCreated.getGroupName()); + soft.assertNotNull(createGroup); + EditGroupsPage editgroupPage = homePage.getSidebar().navigateTo(Pages.ADMINISTRATION_EDIT_GROUPS); soft.assertAll(); } diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/TrustorePgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/TrustorePgTests.java index 29b74ad98..b1ea514be 100644 --- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/TrustorePgTests.java +++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/TrustorePgTests.java @@ -55,7 +55,7 @@ public class TrustorePgTests extends SeleniumTest { String duplicatedCertificateALias = truststorepage.addCertificateAndReturnAlias(path); WebElement certificate = truststorepage.getCertificateGrid().searchAndGetElementInColumn("Alias", certificateALias); soft.assertNotNull(certificate); - truststorepage.getDataPanelGrid().searchAndGetElementInColumn("Alias", duplicatedCertificateALias); + truststorepage.getLeftSideGrid().searchAndGetElementInColumn("Alias", duplicatedCertificateALias); soft.assertNotNull(duplicatedCertificateALias); soft.assertEquals(truststorepage.getPublicKeyTypeLbl(), "RSA"); diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/UsersPgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/UsersPgTests.java index 1ff5d0ecf..d955fd4a8 100644 --- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/UsersPgTests.java +++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/UsersPgTests.java @@ -34,7 +34,7 @@ public class UsersPgTests extends SeleniumTest { usersPage.refreshPage(); // usersPage.filter(adminNewUserData.getUsername()); - WebElement newUser = usersPage.getDataPanelGrid().searchAndGetElementInColumn("Username", adminNewUserData.getUsername()); + WebElement newUser = usersPage.getLeftSideGrid().searchAndGetElementInColumn("Username", adminNewUserData.getUsername()); soft.assertNotNull(newUser); newUser.click(); -- GitLab