fix for addUserToPermissionGroup and refactor of permissions tests (#2555)

This commit is contained in:
Ewa Czerniak 2022-11-15 10:55:31 +01:00 committed by GitHub
parent 1c70ad3a4b
commit 8d4cacc68c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 52 additions and 43 deletions

View file

@ -22,6 +22,7 @@ import { deletePermissionGroupsStartsWith } from "../../support/api/utils/permis
describe("Permissions groups", () => {
const startsWith = "CyPermissions-";
const permissionManageProducts = "[MANAGE_PRODUCTS]";
before(() => {
cy.clearSessionData().loginUserViaRequest();
@ -44,11 +45,11 @@ describe("Permissions groups", () => {
.get(PERMISSION_GROUP_DETAILS.nameInput)
.type(permissionName)
.get(PERMISSION_GROUP_DETAILS.productsPermissionCheckbox)
.click()
.check()
.get(
PERMISSION_GROUP_DETAILS.productsTypesAndAttributesPermissionCheckbox,
)
.click()
.check()
.get(BUTTON_SELECTORS.confirm)
.click()
.get(PERMISSION_GROUP_DETAILS.assignMemberButton)
@ -65,18 +66,20 @@ describe("Permissions groups", () => {
it(
"should delete permission group. TC: SALEOR_1402",
{ tags: ["@permissions", "@allEnv"] },
{ tags: ["@permissions", "@allEnv", "@stable"] },
() => {
const permissionName = `${startsWith}${faker.datatype.number()}`;
let staffMember;
getStaffMembersStartsWith(TEST_ADMIN_USER.email)
.its("body.data.staffUsers.edges")
.then(staffMemberResp => {
staffMember = staffMemberResp[0].node;
createPermissionGroup({
name: permissionName,
userIdsArray: `["${staffMember.id}"]`,
permissionsArray: "[MANAGE_PRODUCTS]",
permissionsArray: permissionManageProducts,
});
cy.visit(urlList.permissionsGroups);
cy.contains(PERMISSION_GROUP_LIST.permissionGroupRow, permissionName)
@ -87,23 +90,25 @@ describe("Permissions groups", () => {
.click();
cy.contains(PERMISSION_GROUP_LIST.permissionGroupRow, permissionName)
.should("not.exist")
.visit(staffMemberDetailsUrl(staffMember.id));
cy.get(SHARED_ELEMENTS.header).should("be.visible");
cy.contains(permissionName).should("not.exist");
.visit(staffMemberDetailsUrl(staffMember.id))
.get(SHARED_ELEMENTS.header)
.should("be.visible")
.contains(permissionName)
.should("not.exist");
});
},
);
xit(
it(
"should add user to permission group. TC: SALEOR_1403",
{ tags: ["@permissions", "@allEnv"] },
{ tags: ["@permissions", "@allEnv", "@stable"] },
() => {
const permissionName = `${startsWith}${faker.datatype.number()}`;
createPermissionGroup({
name: permissionName,
permissionsArray: "[MANAGE_PRODUCTS]",
})
.then(({ group }) => {
permissionsArray: permissionManageProducts,
}).then(({ group }) => {
cy.visit(permissionGroupDetails(group.id))
.get(PERMISSION_GROUP_DETAILS.assignMemberButton)
.click()
@ -115,18 +120,18 @@ describe("Permissions groups", () => {
)
.should("have.length", 1)
.find(BUTTON_SELECTORS.checkbox)
.click()
.check()
.get(BUTTON_SELECTORS.submit)
.click()
.addAliasToGraphRequest("PermissionGroupUpdate")
.get(BUTTON_SELECTORS.confirm)
.click()
.waitForRequestAndCheckIfNoErrors("@PermissionGroupUpdate");
getPermissionGroup(group.id);
})
.then(resp => {
expect(resp.users).to.have.length(1);
expect(resp.users[0].email).to.be.eq(TEST_ADMIN_USER.email);
getPermissionGroup(group.id)
.its("users")
.should("have.length", 1)
.its("0.email")
.should("eq", TEST_ADMIN_USER.email);
});
},
);
@ -137,14 +142,16 @@ describe("Permissions groups", () => {
() => {
const permissionName = `${startsWith}${faker.datatype.number()}`;
let staffMember;
getStaffMembersStartsWith(TEST_ADMIN_USER.email)
.its("body.data.staffUsers.edges")
.then(staffMemberResp => {
staffMember = staffMemberResp[0].node;
createPermissionGroup({
name: permissionName,
userIdsArray: `["${staffMember.id}"]`,
permissionsArray: "[MANAGE_PRODUCTS]",
permissionsArray: permissionManageProducts,
});
})
.then(({ group }) => {
@ -157,9 +164,11 @@ describe("Permissions groups", () => {
.get(BUTTON_SELECTORS.confirm)
.click()
.waitForRequestAndCheckIfNoErrors("@PermissionGroupUpdate");
cy.visit(staffMemberDetailsUrl(staffMember.id));
cy.get(SHARED_ELEMENTS.header).should("be.visible");
cy.contains(permissionName).should("not.exist");
cy.visit(staffMemberDetailsUrl(staffMember.id))
.get(SHARED_ELEMENTS.header)
.should("be.visible")
.contains(permissionName)
.should("not.exist");
});
},
);

View file

@ -1,10 +1,10 @@
export const PERMISSION_GROUP_DETAILS = {
nameInput: '[name="name"]',
productsPermissionCheckbox: '[id="MANAGE_PRODUCTS"]',
productsPermissionCheckbox: '[name="MANAGE_PRODUCTS"]',
productsTypesAndAttributesPermissionCheckbox:
'[id="MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES"]',
'[name="MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES"]',
assignMemberButton: '[data-test-id="assign-members"]',
searchField: '[name="query"]',
removeUserButton: '[data-test-id="remove-user"]',
userRow: '[data-test-id="user-row"]'
userRow: '[data-test-id="user-row"]',
};