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

View file

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