From 03723dc67948a0d694adb0028e2cc2f3e6bebb06 Mon Sep 17 00:00:00 2001 From: Ankita Kinger Date: Mon, 21 Aug 2023 17:39:26 +0530 Subject: [PATCH] chore: Adding custom delay parameter in TypeText aggregate helper (#26516) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit > Pull Request Template > > Use this template to quickly create a well written pull request. Delete all quotes before creating the pull request. > ## Description > Add a TL;DR when description is extra long (helps content team) > > Please include a summary of the changes and which issue has been fixed. Please also include relevant motivation > and context. List any dependencies that are required for this change > > Links to Notion, Figma or any other documents that might be relevant to the PR > > #### PR fixes following issue(s) Fixes # (issue number) > if no issue exists, please create an issue and ask the maintainers about this first > > #### Media > A video or a GIF is preferred. when using Loom, don’t embed because it looks like it’s a GIF. instead, just link to the video > > #### Type of change > Please delete options that are not relevant. - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) - Breaking change (fix or feature that would cause existing functionality to not work as expected) - Chore (housekeeping or task changes that don't impact user perception) - This change requires a documentation update > > > ## Testing > #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [ ] Manual - [ ] Jest - [ ] Cypress > > #### Test Plan > Add Testsmith test cases links that relate to this PR > > #### Issues raised during DP testing > Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR) > > > ## Checklist: #### Dev activity - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] PR is being merged under a feature flag #### QA activity: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --------- Co-authored-by: Aishwarya UR --- .../ClientSide/AdminSettings/General_settings_Spec.ts | 3 ++- .../ClientSide/EmbedSettings/EmbedSettings_spec.js | 5 ++--- app/client/cypress/support/AdminSettingsCommands.js | 1 + app/client/cypress/support/Pages/AggregateHelper.ts | 5 ++++- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/client/cypress/e2e/Regression/ClientSide/AdminSettings/General_settings_Spec.ts b/app/client/cypress/e2e/Regression/ClientSide/AdminSettings/General_settings_Spec.ts index 78feb07711..dfa19a0f8b 100644 --- a/app/client/cypress/e2e/Regression/ClientSide/AdminSettings/General_settings_Spec.ts +++ b/app/client/cypress/e2e/Regression/ClientSide/AdminSettings/General_settings_Spec.ts @@ -7,8 +7,9 @@ import { CURRENT_REPO, REPO } from "../../../../fixtures/REPO"; describe("Admin Settings Page - General page validations", () => { it("1. TC# 2439 Verify 'Page title' changes upon changing Instance name", () => { adminSettings.NavigateToAdminSettings(); - agHelper.TypeText(adminSettings._instanceName, "Testing Instance name"); + agHelper.ClearNType(adminSettings._instanceName, "Testing Instance name"); agHelper.ClickButton("Save"); + agHelper.ValidateToastMessage("Successfully saved"); if (CURRENT_REPO === REPO.CE) cy.title().should("eq", "Appsmith"); //verifying that Instance name is not changed in CE else if (CURRENT_REPO === REPO.EE) diff --git a/app/client/cypress/e2e/Regression/ClientSide/EmbedSettings/EmbedSettings_spec.js b/app/client/cypress/e2e/Regression/ClientSide/EmbedSettings/EmbedSettings_spec.js index 05a9222ffc..3656390f20 100644 --- a/app/client/cypress/e2e/Regression/ClientSide/EmbedSettings/EmbedSettings_spec.js +++ b/app/client/cypress/e2e/Regression/ClientSide/EmbedSettings/EmbedSettings_spec.js @@ -84,7 +84,6 @@ describe("Embed settings options", function () { }); cy.get(adminSettings.saveButton).click(); cy.waitForServerRestart(); - cy.get(adminSettings.restartNotice).should("not.exist"); cy.get("@deployUrl").then((depUrl) => { cy.log("deployUrl is " + depUrl); deployUrl = depUrl; @@ -110,7 +109,7 @@ describe("Embed settings options", function () { // } = interception[1].response.body.data; // expect(APPSMITH_ALLOWED_FRAME_ANCESTORS).to.equal("*"); // }); - cy.get(adminSettings.restartNotice).should("not.exist"); + cy.log("deployUrl is " + deployUrl); cy.visit(deployUrl, { timeout: 60000 }); getIframeBody().contains("Submit").should("exist"); ValidateEditModeSetting(_.embedSettings.locators._allowAllText); @@ -124,7 +123,7 @@ describe("Embed settings options", function () { }); cy.get(adminSettings.saveButton).click(); cy.waitForServerRestart(); - cy.get(adminSettings.restartNotice).should("not.exist"); + cy.log("deployUrl is " + deployUrl); cy.visit(deployUrl, { timeout: 60000 }); // TODO: Commented out as it is flaky // cy.wait(["@getEnvVariables", "@getEnvVariables"]).then((interception) => { diff --git a/app/client/cypress/support/AdminSettingsCommands.js b/app/client/cypress/support/AdminSettingsCommands.js index 4c7609b0ab..605286753b 100644 --- a/app/client/cypress/support/AdminSettingsCommands.js +++ b/app/client/cypress/support/AdminSettingsCommands.js @@ -83,4 +83,5 @@ Cypress.Commands.add("waitForServerRestart", () => { win.location.reload(); }); agHelper.AssertElementVisibility(adminSettings.saveButton, true, 0, 30000); + agHelper.AssertElementAbsence(adminSettings.restartNotice, 30000); }); diff --git a/app/client/cypress/support/Pages/AggregateHelper.ts b/app/client/cypress/support/Pages/AggregateHelper.ts index 6096c4fc01..9a6e391148 100644 --- a/app/client/cypress/support/Pages/AggregateHelper.ts +++ b/app/client/cypress/support/Pages/AggregateHelper.ts @@ -814,17 +814,20 @@ export class AggregateHelper extends ReusableHelper { index: number; parseSpecialCharSeq: boolean; shouldFocus: boolean; + delay: number; }> = 0, ) { let index: number; let shouldFocus = true; let parseSpecialCharSeq = false; + let delay = 5; if (typeof indexOrOptions === "number") { index = indexOrOptions; } else { index = indexOrOptions.index || 0; parseSpecialCharSeq = indexOrOptions.parseSpecialCharSeq || false; + delay = indexOrOptions.delay || 5; shouldFocus = indexOrOptions.shouldFocus !== undefined ? indexOrOptions.shouldFocus @@ -839,7 +842,7 @@ export class AggregateHelper extends ReusableHelper { return element.wait(100).type(value, { parseSpecialCharSequences: parseSpecialCharSeq, - delay: 5, + delay: delay, force: true, }); }