PromucFlow_constructor/app/client/src/navigation/FocusEntity.test.ts

384 lines
9.3 KiB
TypeScript
Raw Normal View History

chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
import type { FocusEntityInfo } from "navigation/FocusEntity";
import { FocusEntity, identifyEntityFromPath } from "navigation/FocusEntity";
import { EditorState } from "@appsmith/entities/IDE/constants";
interface TestCase {
path: string;
expected: FocusEntityInfo;
}
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
const applicationId = "a0123456789abcdef0000000";
const pageId = "b0123456789abcdef0000000";
chore: Unify ID extraction regex from browser url (#33925) ## Description Regex update to make it compatible to extract identifiers for both Mongo ObjectIds and UUIDs. This will help us to keep the unified logic required in `pg` branch. ## Automation /ok-to-test tags="@tag.Datasource, @tag.GenerateCRUD, @tag.ImportExport, @tag.Fork, @tag.Workspace, @tag.Sanity" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9405554200> > Commit: 3959703aab1d10e28d3b80057793476467126929 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9405554200&attempt=2" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced URL path handling to support both UUID and Mongo ObjectIds. - **Refactor** - Replaced hardcoded page IDs with dynamic variables across multiple test files for improved maintainability and flexibility. - **Tests** - Updated test cases to use dynamic page IDs, ensuring consistency and easier updates in the future. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 09:44:54 +00:00
describe("identifyEntityFromPath", () => {
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
const oldUrlCases: TestCase[] = [
{
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
path: `/applications/${applicationId}/pages/${pageId}/edit`,
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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
2023-11-20 07:58:08 +00:00
expected: {
entity: FocusEntity.CANVAS,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
applicationId,
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
},
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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
2023-11-20 07:58:08 +00:00
},
},
{
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
path: `/applications/${applicationId}/pages/${pageId}/edit/widgets/ryvc8i7oja`,
expected: {
entity: FocusEntity.PROPERTY_PANE,
feat: URL Navigation for Widgets (#20202) ## Description Widget selection is driven by URL changes. This would fix browser navigation for users as they can use browser back/forward buttons to travel across older contexts on Appsmith. > Fixing browser URL navigation for widgets Fixes #19571 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. - New feature (non-breaking change which adds functionality) ## How Has This Been Tested? - Manual - Jest - Cypress ### Test Plan > Add Testsmith [test cases](https://github.com/appsmithorg/TestSmith/issues/2171) links that relate to this PR ### Issues raised during DP testing - [X] When a selected widget is below viewport and user refreshes the page, then the widget property pane is open but the page does not navigate to the selected widget https://loom.com/share/09f1eda2f02d474981a0d48e4a6419ec - [ ] Drop 2 widgets one at a time > Delete both the widgets > Now click on back button of the browser > Observe the url it shows the widget id in the URL but the canvas remains empty https://loom.com/share/53cae28a5d224e67b783c8ccf53745f5 Dev Response: This issue is valid but not a major inconvenience. We will try to track it and see if it needed to be addressed. Many other web tools do not handle such cases - [X] Canvas scrolls down when all widgets are selected. https://loom.com/share/c8a68dadcdb040779abd3a73bde2b06c - [X] Widget is not getting highlighted when added from the API editor page. Please refer to the attached video:-https://jiju8jbmwa.vmaker.com/record/IkwiAqFgafK9dVmu ## 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: - [ ] Test plan has been approved by relevant developers - [x] Test plan has been peer reviewed by QA - [ ] Cypress test cases have been added and approved by either SDET or manual QA - [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA - [ ] Added Test Plan Approved label after reveiwing all Cypress test --------- Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-02-21 13:38:16 +00:00
id: "ryvc8i7oja",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
applicationId,
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
widgetIds: "ryvc8i7oja",
},
},
},
{
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
path: `/applications/${applicationId}/pages/${pageId}/edit/queries`,
expected: {
entity: FocusEntity.QUERY_LIST,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
applicationId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
entity: "queries",
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
},
},
},
{
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
path: `/applications/${applicationId}/pages/${pageId}/edit/api/myApiId`,
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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
2023-11-20 07:58:08 +00:00
expected: {
entity: FocusEntity.QUERY,
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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
2023-11-20 07:58:08 +00:00
id: "myApiId",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
apiId: "myApiId",
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
applicationId,
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
},
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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
2023-11-20 07:58:08 +00:00
},
},
{
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
path: `/applications/${applicationId}/pages/${pageId}/edit/queries/myQueryId`,
expected: {
entity: FocusEntity.QUERY,
id: "myQueryId",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
queryId: "myQueryId",
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
applicationId,
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
},
},
},
{
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
path: `/applications/${applicationId}/pages/${pageId}/edit/jsObjects`,
expected: {
entity: FocusEntity.JS_OBJECT_LIST,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
applicationId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
entity: "jsObjects",
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
},
},
},
{
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
path: `/applications/${applicationId}/pages/${pageId}/edit/jsObjects/myJSId`,
expected: {
entity: FocusEntity.JS_OBJECT,
id: "myJSId",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
applicationId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
collectionId: "myJSId",
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
},
},
},
{
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
path: `/applications/${applicationId}/pages/${pageId}/edit/datasource`,
expected: {
entity: FocusEntity.DATASOURCE_LIST,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.DATA,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
applicationId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
entity: "datasource",
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
},
},
},
{
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
path: `/applications/${applicationId}/pages/${pageId}/edit/datasource/myDatasourceId`,
expected: {
entity: FocusEntity.DATASOURCE,
id: "myDatasourceId",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.DATA,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
applicationId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
datasourceId: "myDatasourceId",
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
},
},
},
];
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
const pageSlugCases: TestCase[] = [
{
chore: Unify ID extraction regex from browser url (#33925) ## Description Regex update to make it compatible to extract identifiers for both Mongo ObjectIds and UUIDs. This will help us to keep the unified logic required in `pg` branch. ## Automation /ok-to-test tags="@tag.Datasource, @tag.GenerateCRUD, @tag.ImportExport, @tag.Fork, @tag.Workspace, @tag.Sanity" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9405554200> > Commit: 3959703aab1d10e28d3b80057793476467126929 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9405554200&attempt=2" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced URL path handling to support both UUID and Mongo ObjectIds. - **Refactor** - Replaced hardcoded page IDs with dynamic variables across multiple test files for improved maintainability and flexibility. - **Tests** - Updated test cases to use dynamic page IDs, ensuring consistency and easier updates in the future. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 09:44:54 +00:00
path: `/app/eval/page1-${pageId}/edit`,
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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
2023-11-20 07:58:08 +00:00
expected: {
entity: FocusEntity.CANVAS,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
applicationSlug: "eval",
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
pageSlug: "page1-",
},
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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
2023-11-20 07:58:08 +00:00
},
},
{
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
path: `/app/app-slug/page1-${pageId}/edit/widgets/ryvc8i7oja`,
expected: {
entity: FocusEntity.PROPERTY_PANE,
feat: URL Navigation for Widgets (#20202) ## Description Widget selection is driven by URL changes. This would fix browser navigation for users as they can use browser back/forward buttons to travel across older contexts on Appsmith. > Fixing browser URL navigation for widgets Fixes #19571 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. - New feature (non-breaking change which adds functionality) ## How Has This Been Tested? - Manual - Jest - Cypress ### Test Plan > Add Testsmith [test cases](https://github.com/appsmithorg/TestSmith/issues/2171) links that relate to this PR ### Issues raised during DP testing - [X] When a selected widget is below viewport and user refreshes the page, then the widget property pane is open but the page does not navigate to the selected widget https://loom.com/share/09f1eda2f02d474981a0d48e4a6419ec - [ ] Drop 2 widgets one at a time > Delete both the widgets > Now click on back button of the browser > Observe the url it shows the widget id in the URL but the canvas remains empty https://loom.com/share/53cae28a5d224e67b783c8ccf53745f5 Dev Response: This issue is valid but not a major inconvenience. We will try to track it and see if it needed to be addressed. Many other web tools do not handle such cases - [X] Canvas scrolls down when all widgets are selected. https://loom.com/share/c8a68dadcdb040779abd3a73bde2b06c - [X] Widget is not getting highlighted when added from the API editor page. Please refer to the attached video:-https://jiju8jbmwa.vmaker.com/record/IkwiAqFgafK9dVmu ## 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: - [ ] Test plan has been approved by relevant developers - [x] Test plan has been peer reviewed by QA - [ ] Cypress test cases have been added and approved by either SDET or manual QA - [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA - [ ] Added Test Plan Approved label after reveiwing all Cypress test --------- Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-02-21 13:38:16 +00:00
id: "ryvc8i7oja",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
applicationSlug: "app-slug",
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
pageSlug: "page1-",
widgetIds: "ryvc8i7oja",
},
},
},
{
chore: Unify ID extraction regex from browser url (#33925) ## Description Regex update to make it compatible to extract identifiers for both Mongo ObjectIds and UUIDs. This will help us to keep the unified logic required in `pg` branch. ## Automation /ok-to-test tags="@tag.Datasource, @tag.GenerateCRUD, @tag.ImportExport, @tag.Fork, @tag.Workspace, @tag.Sanity" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9405554200> > Commit: 3959703aab1d10e28d3b80057793476467126929 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9405554200&attempt=2" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced URL path handling to support both UUID and Mongo ObjectIds. - **Refactor** - Replaced hardcoded page IDs with dynamic variables across multiple test files for improved maintainability and flexibility. - **Tests** - Updated test cases to use dynamic page IDs, ensuring consistency and easier updates in the future. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 09:44:54 +00:00
path: `/app/eval/page1-${pageId}/edit/queries`,
expected: {
entity: FocusEntity.QUERY_LIST,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
applicationSlug: "eval",
entity: "queries",
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
pageSlug: "page1-",
},
},
},
{
chore: Unify ID extraction regex from browser url (#33925) ## Description Regex update to make it compatible to extract identifiers for both Mongo ObjectIds and UUIDs. This will help us to keep the unified logic required in `pg` branch. ## Automation /ok-to-test tags="@tag.Datasource, @tag.GenerateCRUD, @tag.ImportExport, @tag.Fork, @tag.Workspace, @tag.Sanity" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9405554200> > Commit: 3959703aab1d10e28d3b80057793476467126929 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9405554200&attempt=2" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced URL path handling to support both UUID and Mongo ObjectIds. - **Refactor** - Replaced hardcoded page IDs with dynamic variables across multiple test files for improved maintainability and flexibility. - **Tests** - Updated test cases to use dynamic page IDs, ensuring consistency and easier updates in the future. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 09:44:54 +00:00
path: `/app/eval/page1-${pageId}/edit/api/myApiId`,
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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
2023-11-20 07:58:08 +00:00
expected: {
entity: FocusEntity.QUERY,
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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
2023-11-20 07:58:08 +00:00
id: "myApiId",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
apiId: "myApiId",
applicationSlug: "eval",
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
pageSlug: "page1-",
},
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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
2023-11-20 07:58:08 +00:00
},
},
{
chore: Unify ID extraction regex from browser url (#33925) ## Description Regex update to make it compatible to extract identifiers for both Mongo ObjectIds and UUIDs. This will help us to keep the unified logic required in `pg` branch. ## Automation /ok-to-test tags="@tag.Datasource, @tag.GenerateCRUD, @tag.ImportExport, @tag.Fork, @tag.Workspace, @tag.Sanity" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9405554200> > Commit: 3959703aab1d10e28d3b80057793476467126929 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9405554200&attempt=2" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced URL path handling to support both UUID and Mongo ObjectIds. - **Refactor** - Replaced hardcoded page IDs with dynamic variables across multiple test files for improved maintainability and flexibility. - **Tests** - Updated test cases to use dynamic page IDs, ensuring consistency and easier updates in the future. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 09:44:54 +00:00
path: `/app/eval/page1-${pageId}/edit/queries/myQueryId`,
expected: {
entity: FocusEntity.QUERY,
id: "myQueryId",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
applicationSlug: "eval",
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
pageSlug: "page1-",
queryId: "myQueryId",
},
},
},
{
chore: Unify ID extraction regex from browser url (#33925) ## Description Regex update to make it compatible to extract identifiers for both Mongo ObjectIds and UUIDs. This will help us to keep the unified logic required in `pg` branch. ## Automation /ok-to-test tags="@tag.Datasource, @tag.GenerateCRUD, @tag.ImportExport, @tag.Fork, @tag.Workspace, @tag.Sanity" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9405554200> > Commit: 3959703aab1d10e28d3b80057793476467126929 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9405554200&attempt=2" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced URL path handling to support both UUID and Mongo ObjectIds. - **Refactor** - Replaced hardcoded page IDs with dynamic variables across multiple test files for improved maintainability and flexibility. - **Tests** - Updated test cases to use dynamic page IDs, ensuring consistency and easier updates in the future. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 09:44:54 +00:00
path: `/app/eval/page1-${pageId}/edit/jsObjects`,
expected: {
entity: FocusEntity.JS_OBJECT_LIST,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
applicationSlug: "eval",
entity: "jsObjects",
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
pageSlug: "page1-",
},
},
},
{
chore: Unify ID extraction regex from browser url (#33925) ## Description Regex update to make it compatible to extract identifiers for both Mongo ObjectIds and UUIDs. This will help us to keep the unified logic required in `pg` branch. ## Automation /ok-to-test tags="@tag.Datasource, @tag.GenerateCRUD, @tag.ImportExport, @tag.Fork, @tag.Workspace, @tag.Sanity" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9405554200> > Commit: 3959703aab1d10e28d3b80057793476467126929 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9405554200&attempt=2" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced URL path handling to support both UUID and Mongo ObjectIds. - **Refactor** - Replaced hardcoded page IDs with dynamic variables across multiple test files for improved maintainability and flexibility. - **Tests** - Updated test cases to use dynamic page IDs, ensuring consistency and easier updates in the future. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 09:44:54 +00:00
path: `/app/eval/page1-${pageId}/edit/jsObjects/myJSId`,
expected: {
entity: FocusEntity.JS_OBJECT,
id: "myJSId",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
applicationSlug: "eval",
collectionId: "myJSId",
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
pageSlug: "page1-",
},
},
},
{
chore: Unify ID extraction regex from browser url (#33925) ## Description Regex update to make it compatible to extract identifiers for both Mongo ObjectIds and UUIDs. This will help us to keep the unified logic required in `pg` branch. ## Automation /ok-to-test tags="@tag.Datasource, @tag.GenerateCRUD, @tag.ImportExport, @tag.Fork, @tag.Workspace, @tag.Sanity" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9405554200> > Commit: 3959703aab1d10e28d3b80057793476467126929 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9405554200&attempt=2" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced URL path handling to support both UUID and Mongo ObjectIds. - **Refactor** - Replaced hardcoded page IDs with dynamic variables across multiple test files for improved maintainability and flexibility. - **Tests** - Updated test cases to use dynamic page IDs, ensuring consistency and easier updates in the future. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 09:44:54 +00:00
path: `/app/eval/page1-${pageId}/edit/datasource`,
expected: {
entity: FocusEntity.DATASOURCE_LIST,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.DATA,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
applicationSlug: "eval",
entity: "datasource",
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
pageSlug: "page1-",
},
},
},
{
chore: Unify ID extraction regex from browser url (#33925) ## Description Regex update to make it compatible to extract identifiers for both Mongo ObjectIds and UUIDs. This will help us to keep the unified logic required in `pg` branch. ## Automation /ok-to-test tags="@tag.Datasource, @tag.GenerateCRUD, @tag.ImportExport, @tag.Fork, @tag.Workspace, @tag.Sanity" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9405554200> > Commit: 3959703aab1d10e28d3b80057793476467126929 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9405554200&attempt=2" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced URL path handling to support both UUID and Mongo ObjectIds. - **Refactor** - Replaced hardcoded page IDs with dynamic variables across multiple test files for improved maintainability and flexibility. - **Tests** - Updated test cases to use dynamic page IDs, ensuring consistency and easier updates in the future. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 09:44:54 +00:00
path: `/app/eval/page1-${pageId}/edit/datasource/myDatasourceId`,
expected: {
entity: FocusEntity.DATASOURCE,
id: "myDatasourceId",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.DATA,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
applicationSlug: "eval",
datasourceId: "myDatasourceId",
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
pageSlug: "page1-",
},
},
},
];
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
const customSlugCases: TestCase[] = [
{
chore: Unify ID extraction regex from browser url (#33925) ## Description Regex update to make it compatible to extract identifiers for both Mongo ObjectIds and UUIDs. This will help us to keep the unified logic required in `pg` branch. ## Automation /ok-to-test tags="@tag.Datasource, @tag.GenerateCRUD, @tag.ImportExport, @tag.Fork, @tag.Workspace, @tag.Sanity" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9405554200> > Commit: 3959703aab1d10e28d3b80057793476467126929 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9405554200&attempt=2" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced URL path handling to support both UUID and Mongo ObjectIds. - **Refactor** - Replaced hardcoded page IDs with dynamic variables across multiple test files for improved maintainability and flexibility. - **Tests** - Updated test cases to use dynamic page IDs, ensuring consistency and easier updates in the future. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 09:44:54 +00:00
path: `/app/myCustomSlug-${pageId}/edit`,
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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
2023-11-20 07:58:08 +00:00
expected: {
entity: FocusEntity.CANVAS,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
customSlug: "myCustomSlug-",
},
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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
2023-11-20 07:58:08 +00:00
},
},
{
chore: Unify ID extraction regex from browser url (#33925) ## Description Regex update to make it compatible to extract identifiers for both Mongo ObjectIds and UUIDs. This will help us to keep the unified logic required in `pg` branch. ## Automation /ok-to-test tags="@tag.Datasource, @tag.GenerateCRUD, @tag.ImportExport, @tag.Fork, @tag.Workspace, @tag.Sanity" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9405554200> > Commit: 3959703aab1d10e28d3b80057793476467126929 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9405554200&attempt=2" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced URL path handling to support both UUID and Mongo ObjectIds. - **Refactor** - Replaced hardcoded page IDs with dynamic variables across multiple test files for improved maintainability and flexibility. - **Tests** - Updated test cases to use dynamic page IDs, ensuring consistency and easier updates in the future. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 09:44:54 +00:00
path: `/app/myCustomSlug-${pageId}/edit/widgets/ryvc8i7oja`,
expected: {
entity: FocusEntity.PROPERTY_PANE,
feat: URL Navigation for Widgets (#20202) ## Description Widget selection is driven by URL changes. This would fix browser navigation for users as they can use browser back/forward buttons to travel across older contexts on Appsmith. > Fixing browser URL navigation for widgets Fixes #19571 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. - New feature (non-breaking change which adds functionality) ## How Has This Been Tested? - Manual - Jest - Cypress ### Test Plan > Add Testsmith [test cases](https://github.com/appsmithorg/TestSmith/issues/2171) links that relate to this PR ### Issues raised during DP testing - [X] When a selected widget is below viewport and user refreshes the page, then the widget property pane is open but the page does not navigate to the selected widget https://loom.com/share/09f1eda2f02d474981a0d48e4a6419ec - [ ] Drop 2 widgets one at a time > Delete both the widgets > Now click on back button of the browser > Observe the url it shows the widget id in the URL but the canvas remains empty https://loom.com/share/53cae28a5d224e67b783c8ccf53745f5 Dev Response: This issue is valid but not a major inconvenience. We will try to track it and see if it needed to be addressed. Many other web tools do not handle such cases - [X] Canvas scrolls down when all widgets are selected. https://loom.com/share/c8a68dadcdb040779abd3a73bde2b06c - [X] Widget is not getting highlighted when added from the API editor page. Please refer to the attached video:-https://jiju8jbmwa.vmaker.com/record/IkwiAqFgafK9dVmu ## 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: - [ ] Test plan has been approved by relevant developers - [x] Test plan has been peer reviewed by QA - [ ] Cypress test cases have been added and approved by either SDET or manual QA - [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA - [ ] Added Test Plan Approved label after reveiwing all Cypress test --------- Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-02-21 13:38:16 +00:00
id: "ryvc8i7oja",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
customSlug: "myCustomSlug-",
widgetIds: "ryvc8i7oja",
},
},
},
{
chore: Unify ID extraction regex from browser url (#33925) ## Description Regex update to make it compatible to extract identifiers for both Mongo ObjectIds and UUIDs. This will help us to keep the unified logic required in `pg` branch. ## Automation /ok-to-test tags="@tag.Datasource, @tag.GenerateCRUD, @tag.ImportExport, @tag.Fork, @tag.Workspace, @tag.Sanity" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9405554200> > Commit: 3959703aab1d10e28d3b80057793476467126929 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9405554200&attempt=2" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced URL path handling to support both UUID and Mongo ObjectIds. - **Refactor** - Replaced hardcoded page IDs with dynamic variables across multiple test files for improved maintainability and flexibility. - **Tests** - Updated test cases to use dynamic page IDs, ensuring consistency and easier updates in the future. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 09:44:54 +00:00
path: `/app/myCustomSlug-${pageId}/edit/queries`,
expected: {
entity: FocusEntity.QUERY_LIST,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
customSlug: "myCustomSlug-",
entity: "queries",
},
},
},
{
chore: Unify ID extraction regex from browser url (#33925) ## Description Regex update to make it compatible to extract identifiers for both Mongo ObjectIds and UUIDs. This will help us to keep the unified logic required in `pg` branch. ## Automation /ok-to-test tags="@tag.Datasource, @tag.GenerateCRUD, @tag.ImportExport, @tag.Fork, @tag.Workspace, @tag.Sanity" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9405554200> > Commit: 3959703aab1d10e28d3b80057793476467126929 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9405554200&attempt=2" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced URL path handling to support both UUID and Mongo ObjectIds. - **Refactor** - Replaced hardcoded page IDs with dynamic variables across multiple test files for improved maintainability and flexibility. - **Tests** - Updated test cases to use dynamic page IDs, ensuring consistency and easier updates in the future. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 09:44:54 +00:00
path: `/app/myCustomSlug-${pageId}/edit/api/myApiId`,
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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
2023-11-20 07:58:08 +00:00
expected: {
entity: FocusEntity.QUERY,
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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
2023-11-20 07:58:08 +00:00
id: "myApiId",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
customSlug: "myCustomSlug-",
apiId: "myApiId",
},
fix: sidebar context switching (#28818) ## Description The App sidebar introduces a new Focus Entity in Context Switching. In this, whenever a user clicks the sidebar navigation item, we will ensure the last visited state is restored for that state. We do this by storing and restoring the last url on the App Sidebar state before navigating away. Internal focus entities (Datasource, Query etc) will then restore their last states in a cascading fashion. I took this opportunity to also refactor the URL storing of App Page Level focus, which also relies of storing and restoring urls. This reduces the tech debt introduced earlier and makes the functionality more configurable for future use cases. #### PR fixes following issue(s) Fixes #28873 #### Media https://github.com/appsmithorg/appsmith/assets/12022471/47c38835-37c7-4c8c-bad3-b5830702d74b #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] Jest (Updated existing tests) - [ ] Cypress (Made sure all existing tests pass) #### 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
2023-11-20 07:58:08 +00:00
},
},
{
chore: Unify ID extraction regex from browser url (#33925) ## Description Regex update to make it compatible to extract identifiers for both Mongo ObjectIds and UUIDs. This will help us to keep the unified logic required in `pg` branch. ## Automation /ok-to-test tags="@tag.Datasource, @tag.GenerateCRUD, @tag.ImportExport, @tag.Fork, @tag.Workspace, @tag.Sanity" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9405554200> > Commit: 3959703aab1d10e28d3b80057793476467126929 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9405554200&attempt=2" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced URL path handling to support both UUID and Mongo ObjectIds. - **Refactor** - Replaced hardcoded page IDs with dynamic variables across multiple test files for improved maintainability and flexibility. - **Tests** - Updated test cases to use dynamic page IDs, ensuring consistency and easier updates in the future. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 09:44:54 +00:00
path: `/app/myCustomSlug-${pageId}/edit/queries/myQueryId`,
expected: {
entity: FocusEntity.QUERY,
id: "myQueryId",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
customSlug: "myCustomSlug-",
queryId: "myQueryId",
},
},
},
{
chore: Unify ID extraction regex from browser url (#33925) ## Description Regex update to make it compatible to extract identifiers for both Mongo ObjectIds and UUIDs. This will help us to keep the unified logic required in `pg` branch. ## Automation /ok-to-test tags="@tag.Datasource, @tag.GenerateCRUD, @tag.ImportExport, @tag.Fork, @tag.Workspace, @tag.Sanity" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9405554200> > Commit: 3959703aab1d10e28d3b80057793476467126929 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9405554200&attempt=2" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced URL path handling to support both UUID and Mongo ObjectIds. - **Refactor** - Replaced hardcoded page IDs with dynamic variables across multiple test files for improved maintainability and flexibility. - **Tests** - Updated test cases to use dynamic page IDs, ensuring consistency and easier updates in the future. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 09:44:54 +00:00
path: `/app/myCustomSlug-${pageId}/edit/jsObjects`,
expected: {
entity: FocusEntity.JS_OBJECT_LIST,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
entity: "jsObjects",
customSlug: "myCustomSlug-",
},
},
},
{
chore: Unify ID extraction regex from browser url (#33925) ## Description Regex update to make it compatible to extract identifiers for both Mongo ObjectIds and UUIDs. This will help us to keep the unified logic required in `pg` branch. ## Automation /ok-to-test tags="@tag.Datasource, @tag.GenerateCRUD, @tag.ImportExport, @tag.Fork, @tag.Workspace, @tag.Sanity" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9405554200> > Commit: 3959703aab1d10e28d3b80057793476467126929 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9405554200&attempt=2" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced URL path handling to support both UUID and Mongo ObjectIds. - **Refactor** - Replaced hardcoded page IDs with dynamic variables across multiple test files for improved maintainability and flexibility. - **Tests** - Updated test cases to use dynamic page IDs, ensuring consistency and easier updates in the future. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 09:44:54 +00:00
path: `/app/myCustomSlug-${pageId}/edit/jsObjects/myJSId`,
expected: {
entity: FocusEntity.JS_OBJECT,
id: "myJSId",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.EDITOR,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
collectionId: "myJSId",
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
customSlug: "myCustomSlug-",
},
},
},
{
chore: Unify ID extraction regex from browser url (#33925) ## Description Regex update to make it compatible to extract identifiers for both Mongo ObjectIds and UUIDs. This will help us to keep the unified logic required in `pg` branch. ## Automation /ok-to-test tags="@tag.Datasource, @tag.GenerateCRUD, @tag.ImportExport, @tag.Fork, @tag.Workspace, @tag.Sanity" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9405554200> > Commit: 3959703aab1d10e28d3b80057793476467126929 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9405554200&attempt=2" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced URL path handling to support both UUID and Mongo ObjectIds. - **Refactor** - Replaced hardcoded page IDs with dynamic variables across multiple test files for improved maintainability and flexibility. - **Tests** - Updated test cases to use dynamic page IDs, ensuring consistency and easier updates in the future. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 09:44:54 +00:00
path: `/app/myCustomSlug-${pageId}/edit/datasource`,
expected: {
entity: FocusEntity.DATASOURCE_LIST,
id: "",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.DATA,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
entity: "datasource",
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
customSlug: "myCustomSlug-",
},
},
},
{
chore: Unify ID extraction regex from browser url (#33925) ## Description Regex update to make it compatible to extract identifiers for both Mongo ObjectIds and UUIDs. This will help us to keep the unified logic required in `pg` branch. ## Automation /ok-to-test tags="@tag.Datasource, @tag.GenerateCRUD, @tag.ImportExport, @tag.Fork, @tag.Workspace, @tag.Sanity" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9405554200> > Commit: 3959703aab1d10e28d3b80057793476467126929 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9405554200&attempt=2" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced URL path handling to support both UUID and Mongo ObjectIds. - **Refactor** - Replaced hardcoded page IDs with dynamic variables across multiple test files for improved maintainability and flexibility. - **Tests** - Updated test cases to use dynamic page IDs, ensuring consistency and easier updates in the future. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 09:44:54 +00:00
path: `/app/myCustomSlug-${pageId}/edit/datasource/myDatasourceId`,
expected: {
entity: FocusEntity.DATASOURCE,
id: "myDatasourceId",
chore: Refactoring sidebar on app editor to support the same on package editor (#29212) ## Description Refactoring sidebar on app editor to support the same on package editor #### PR fixes following issue(s) Fixes [#28476](https://github.com/appsmithorg/appsmith/issues/28476) #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [x] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] 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: Hetu Nandu <hetunandu@gmail.com>
2023-11-30 09:26:24 +00:00
appState: EditorState.DATA,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
params: {
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
pageId,
chore: Refactor Context Switching (#29966) ## Description Refactors the Context Switching functionality to make it usable of different IDE types. It now will set a `FocusStrategy` based on the IDE type { App, Module, Workflow } and perform the same operations. Implementation of `FocusStrategy` for other IDE types will be done on the EE side. It removes all dependence of `pageId` from the core functionality and relies on the Strategy implementation to define what states to store and set, and the key used for them. Also renamed the functionality to `FocusRetention` for more clarity. #### PR fixes following issue(s) Fixes #29961 #### Type of change - Chore (housekeeping or task changes that don't impact user perception) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [ ] 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added functionality for managing focus elements within the application's integrated development environment (IDE). - Introduced a focus strategy for handling focus elements in the application. - **Refactor** - Restructured code for focus management configurations and strategies to improve clarity and efficiency. - Renamed `ConfigType` enum to `FocusElementConfigType` for better reflection of its purpose. - **Bug Fixes** - Resolved issues with focus state restoration during navigation between different URLs. - **Tests** - Updated test cases to align with the new focus management logic and IDE type checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-08 05:39:47 +00:00
customSlug: "myCustomSlug-",
datasourceId: "myDatasourceId",
},
},
},
];
const cases = oldUrlCases.concat(pageSlugCases.concat(customSlugCases));
test: Extract `pageId` with regex to cover more cases (#34521) There's a few places in Cypress tests that are trying to extract the page ID using `.split`, especially with just the path information, instead of the whole URL. So this PR changes the extraction implementation to use a regex, to support all three cases we need: 1. Full absolute application+page URL. 2. Just the path of an application+page URL. 3. Just the path of an application with a custom slug. 4. Full absolute application with a custom slug. (Supported, but we don't need this today). We've also fixed the URL parsing for the (very) old application URLs that didn't use slugs in the URL at all. This was making `FocusEntity.test.ts` fail. Fixed that test as well as improved it's error reporting. Before this PR: ![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de) After this PR: ![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00) No conflicts to EE. /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9713573983> > Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved URL handling by centralizing page ID extraction logic across various tests and components. - Updated deprecated path constants to include ID extraction patterns for better consistency. - Enhanced code readability and maintainability by moving page ID extraction to a helper method. - **Tests** - Modified test cases to dynamically set `applicationId` and `pageId` instead of hardcoding values, ensuring more flexible and maintainable test scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 01:01:59 +00:00
it.each(cases)("$# $path", ({ expected, path }) => {
expect(identifyEntityFromPath(path)).toStrictEqual(expected);
});
});