plane icon indicating copy to clipboard operation
plane copied to clipboard

๐Ÿš€ Feature: Added end-to-end test cases using testRigor through CI/CD

Open tangencialmente opened this issue 1 month ago โ€ข 1 comments

This is a re-submission of this PR as it wasn't properly rebased.

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:

Type of Change

  • [ ] Bug fix (non-breaking change which fixes an issue)
  • [x] 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. Test case execution.
  • Validate that quicklinks do in fact redirect to the specified website. Test case execution.
  • Validating that you can't add an active cycle when another cycle is already active. Test case execution.
  • Validating that cycle progress updates accordingly whenever work items are tagged as "done". Test case execution.
  • Validating that work items can be dragged on views. Test case execution.
  • Validating that pages can be updated be edited by other users and they update in real time. Test case execution.
  • Validating that comments on a work ticket trigger notifications for the people being assigned to it. Test case execution.
  • Validating that changing the project ID, updates the ID of all work items. Test case execution.
  • Validating that it's possible to drag work items on board view and by doing so, their status gets updated. Test case execution.
  • Validating that when guest users are added to a project they're able to see its work items. Test case execution.

[!NOTE] Cursor Bugbot is generating a summary for commit 8d87bb543762a3d9e9520b9d3ccd7434d200b4df. Configure here.

Summary by CodeRabbit

  • Tests

    • Added comprehensive end-to-end test suite covering user authentication, project and workspace management, work item operations, cycle creation, page and view management, and team collaboration features.
    • Integrated automated testing workflow with CI/CD pipeline support.
  • Documentation

    • Added end-to-end testing documentation including setup instructions, manual testing guidance, and CI/CD integration details.

tangencialmente avatar Nov 12 '25 15:11 tangencialmente

Walkthrough

This pull request introduces a comprehensive end-to-end testing infrastructure using testRigor. It adds a GitHub Actions workflow for automated E2E test execution, documentation for the testing framework, reusable test rules for common UI interactions, and ten test case scenarios covering key features like user management, work items, cycles, views, and pages.

Changes

Cohort / File(s) Summary
CI/CD Infrastructure
.github/workflows/tR-ci.yml
New GitHub Actions workflow named "End-to-End testing with tR" that triggers on push/pull requests to branches tR-e2e-testing and preview. Sets up Plane instance, installs testRigor CLI, and executes test suite with CI token and localhost configuration.
Documentation
e2etests/README.md
Documentation covering E2E testing overview, workflow setup, manual testing guidance, requirements, CI/CD triggers, repository secrets configuration (CI_TOKEN, SUITE_ID), and learning resources.
Reusable Test Rules
e2etests/rules/*
15 test rule files defining parameterized UI automation steps: user authentication (Log "user"..., create user...), project management (add cycle..., add view..., create page...), work item operations (create/delete work item..., quick add work item...), user/cycle/view/page management (add/remove user..., remove cycle..., delete/add view...), and navigation (log out.txt, invite user...).
Test Case Scenarios
e2etests/testcases/*
10 comprehensive E2E test case files validating: team collaboration (add member, assign work items), project settings (Project ID updates), board interactions (drag-and-drop status changes), notifications (inbox comments), cross-user functionality (page editing), work item organization (views, dragging), cycle tracking (progress monitoring, active cycle enforcement), quicklink redirection, and label-based filtering.

Estimated code review effort

๐ŸŽฏ 2 (Simple) | โฑ๏ธ ~12 minutes

  • Rationale: While the diff introduces 26 new files, they are predominantly test configuration and automation scripts using testRigor's declarative format rather than complex application logic. Files within cohorts follow consistent patterns with minimal heterogeneity.
  • Areas requiring attention:
    • .github/workflows/tR-ci.yml โ€” Verify Plane setup command (curl to prime.plane.so), testRigor CLI installation steps, and CI token/suite ID parameter usage are correct
    • Test case files โ€” Skim a few representative files (e.g., "Add team member to project..." and "Create a work cycle...") to confirm test flow logic and stored value references are consistent
    • e2etests/README.md โ€” Confirm documentation accurately reflects workflow triggers and configuration requirements

Poem

๐Ÿฐ Hops of joy for testing today!
Rules and cases light the way,
testRigor scripts dance through the play,
E2E workflows save the day! โœจ

Pre-merge checks and finishing touches

โŒ Failed checks (1 warning)
Check name Status Explanation Resolution
Title check โš ๏ธ Warning The title uses an emoji and focuses on a feature descriptor rather than the primary change; however, it adequately describes the main addition of end-to-end test cases. Remove the emoji and rephrase to be more specific: 'Add end-to-end test cases using testRigor' or 'Add testRigor-based end-to-end testing workflow and test suite'.
โœ… Passed checks (2 passed)
Check name Status Explanation
Description check โœ… Passed The description comprehensively covers the purpose, scope, testing approach, and specific test scenarios with external references, though formatted unconventionally.
Docstring Coverage โœ… Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
โœจ Finishing touches
๐Ÿงช 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.

coderabbitai[bot] avatar Nov 12 '25 15:11 coderabbitai[bot]