Skip to content

Conversation

@tangencialmente
Copy link

@tangencialmente tangencialmente commented Oct 31, 2025

Description

This pull request adds end-to-end test cases using testRigor.

testRigor is an AI-powered end-to-end testing platform that allows you to write tests in plain English. This setup enables automated testing of the Plane application's user interface and functionality from a user's perspective.

- 1 new workflow file that will perform a full run of this test suite when triggered.
- 1 new folders called e2etests that contains all the test cases and reusable rules being added.

Here are the results of the latest test suite run: https://app.testrigor.com/public/RMEFLdnHwGbLu265M

Why testRigor?

Test cases written in plain English: Anyone can contribute automated tests without any language-specific coding skills, broadening the contributor base and allowing a higher test coverage.

Reduced maintenance overhead: Tests are resilient to UI changes, lowering the cost of keeping the suite up to date.

Cross-platform coverage: Support across different environments and setups such as mobile, desktop and web.

How to test the changes in this Pull Request:

There are 2 ways to test these changes, either by triggering the workflow actions or by executing it manually:
Workflow actions:

Do any pull/push request to trigger the workflow file over at .github/workflows/CI-tR.yml
The workflow file will set up the test environment then run the test cases
A new test suite run will be triggered

Manual trigger:
- Set up a plane instance following these steps.
- Set up a free testRigor test suite
- Install the testRigor CLI tool
- Open the CLI then type out the following command testrigor test-suite run <SUITE_ID> --token <CI_TOKEN> --localhost --url --test-cases-path e2e-tests/testcases/**/*.txt

Replace the items between "< >" with the corresponding values:

SUITE_ID: the ID of the test suite itself, it's located in the URL (i.e. for the following test suite: https://app.testrigor.com/test-suites/245eg9BjPdToYXHNf/test-cases , the SUITE_ID is: 245eg9BjPdToYXHNf
CI_TOKEN: To get the CI token follow these steps:
    Open the test suite that has been previously set up.
    Click "CI/CD Integration" located on the sidebar.
    The auth token should be located there (refer to the image posted below).
    Copy the CI token then use it on the CLI command.

A test suite run should trigger after following these steps, executing the test cases located on the folder.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • Feature (non-breaking change which adds functionality)
  • Improvement (change that would cause existing functionality to not work as expected)
  • Code refactoring
  • Performance improvements
  • Documentation update

Test Scenarios:

For the test cases being executed, the test scenario consists in a regular self-hosted plane instance (installed following these rules) that includes 1 admin and 2 normal users.

The 10 test cases being added test, different functionalities these include:

  • Validating that the search function filters work items by labels.
  • Validate that quicklinks do in fact redirect to the specified website.
  • Validating that you can't add an active cycle when another cycle is already active.
  • Validating that cycle progress updates accordingly whenever work items are tagged as "done".
  • Validating that work items can be dragged on views.
  • Validating that pages can be updated be edited by other users and they update in real time.
  • Validating that comments on a work ticket trigger notifications for the people being assigned to it.
  • Validating that changing the project ID, updates the ID of all work items.
  • Validating that it's possible to drag work items on board view and by doing so, their status gets updated.
  • Validating that when guest users are added to a project they're able to see its work items.

Note

Adds a testRigor-based E2E workflow and tests, replaces the legacy command palette with the new Power K system, standardizes chevron/close icons via propel, and upgrades global search and issue link serialization.

  • CI/CD & E2E:
    • Add /.github/workflows/tR-ci.yml to run testRigor suites in CI.
    • Add e2etests/ with README, reusable rules, and test cases.
  • Command Palette (Power K):
    • Implement new Power K command system (registry, shortcuts, modal, context-based actions, navigation/preferences menus).
    • Integrate ProjectsAppPowerKProvider into app layouts; remove legacy command-palette code.
  • Icons & UI:
    • Add CloseIcon and Chevron*Icon to @plane/propel/icons; refactor app/editor/ui to use them instead of lucide variants.
    • Replace command palette styles with power-k.css.
  • API/Search:
    • Global search: safer query handling, entity selection via entities param, added intake results, and consistent -created_at ordering.
  • Serialization:
    • IssueLinkCreateSerializer now accepts title.
  • Misc:
    • Filter/display utilities tweaks; settings icons export rename; minor dependency/lock updates.

Written by Cursor Bugbot for commit edc0749. This will update automatically on new commits. Configure here.

tangencialmente and others added 7 commits October 31, 2025 10:24
Updated tR-ci.yml (changed path to test case files)

Updated tR-ci.yml

Updated tR-ci.yml

Added e2e test cases

Updated tR-ci.yml

Updated tR-ci.yml

Tweaked directory naming and structure

Tweaked test cases

Tweaked workflow file

Fix URL formatting in tR-ci.yml

Renamed folders

Workflow file changes

Renamed test cases

Add rules path to testrigor command in CI workflow

Updated tR-ci.yml

Update tR-ci.yml to remove verbose flag

Removed the --verbose flag from the testrigor command.
* feat: add project shortcut in command palette

* feat: global project switcher shortcut

* refactor: generalize command palette entity handling

* feat: extend command palette navigation

* feat: add issue shortcut to command palette

* feat: add modular project selection for cycle navigation

* chore: add reusable command palette utilities

