diff --git a/.changeset/eleven-avocados-draw.md b/.changeset/eleven-avocados-draw.md new file mode 100644 index 00000000000..6bddc40a66c --- /dev/null +++ b/.changeset/eleven-avocados-draw.md @@ -0,0 +1,5 @@ +--- +"saleor-dashboard": patch +--- + +Moving test cases for activation and deactivation staff members to other file and running it in serial mode to avoid login in two tests in the same time (it can cause error with code LOGIN_ATTEMPT_DELAYED) diff --git a/playwright/tests/staffMemberActivation.spec.ts b/playwright/tests/staffMemberActivation.spec.ts new file mode 100644 index 00000000000..724c5416230 --- /dev/null +++ b/playwright/tests/staffMemberActivation.spec.ts @@ -0,0 +1,52 @@ +import { BasicApiService } from "@api/basics"; +import { USERS } from "@data/e2eTestData"; +import { ConfigurationPage } from "@pages/configurationPage"; +import { PermissionGroupsPage } from "@pages/permissionGroupsPage"; +import { StaffMembersPage } from "@pages/staffMembersPage"; +import { expect } from "@playwright/test"; +import { test } from "utils/testWithPermission"; + +test.use({ permissionName: "admin" }); + +test.describe.configure({ mode: "serial" }); + +let staffMembersPage: StaffMembersPage; +let config: ConfigurationPage; +let permissionGroupsPage: PermissionGroupsPage; +let basicApiService: BasicApiService; + +test.beforeEach(async ({ page, request }) => { + staffMembersPage = new StaffMembersPage(page, request); + config = new ConfigurationPage(page); + permissionGroupsPage = new PermissionGroupsPage(page); + basicApiService = new BasicApiService(request); +}); +test("TC: SALEOR_137 Admin User should be able to deactivate other user @e2e @staff-members", async () => { + await staffMembersPage.goToStaffDetailsPage(USERS.userToBeDeactivated.id); + await staffMembersPage.clickIsActiveCheckbox(); + await staffMembersPage.clickSaveButton(); + await staffMembersPage.basePage.expectSuccessBanner(); + expect(await staffMembersPage.isActiveCheckbox.isChecked()).toEqual(false); + + const loginViaApiDeactivatedUserResponse = await basicApiService.logInUserViaApi({ + email: USERS.userToBeDeactivated.email, + password: process.env.E2E_PERMISSIONS_USERS_PASSWORD!, + }); + + expect(loginViaApiDeactivatedUserResponse.data.tokenCreate.errors[0].code).toEqual("INACTIVE"); +}); +test("TC: SALEOR_38 Admin User should be able to activate other user @e2e @staff-members", async () => { + await staffMembersPage.goToStaffDetailsPage(USERS.userToBeActivated.id); + await staffMembersPage.clickIsActiveCheckbox(); + await staffMembersPage.clickSaveButton(); + await staffMembersPage.basePage.expectSuccessBanner(); + expect(await staffMembersPage.isActiveCheckbox.isChecked()).toEqual(true); + + const loginViaApiDeactivatedUserResponse = await basicApiService.logInUserViaApi({ + email: USERS.userToBeActivated.email, + password: process.env.E2E_PERMISSIONS_USERS_PASSWORD!, + }); + + expect(loginViaApiDeactivatedUserResponse.data.tokenCreate.errors).toEqual([]); + expect(loginViaApiDeactivatedUserResponse.data.tokenCreate.token).not.toEqual(null); +}); diff --git a/playwright/tests/staffMembers.spec.ts b/playwright/tests/staffMembers.spec.ts index d8dab6a7532..0f0c9882530 100644 --- a/playwright/tests/staffMembers.spec.ts +++ b/playwright/tests/staffMembers.spec.ts @@ -20,37 +20,7 @@ test.beforeEach(async ({ page, request }) => { permissionGroupsPage = new PermissionGroupsPage(page); basicApiService = new BasicApiService(request); }); -test("TC: SALEOR_137 Admin User should be able to deactivate other user @e2e @staff-members", async () => { - await staffMembersPage.goToStaffDetailsPage(USERS.userToBeDeactivated.id); - await staffMembersPage.clickIsActiveCheckbox(); - await staffMembersPage.clickSaveButton(); - await staffMembersPage.basePage.expectSuccessBanner(); - await expect(await staffMembersPage.isActiveCheckbox.isChecked()).toEqual(false); - - const loginViaApiDeactivatedUserResponse = await basicApiService.logInUserViaApi({ - email: USERS.userToBeDeactivated.email, - password: process.env.E2E_PERMISSIONS_USERS_PASSWORD!, - }); - - await expect(loginViaApiDeactivatedUserResponse.data.tokenCreate.errors[0].code).toEqual( - "INACTIVE", - ); -}); -test("TC: SALEOR_38 Admin User should be able to activate other user @e2e @staff-members", async () => { - await staffMembersPage.goToStaffDetailsPage(USERS.userToBeActivated.id); - await staffMembersPage.clickIsActiveCheckbox(); - await staffMembersPage.clickSaveButton(); - await staffMembersPage.basePage.expectSuccessBanner(); - await expect(await staffMembersPage.isActiveCheckbox.isChecked()).toEqual(true); - const loginViaApiDeactivatedUserResponse = await basicApiService.logInUserViaApi({ - email: USERS.userToBeActivated.email, - password: process.env.E2E_PERMISSIONS_USERS_PASSWORD!, - }); - - await expect(loginViaApiDeactivatedUserResponse.data.tokenCreate.errors).toEqual([]); - await expect(loginViaApiDeactivatedUserResponse.data.tokenCreate.token).not.toEqual(null); -}); test("TC: SALEOR_211 Create a staff member @e2e @staff-members", async () => { const name = faker.name.firstName(); const lastName = faker.name.lastName();