Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Select Git revision
  • 89219ea7315a5984286b7da90d9c9026a65bba38
  • development default
  • feature/EDELIVERY-13760-translate-server-side-error-messages
  • release/5.1.x
  • feature/EDELIVERY-15382-rest-api-jwt-authentication-for-dynamic-discovery-client
  • bugfix/EDELIVERY-14172-domismp-accepts-requests-with-wrong-domain-header-value
  • EDELIVERY-15372-upgrade-libraries-and-plugins-and-update-httpclient-to-httpclient5
  • EDELIVERY-15377-migrate-to-angular-20
  • bugfix/EDELIVERY-14196-select-domain-select-resource-dropdown-should-be-order-alphabetically
  • feature/EDELIVERY-12753-sml-integration-migration-to-different-smp
  • feature/EDELIVERY-13757-extend-session-dialog-should-have-an-active-counter
  • EDELIVERY-15144-sql-update
  • bugfix/EDELIVERY-14326-ui-edit-resource-filters
  • feature/EDELIVERY-15144-domismp-system-notification-generalize-time-expiration-alerts
  • bugfix/EDELIVERY-15102-alert-is-not-appearing-when-adding-duplicated-certificate
  • bugfix/EDELIVERY-15203-small-left-grid-shows-no-data-found-for-1-2-seconds-before-loading-the-data
  • EDELIVERY-15219-search-filter-with-understore-char-does-not-work
  • bugfix/EDELIVERY-15226-certificates-error-when-trying-to-delete-certificates
  • bugfix/EDELIVERY-15224-error-when-trying-to-update-info-from-profile-page
  • bugfix/EDELIVERY-15225-emails-are-not-sent-in-domismp
  • feature/EDELIVERY-12746-external-secret-sharing-services-as-vaults
  • 5.1.1
  • 5.1
  • 5.1-TEST
  • 5.1-RC1
  • 5.0.1
  • 5.0
  • 5.0-RC1
  • 4.2
  • 4.2-RC1
  • 4.1.2
  • 4.1.1
  • 4.1.0
  • 4.1.0-RC1
  • 4.0.0
  • 4.0.0-RC1
  • 3.0.2
  • 3.0.1
  • 3.0.0
39 results

EditGroupsPgTests.java

Blame
  • bozmiha's avatar
    Mihai BOZ authored
    added methods to addresources to domain, add members to domain, create groups of domains, add members to groups, created tests for EditGroupsPage
    
    Signed-off-by: default avatarbozmiha <Mihai.BOZ@ext.ec.europa.eu>
    89219ea7
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    EditGroupsPgTests.java 3.74 KiB
    package domiSMPTests.ui;
    
    import ddsl.DomiSMPPage;
    import ddsl.enums.Pages;
    import ddsl.enums.ResourceTypes;
    import domiSMPTests.SeleniumTest;
    import org.testng.annotations.BeforeMethod;
    import org.testng.annotations.Test;
    import org.testng.asserts.SoftAssert;
    import pages.LoginPage;
    import pages.administration.editGroupsPage.EditGroupsPage;
    import rest.models.DomainModel;
    import rest.models.GroupModel;
    import rest.models.MemberModel;
    import rest.models.UserModel;
    
    import java.util.Arrays;
    import java.util.List;
    
    public class EditGroupsPgTests extends SeleniumTest {
        DomiSMPPage homePage;
        LoginPage loginPage;
        EditGroupsPage editGroupPage;
        UserModel adminUser;
        DomainModel domainModel;
        GroupModel groupModel;
        SoftAssert soft;
    
        @BeforeMethod(alwaysRun = true)
        public void beforeTest() throws Exception {
            soft = new SoftAssert();
            domainModel = DomainModel.generatePublicDomainModelWithSML();
            adminUser = UserModel.generateUserWithADMINrole();
            groupModel = GroupModel.generatePublicGroup();
            MemberModel adminMember = new MemberModel() {
            };
            adminMember.setUsername(adminUser.getUsername());
            adminMember.setRoleType("ADMIN");
    
            MemberModel superMember = new MemberModel();
            superMember.setUsername(data.getAdminUsername());
            superMember.setRoleType("ADMIN");
    
            //create user
            rest.users().createUser(adminUser).getString("userId");
    
            //create domain
            domainModel = rest.domains().createDomain(domainModel);
    
            //add users to domain
            rest.domains().addMembersToDomain(domainModel, adminMember);
            rest.domains().addMembersToDomain(domainModel, superMember);
    
            //add resources to domain
            List<ResourceTypes> resourcesToBeAdded = Arrays.asList(ResourceTypes.OASIS1, ResourceTypes.OASIS3, ResourceTypes.OASIS2);
            domainModel = rest.domains().addResourcesToDomain(domainModel, resourcesToBeAdded);
    
            //create group for domain
            groupModel = rest.domains().createGroupForDomain(domainModel, groupModel);
    
            //add users to groups
            rest.groups().addMembersToGroup(domainModel, groupModel, adminMember);
    
    
            homePage = new DomiSMPPage(driver);
            loginPage = homePage.goToLoginPage();
            loginPage.login(adminUser.getUsername(), data.getNewPassword());
            editGroupPage = homePage.getSidebar().navigateTo(Pages.ADMINISTRATION_EDIT_GROUPS);
        }
    
        @Test(description = "EDTGRP-01 Group admins are able to invite/edit/remove group members", priority = 2)
        public void domainAdminsAreAbleToInviteEditRemoveMembers(){
    
            UserModel domainMember = UserModel.generateUserWithUSERrole();
            rest.users().createUser(domainMember);
    
            editGroupPage.selectDomain(domainModel, groupModel);
            //Add user
            editGroupPage.getGroupMembersTab().getInviteMemberBtn().click();
            editGroupPage.getGroupMembersTab().getInviteMembersPopup().selectMember(domainMember.getUsername(), "VIEWER");
            soft.assertTrue(editGroupPage.getGroupMembersTab().getMembersGrid().isValuePresentInColumn("Username", domainMember.getUsername()));
    
            //Change role of user
            editGroupPage.getGroupMembersTab().changeRoleOfUser(domainMember.getUsername(), "ADMIN");
            String currentRoleTypeOfuser = editGroupPage.getGroupMembersTab().getMembersGrid().getColumnValueForSpecificRow("Username", domainMember.getUsername(), "Role type");
            soft.assertEquals(currentRoleTypeOfuser, "ADMIN");
    
            //Remove user
            editGroupPage.getGroupMembersTab().removeUser(domainMember.getUsername());
            soft.assertFalse(editGroupPage.getGroupMembersTab().getMembersGrid().isValuePresentInColumn("Username", domainMember.getUsername()));
    
            soft.assertAll();
        }
    }