* fix: update key sequence handling to use window methods for timeout management

* fix: build errors

* chore: minor ux copy improvements

* feat: implement a new command registry and renderer for enhanced command palette functionality

* feat: introduce new command palette components and enhance search functionality

* feat: enhance command palette components with improved initialization and loading indicators

* feat: Implement new command palette architecture with multi-step commands, context-aware filtering, and reusable components. Add comprehensive documentation and integration guides. Enhance command execution with a dedicated executor and context provider. Introduce new command types and improve existing command definitions for better usability and maintainability.

* refactor: hook arguments

* refactor: folder structure

* refactor: update import paths

* fix: context prop drilling

* refactor: update search components

* refactor: create actions

* chore: add type to pages

* chore: init contextual actions

* refactor: context based actions code split

* chore: module context-based actions

* refactor: streamline command execution flow and enhance multi-step handling in command palette

* refactor: remove placeholder management from command execution and implement centralized placeholder mapping

* chore: cycle context based actions

* refactor: simplify command execution by consolidating selection steps and adding page change handling

* chore: added more options to work item contextual actions

* chore: page context actions

* refactor: update step type definitions and enhance page mapping for command execution

* feat: implement Command Palette V2 with global shortcuts and enhanced context handling

* refactor: power k v2

* refactor: creation commands

* feat: add navigation utility for Power K context handling

* feat: implement comprehensive navigation commands for Power K

* refactor: work item contextual actions

* fix: build errors

* refactor: remaining contextual actions

* refactor: remove old code

* chore: update placeholder

* refactor: enhance command registry with observable properties and context-aware shortcut handling

* refactor: improve command filtering logic in CommandPaletteModal

* chore: context indicator

* chore: misc actions

* style: shortcut badge

* feat: add open entity actions and enhance navigation commands for Power K

* refactor: rename and reorganize Power K components for improved clarity and structure

* refactor: update CommandPalette components and streamline global shortcuts handling

* refactor: adjust debounce timing in CommandPaletteModal for improved responsiveness

* feat: implement shortcuts modal and enhance command registry for better shortcut management

* fix: search implemented

* refactor: search results code split

* refactor: search results code split

* feat: introduce creation and navigation command modules for Power K, enhancing command organization and functionality

* chore: update menu logos

* refactor: remove unused PowerKOpenEntityActionsExtended component from command palette

* refactor: search menu

* fix: clear context on backspace and manual clear

* refactor: rename creation command keys for consistency and clarity in Power K

* chore: added intake in global search

* chore: preferences menu

* chore: removed the empty serach params

* revert: command palette changes

* cleanup

* refactor: update command IDs to use underscores for consistency across Power K components

* refactor: extended context based actions

* chore: modal command item status props

* refactor: replace CommandPalette with CommandPaletteProvider in settings and profile layouts

* refactor: update settings menu to use translated labels instead of i18n labels

* refactor: update command titles to use translation keys for creation actions

* refactor: update navigation command titles to use translation keys for consistency

* chore: minor cleanup

* chore: misc commands added

* chore: code split for no search results command

* chore: state menu items for work item context based commands

* chore: add more props to no search results command

* chore: add more props to no search results command

* refactor: remove shortcut key for create workspace command

* Refactor command palette to use PowerK store

- Replaced instances of `useCommandPalette` with `usePowerK` across various components, including `AppSearch`, `CommandModal`, and `CommandPalette`.
- Introduced `PowerKStore` to manage modal states and commands, enhancing the command palette functionality.
- Updated modal handling to toggle `PowerKModal` and `ShortcutsListModal` instead of the previous command palette modals.
- Refactored related components to ensure compatibility with the new store structure and maintain functionality.

* Refactor PowerK command handling to remove context dependency

- Updated `usePowerKCommands` and `usePowerKCreationCommands` to eliminate the need for a context parameter, simplifying their usage.
- Adjusted related command records to utilize the new structure, ensuring consistent access to command configurations.
- Enhanced permission checks in creation commands to utilize user project roles for better access control.

* chore: add context indicator

* chore: update type import

* chore: migrate toast implementation from @plane/ui to @plane/propel/toast across multiple command files

* refactor: power k modal wrapper and provider

* fix: type imports

* chore: update creation command shortcuts

* fix: page context commands

* chore: update navigation and open command shortcuts

* fix: work item standalone page modals

* fix: context indicator visibility

* fix: potential error points

* fix: build errors

* fix: lint errors

* fix: import order

---------

Co-authored-by: Vihar Kurama <[email protected]>
Co-authored-by: Prateek Shourya <[email protected]>
Co-authored-by: NarayanBavisetti <[email protected]>
Fix test case path in tR-ci workflow

Modified test cases

Modified test cases
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 31, 2025

Important

Review skipped

More than 25% of the files skipped due to max files limit. The review is being skipped to prevent a low-quality review.

192 files out of 300 files are above the max files limit of 100. Please upgrade to Pro plan to get higher limits.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@CLAassistant
Copy link

CLAassistant commented Oct 31, 2025

CLA assistant check
All committers have signed the CLA.

@tangencialmente tangencialmente changed the title Added end-to-end test cases using testRigor through CI/CD 🚀 Feature: Added end-to-end test cases using testRigor through CI/CD Oct 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants