## Description
- This PR downgrades Cypress from 13.6.4 to 13.5.1 due to frequent
WebSocket connection closed errors in CI
#### QA activity:
- [X] Added `Test Plan Approved` label after Cypress tests were reviewed
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Adjusted the response timeout setting for network calls to improve
performance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- This PR re-writes the entire Text_With_Different_Size_spec.ts spec to
fix the master run flakyness and and improves the overall complexity of
the test case format
- cypress/e2e/Regression/ClientSide/Onboarding/StartFromScratch_spec.ts
(agHelper.VisitNAssert improved)
- Master runs pass at
[Run1](https://github.com/appsmithorg/appsmith-ee/pull/3337#issuecomment-1899183181),
[Run2](https://github.com/appsmithorg/appsmith-ee/pull/3337#issuecomment-1899197871)
- cypress/e2e/Regression/ClientSide/BugTests/AbortAction_Spec.ts (1st
test - replace with TED url)
- getConsolidatedDataApi() separated, created new
agHelper.CypressReload()
- Removed cy.log statements from few places
- homePage.LogOutviaAPI() removed static wait
- Replaced homePage.LogOutviaAPI(); with homePage.Signout(); in places
where its flaky
- Split /Onboarding/StartFromScratch_spec.ts to 3 specs to reduce
flakyness
- Split /ClientSide/PartialImportExport/PartialExport_Widgets_spec.ts
with failing test to run the other tests in CI
- /Templates/Fork_Template_To_App_spec.ts - Added dynamic check to fix
CI flakiness
- agHelper.AssertURL(), assertHelper.AssertDocumentReady() improved
- jsEditor.NavigateToNewJSEditor() improved
-
cypress/e2e/Regression/ClientSide/ExplorerTests/JSEditorContextMenu_Spec.ts
- jsEditor.ValidateDefaultJSObjProperties improved
- cypress/e2e/Regression/ServerSide/OnLoadTests/OnLoadActions_Spec.ts -
(3rd case - flaky fix)
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
#### How Has This Been Tested?
- [X] Cypress CI runs
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after changes were reviewed
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **Tests**
- Enhanced test flexibility by dynamically constructing API URLs.
- Improved test setup and flow in onboarding and regression suites.
- Added new test spec files for dynamic height, onboarding, bug tests,
login failure, and starting from scratch scenarios.
- **Refactor**
- Updated function calls and parameters across various test files for
consistency and efficiency.
- Removed redundant code and streamlined test actions.
- **Chores**
- Updated intercepted HTTP methods and added new utility functions to
support test operations.
- **Bug Fixes**
- Fixed issues related to element visibility assertions in test scripts.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- This PR does below:
-
cypress/e2e/Regression/ClientSide/Templates/Fork_Template_To_App_spec.js
(to .ts with flaky fix)
- cypress/e2e/Sanity/Datasources/SMTPDatasource_spec.js (multiple runs,
no fix was needed, removed from skipped list)
- Cypress upgrade from 13.6.1 to 13.6.4
- cypress/e2e/Regression/ClientSide/EmbedSettings/EmbedSettings_spec.js
(flaky fix)
- cypress/e2e/Regression/ServerSide/QueryPane/S3_1_spec.js (6th test -
flaky fix)
- assertHelper.WaitForNetworkCall() - reduced wait timeout
- deployHelper.DeployApp() added dynamic checks
- cypress/e2e/Regression/ClientSide/Git/GitSync/SwitchBranches_spec.js
(removed redundant before hook to fix flakyness)
- cypress/e2e/Regression/ClientSide/Git/GitImport/GitImport_spec.js
(removed redundant before hook to fix flakyness)
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
#### How Has This Been Tested?
- [X] Cypress CI runs
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after Cypress tests were reviewed
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced functionality for forking a template to the current app and
adding selected pages from a template.
- **Bug Fixes**
- Enhanced test stability by replacing sleep calls with dynamic wait
conditions.
- Improved test reliability and performance by adjusting waiting
conditions for network calls and element assertions.
- **Tests**
- Updated the list of Cypress tests to include new scenarios and remove
outdated ones.
- Added new end-to-end tests for template forking and embed settings
validation.
- **Chores**
- Optimized test support files and functions for better code maintenance
and readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- This PR includes the flaky fixes of the below specs:
- jsEditor.NavigateToNewJSEditor() using TS helpers (Addressing
flakyness in specs /BugTests/JS_Bug29131_spec.ts,
BugTests/invalidLintError_Spec.ts,
ClientSide/BugTests/JS_Bug28764_Spec.ts,
/ClientSide/BugTests/Bug29566_Spec.ts,
ServerSide/JsFunctionExecution/JSFunctionExecution_spec.ts)
- /Widgets/ListV2/Listv2_onItemClick_spec.js (toast validation updated
to ts helper)
- /Apps/MongoDBShoppingCart_spec.ts (Flaky fix 2nd case)
- /Regression/Apps/PromisesApp_spec.js (1st test)
- /ClientSide/OtherUIFeatures/ApplicationURL_spec.js (whole spec for
static wait removal + flaky fixes)
- /ClientSide/Templates/Fork_Template_spec.js (complete spec fixes,
cypress exception fix)
- /Sanity/Datasources/Arango_Basic_Spec.ts (3rd test)
- /ServerSide/OnLoadTests/JSOnLoad2_Spec.ts (8th case flaky fix)
- /ClientSide/MobileResponsiveTests/AutoFillWidgets_Reflow_spec.ts (2nd
testcase, flow update)
- /ClientSide/OtherUIFeatures/Resize_spec.js (import update)
- /ClientSide/Templates/Fork_Template_spec.js (1st & 3rd for flaky fix,
removed 2nd - redundant check)
- /Git/GitSync/RepoLimitExceededErrorModal_spec.js flaky fix for EE repo
failure
- /ServerSide/ApiTests/API_Bugs_Spec.js (3rd case, removed waits, moved
to TED Api)
- /Apps/EchoApiCMS_spec.js (removed redundant action)
- /AppNavigation/Sidebar_spec.ts, /AppNavigation/TopInline_spec.ts,
/AppNavigation/TopStacked_spec.ts - added refresh calls for CI flakyness
- homePage.RenameWorkspace() & homePage.NavigateToHome() &
homePage.Signout() - removed static wait, added dynamic check
- homePage.CreateNewApplication() - removed static wait
- homePage.CreateAppInWorkspace() - removed commented code
- homePage.CreateNewWorkspace() - logic improved
- agHelper.AssertURL() - added timeout, removed static wait, calling
assertHelper.AssertDocumentReady()
- Few of agHelper methods timeout & error mesg text update
- cy.Signup() - updated validations
- agHelper.CheckForErrorToast() to agHelper.FailIfErrorToast() - method
name
- /ClientSide/BugTests/DSDiscardBugs_spec.ts - removed unnecessary
method call
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
#### How Has This Been Tested?
- [X] Cypress CI runs
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after all changes were reviewed
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Enhanced timeout handling across various helper methods for improved
stability.
- Streamlined interactions with UI elements using updated helper
methods.
- Adjusted test suites to utilize configuration values for consistency.
- **Tests**
- Temporarily disabled specific test suites to address current issues.
- Updated test assertions and interaction patterns for clarity and
reliability.
- Added new test cases and assertions to cover additional
functionalities.
- **Chores**
- Updated workflow variables for more efficient CI processes.
- Curated the list of limited tests to focus on critical test scenarios.
- **Documentation**
- Clarified test descriptions and intentions for better understanding.
- **Bug Fixes**
- Fixed UI element interactions to prevent test flakiness and improve
user experience.
- Implemented page refresh before application imports to ensure clean
state for tests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Removed hard waits from below specs:
- Apps/CurrencyInputIssue_Spec.js
- ClientSide/Widgets/Modal/Modal_spec.ts (Fix & unskip)
- /Binding/TableV2_Widget_API_Pagination_spec.js
- Unskip - ApiTests/API_Unique_name_spec.js
- Flaky fix - TableV2_Widget_API_Pagination_spec.js
- Flaky fix - /ServerSide/QueryPane/S3_1_spec.js
- Removed empty ReusableHelper.ts
- Improved agHelper.GetElement() to include the assertion for element
presence/absence
- Modified helpers/function calls to fit the above syntax of
GetElement()
- Improved WaitUntilEleAppear(), WaitUntilEleDisappear() to use timeout
from cypress config
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
#### How Has This Been Tested?
- [X] Cypress CI runs
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after Cypress tests were reviewed
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **Tests**
- Enhanced end-to-end test stability by replacing static waits with
dynamic element-based synchronization.
- Skipped certain test suites to streamline the testing process.
- Improved test assertions and control flow for more reliable
verification of UI components.
- **Chores**
- Updated test helper methods to support new verification strategies.
- Cleaned up unnecessary imports and inheritance in test support
classes.
- **Documentation**
- Adjusted test case descriptions to reflect the new synchronization
methods used.
- **Bug Fixes**
- Fixed issues with test synchronization that could lead to flaky test
results.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
**This PR does the below improvements:**
- Handles initial empty error toast- with cy.LogOut()
- Calling cy.LoginFromAPI() per need only - to improve execution time
- Update agHelper.UpdateCodeInput()
- Added waitForNetworkCall for AsserHelper methods to only get api call
& validate
- Added gitSync.AuthorizeKeyToGitea() - to validate keyGenerate success
- Adding validationg for 'Unable to import application in workspace'
- cy.CreateNewAppInNewWorkspace() improved
- agHelper.RemoveUIElement() created to handle tooltip, toast,
evaluatedpopup & removed duplicates
- cy.merge() improved to call assertHelper
- assertHelper.AssertNetworkStatus() to handle both array & individual
status checks & return actual responseCode
- createBranch & generatedKey intercepts added to git operation
validations
- homePage.AssertApplication() created
- Removed cy.Logout() & Login improved - brings down total run time to
less than 1 hr from 1+ hrs
- entityExplorer.NavigateToSwitcher() improved to check status
- dataSources.ValidateDSDeletion() improved to handle one of array toast
for array value also
- assertHelper.WaitForNetworkCall() improved to wait & return latest
request
- Private methods processNetworkStatus() & processNetworkResponseData()
created
**Also flaky fixes below:**
- ServerSide/QueryPane/S3_2_spec.ts - Adding sleep for CI flaky
behaviour
- Trial fix for
cypress/e2e/Regression/ClientSide/OtherUIFeatures/PageOnLoad_spec.ts
- GitWithJSLibrary/GitwithCustomJSLibrary_spec.js - Handling Import
failure at various points in the flow
- ExplorerTests/Widgets_Copy_Paste_Delete_Undo_Keyboard_Event_spec.js
- ClientSide/JSLibrary/Library_spec.ts - asserting success import
- /OtherUIFeatures/ApplicationURL_spec.js - using cy.url()
- /ClientSide/Templates/Fork_Template_spec.js
- ServerSide/Postgres_DataTypes/Binary_Spec.ts &
/Postgres_DataTypes/Json_Spec.ts - Adding sleep for CI flaky behaviour
- ClientSide/Widgets/List/List4_2_spec.js
- /Git/ExistingApps/v1.9.24/DSCrudAndBindings_Spec.ts
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
#### How Has This Been Tested?
- [X] Cypress CI runs
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after Cypress tests were reviewed
## Description
- This PR improves RefreshPage()
- Improves StubbingDeployPage()
- Fixes below flaky tests;
- Datasources/ElasticSearch_Basic_Spec.ts
- Datasources/MsSQL_Basic_Spec.ts
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
>
#### How Has This Been Tested?
- [X] Cypress CI runs
## Checklist:
#### QA activity:
- [ ] Added `Test Plan Approved` label after changes were reviewed
## Description
- This PR has below:
- improves StubWindowNAssert()
- Adds new test for Bug # 25004
- AssertNetworkStatus() fixed
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
>
#### How Has This Been Tested?
- [X] Cypress local runs
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after changes were reviewed
## Description
- This PR adds new method - WaitForNetworkCall()
- Trail fix for flaky spec ClientSide/AppNavigation/TopStacked_spec.ts
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
>
#### How Has This Been Tested?
- [X] Cypress local runs
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after changes were reviewed
## Description
- This PR improves the sign up method to work even if telemetry related
details are not asked at start
- Also alters the Commit message based on the repository/workflow or
push runs
- Improves DragDropWidgetNVerify()
- Fixes flaky TableV2/Inline_editing_spec.js spec with TS methods
- Improved EditTableCell()
- Skipping deleting apps during local runs for debugging purpose
- Fixes PropertyPane_Search_spec.ts
- Fixed ever flaky AppNavigationWithMultiplePages_spec,
AppNavigationWithAutoLayout_spec
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
>
#### How Has This Been Tested?
- [X] Cypress CI runs
>
>
## Checklist:
#### QA activity:
- [ ] Added `Test Plan Approved` label after changes were reviewed
## Description
- This PR upgrades cypress from 11.2 to 12.13.0 which fixes the random
browser crash issue in CI runs
- ValidateNetworkStatus() updates to validate the n/w responses
- cy.route() to cy.intercept()
- Converting dataSources.json to HostPort.ts
- Api responses read - updating to right Cy12 supported format
- js inconsistent testJsontext to TS `EnterJSContext` in few failing
specs
- CI - higher resolution trials
- Improves _.agHelper.RefreshPage() - fixing Error: Socket closed before
finished writing response
- AssertDocumentReady() created
- within(()) & .children() - handled for Cy12
- Improved DeployApp(), NavigateBacktoEditor(), RefreshPage(), AddDsl()
methods
- js inconsistent goToEditFromPublish to TS `NavigateBacktoEditor` in
all specs
- js inconsistent PublishtheApp to TS `_.agHelper.DeployApp` in all
specs
- Convert /DynamicHeight/Text_Widget_spec.js to TS with all supporting
TS helpers
- ToggleJSMode()
- COMMIT_INFO_MESSAGE improved
- Remove tooltip on the Application Name after rename
- js inconsistent cy.addDsl(dsl); to TS helper `_.agHelper.AddDsl(val);`
- ++++ Much more improvements....
#### Type of change
- Script fixes
## Testing
#### How Has This Been Tested?
- [X] Cypress
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after Cypress tests were reviewed
---------
Co-authored-by: Vijetha-Kaja <vijetha@appsmith.com>