From 36efa1be1191cbb20d45941f7b7804ca4841caae Mon Sep 17 00:00:00 2001 From: Ajith KV Date: Mon, 7 Aug 2023 17:26:43 +0530 Subject: [PATCH] Modify cypress test cases for new UI changes (#7214) --- .../e2e/workspace/bulkUserUpload.cy.js | 3 +- .../cypress/e2e/workspace/profile.cy.js | 16 +++++----- cypress-tests/cypress/support/commands.js | 2 +- cypress-tests/cypress/support/utils/common.js | 31 ++++++++++++------- .../cypress/support/utils/manageGroups.js | 31 +++++++++++++++++-- .../cypress/support/utils/userPermissions.js | 1 + 6 files changed, 60 insertions(+), 24 deletions(-) diff --git a/cypress-tests/cypress/e2e/workspace/bulkUserUpload.cy.js b/cypress-tests/cypress/e2e/workspace/bulkUserUpload.cy.js index b77d794ab2..82e018d08b 100644 --- a/cypress-tests/cypress/e2e/workspace/bulkUserUpload.cy.js +++ b/cypress-tests/cypress/e2e/workspace/bulkUserUpload.cy.js @@ -137,10 +137,11 @@ describe("Bulk user upload", () => { force: true, }); cy.get(usersSelector.buttonUploadUsers).click(); + cy.wait(1000); cy.get(".go2072408551") .should("be.visible") .and("have.text", "250 users are being added"); - cy.wait(500); + cy.wait(1000); common.searchUser("test12@gmail.com"); cy.contains("td", "test12@gmail.com") .parent() diff --git a/cypress-tests/cypress/e2e/workspace/profile.cy.js b/cypress-tests/cypress/e2e/workspace/profile.cy.js index 392dc8c2d9..3f9941298b 100644 --- a/cypress-tests/cypress/e2e/workspace/profile.cy.js +++ b/cypress-tests/cypress/e2e/workspace/profile.cy.js @@ -35,15 +35,15 @@ describe("Profile Settings", () => { cy.get(profileSelector.updateButton).click(); cy.verifyToastMessage( commonSelectors.toastMessage, - profileText.nameErrorToast + profileText.firstNameErrorToast ); - cy.clearAndType(profileSelector.firstNameInput, profileText.firstName); - cy.get(profileSelector.updateButton).click(); - cy.verifyToastMessage( - commonSelectors.toastMessage, - profileText.lastNameNameErrorToast - ); + // cy.clearAndType(profileSelector.firstNameInput, profileText.firstName); + // cy.get(profileSelector.updateButton).click(); + // cy.verifyToastMessage( + // commonSelectors.toastMessage, + // profileText.lastNameNameErrorToast + // ); cy.clearAndType(profileSelector.firstNameInput, randomFirstName); cy.clearAndType(profileSelector.lastNameInput, randomLastName); @@ -241,4 +241,4 @@ describe("Profile Settings", () => { cy.login(commonText.email, profileText.password); common.logout(); }); -}); +}); \ No newline at end of file diff --git a/cypress-tests/cypress/support/commands.js b/cypress-tests/cypress/support/commands.js index dfae45037f..4e2e114ebf 100644 --- a/cypress-tests/cypress/support/commands.js +++ b/cypress-tests/cypress/support/commands.js @@ -13,7 +13,7 @@ Cypress.Commands.add( cy.get(commonSelectors.signInButton).click(); cy.intercept("GET", "api/library_apps").as("apps"); cy.wait("@apps"); - cy.wait(2000); + cy.wait(4000); cy.get(commonSelectors.homePageLogo).should("be.visible"); } ); diff --git a/cypress-tests/cypress/support/utils/common.js b/cypress-tests/cypress/support/utils/common.js index a31a0504ca..907fcf6a08 100644 --- a/cypress-tests/cypress/support/utils/common.js +++ b/cypress-tests/cypress/support/utils/common.js @@ -5,6 +5,7 @@ import { commonSelectors, commonWidgetSelector } from "Selectors/common"; import moment from "moment"; import { dashboardSelector } from "Selectors/dashboard"; import { groupsSelector } from "Selectors/manageGroups"; +import { groupsText } from "Texts/manageGroups"; export const navigateToProfile = () => { cy.get(commonSelectors.profileSettings).click(); @@ -15,8 +16,8 @@ export const navigateToProfile = () => { export const logout = () => { cy.get(commonSelectors.profileSettings).click(); cy.get(commonSelectors.logoutLink).click(); - cy.intercept('GET', '/api/metadata').as('publicConfig'); - cy.wait('@publicConfig'); + cy.intercept("GET", "/api/metadata").as("publicConfig"); + cy.wait("@publicConfig"); cy.wait(500); }; @@ -51,7 +52,7 @@ export const navigateToAllUserGroup = () => { cy.wait(2000); } }); -} +}; export const navigateToWorkspaceVariable = () => { cy.get(commonSelectors.workspaceSettingsIcon).click(); @@ -112,8 +113,7 @@ export const navigateToAppEditor = (appName) => { cy.intercept("GET", "/api/v2/data_sources").as("appDs"); cy.wait("@appDs", { timeout: 15000 }); cy.skipEditorPopover(); - } - else { + } else { cy.intercept("GET", "/api/app-environments/**").as("appDs"); cy.wait("@appDs", { timeout: 15000 }); cy.skipEditorPopover(); @@ -237,17 +237,24 @@ export const verifyTooltip = (selector, message) => { export const pinInspector = () => { cy.get(commonWidgetSelector.sidebarinspector).click(); cy.get(commonSelectors.inspectorPinIcon).click(); - cy.intercept("GET", "/api/v2/data_sources").as("editor"); - cy.reload(); - cy.wait("@editor"); + cy.wait(500); + cy.get("body").then(($body) => { if (!$body.find(commonSelectors.inspectorPinIcon).length > 0) { cy.get(commonWidgetSelector.sidebarinspector).click(); cy.get(commonSelectors.inspectorPinIcon).click(); - cy.wait(500); - cy.intercept("GET", "/api/v2/data_sources").as("editor"); - cy.reload(); - cy.wait("@editor"); } }); + cy.reload(); + cy.waitForAppLoad(); }; + +export const createGroup = (groupName) => { + cy.get(groupsSelector.createNewGroupButton).click(); + cy.clearAndType(groupsSelector.groupNameInput, groupName); + cy.get(groupsSelector.createGroupButton).click(); + cy.verifyToastMessage( + commonSelectors.toastMessage, + groupsText.groupCreatedToast + ); +}; \ No newline at end of file diff --git a/cypress-tests/cypress/support/utils/manageGroups.js b/cypress-tests/cypress/support/utils/manageGroups.js index 31ce7d8dd2..08c07ca19d 100644 --- a/cypress-tests/cypress/support/utils/manageGroups.js +++ b/cypress-tests/cypress/support/utils/manageGroups.js @@ -14,7 +14,7 @@ export const manageGroupsElements = () => { groupsText.admin ); - navigateToAllUserGroup() + navigateToAllUserGroup(); cy.get(groupsSelector.groupPageTitle("All Users")).verifyVisibleElement( "have.text", @@ -158,7 +158,7 @@ export const manageGroupsElements = () => { ); cy.get(groupsSelector.workspaceVarCheckbox).uncheck(); - navigateToAllUserGroup() + navigateToAllUserGroup(); cy.get(groupsSelector.groupLink("Admin")).click(); cy.get(groupsSelector.groupLink("Admin")).verifyVisibleElement( "have.text", @@ -234,3 +234,30 @@ export const manageGroupsElements = () => { "be.disabled" ); }; + +export const addAppToGroup = (appName) => { + cy.get(groupsSelector.appsLink).click(); + cy.wait(500); + cy.get(groupsSelector.appSearchBox).realClick(); + cy.wait(500); + cy.get(groupsSelector.searchBoxOptions).contains(appName).click(); + cy.get(groupsSelector.selectAddButton).click(); + cy.contains("tr", appName) + .parent() + .within(() => { + cy.get("td input").eq(1).check(); + }); + cy.verifyToastMessage( + commonSelectors.toastMessage, + "App permissions updated" + ); +}; + +export const addUserToGroup = (groupName, email) => { + cy.get(groupsSelector.usersLink).click(); + cy.get(".select-search__input").type(email); + cy.get(".item-renderer").within(() => { + cy.get("input").check(); + }); + cy.get(`[data-cy="${groupName}-group-add-button"]`).click(); +}; \ No newline at end of file diff --git a/cypress-tests/cypress/support/utils/userPermissions.js b/cypress-tests/cypress/support/utils/userPermissions.js index d3f68c0ccd..b1650a67cc 100644 --- a/cypress-tests/cypress/support/utils/userPermissions.js +++ b/cypress-tests/cypress/support/utils/userPermissions.js @@ -11,6 +11,7 @@ import { dashboardSelector } from "Selectors/dashboard"; export const adminLogin = () => { common.logout(); cy.appUILogin(); + cy.wait(2000); common.navigateToManageGroups(); };