Skip to content

Conversation

@sadpandajoe
Copy link
Member

@sadpandajoe sadpandajoe commented Nov 1, 2025

SUMMARY

This PR completes the migration from Cypress to Playwright for authentication tests by:

  1. Removing the deprecated Cypress authentication test file
  2. Making Playwright authentication tests required for CI (removes shadow mode)

The Playwright auth tests have been running in parallel with Cypress tests long enough to validate reliability with no false positives or negatives observed. The Playwright implementation provides full test coverage with enhanced error detection through the Page Object Model pattern and multiple selector strategies.

Changes:

  1. Removed deprecated Cypress auth test

    • Deleted superset-frontend/cypress-base/cypress/e2e/auth/login.test.ts
    • Playwright auth tests have run in shadow mode for months with no false positives/negatives
  2. Split Playwright workflow into required and experimental jobs

    • playwright-tests (required): Runs stable tests, failures block merge
    • playwright-tests-experimental (shadow mode): Runs experimental tests with continue-on-error: true
  3. Created directory-based test organization

    playwright/tests/
    ├── auth/               # Required tests (blocks merge)
    │   └── login.spec.ts
    └── experimental/       # Shadow mode (continue-on-error: true)
        └── README.md
    

Migration Path for Future Tests

When migrating tests from Cypress to Playwright:

  1. Initial development: Add new test to playwright/tests/experimental/
  2. Validation: Let it run in CI shadow mode (won't block merges)
  3. Promotion: Once stable, git mv to parent directory
  4. Automatic requirement: Test now blocks merge if it fails

Zero workflow maintenance required when adding or promoting tests.

Test Coverage Verified:

  • ✓ Failed login detection (with enhanced error message handling)
  • ✓ Successful login flow with session cookie validation
  • ✓ Both app_root configurations tested: "" and "/app/prefix"
  • ✓ Full parity with deleted Cypress tests

The Playwright workflow tests both app_root configurations and will now be required for merge, ensuring authentication functionality is properly validated in all deployment scenarios.

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

  • Has associated issue:
  • Required feature flags:
  • Changes UI
  • Includes DB Migration (follow approval process in SIP-59)
    • Migration is atomic, supports rollback & is backwards-compatible
    • Confirm DB migration upgrade and downgrade tested
    • Runtime estimates and downtime expectations provided
  • Introduces new feature or API
  • Removes existing feature or API
Removes the deprecated Cypress authentication tests and makes Playwright
authentication tests required for CI by removing shadow mode.

Changes:
- Remove `continue-on-error: true` from Playwright workflow
- Delete `superset-frontend/cypress-base/cypress/e2e/auth/login.test.ts`
- Playwright auth tests now block CI on failure

The Playwright tests have been running in parallel with Cypress tests
long enough to validate reliability with no false positives/negatives.
Playwright provides full test coverage with enhanced error detection
through Page Object Model pattern and multiple selector strategies.

Both app_root configurations ("" and "/app/prefix") are tested and
validated by the Playwright workflow.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@bito-code-review
Copy link
Contributor

bito-code-review bot commented Nov 1, 2025

Code Review Agent Run #72b6e3

Actionable Suggestions - 0
Review Details
  • Files reviewed - 1 · Commit Range: c3a5ba5..c3a5ba5
    • superset-frontend/cypress-base/cypress/e2e/auth/login.test.ts
  • Files skipped - 1
    • .github/workflows/superset-playwright.yml - Reason: Filter setting
  • Tools
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers a full AI review.

  • /pause - Pauses automatic reviews on this pull request.

  • /resume - Resumes automatic reviews.

  • /resolve - Marks all Bito-posted review comments as resolved.

  • /abort - Cancels all in-progress reviews.

Refer to the documentation for additional commands.

Configuration

This repository uses Default Agent You can customize the agent settings here or contact your Bito workspace admin at evan@preset.io.

Documentation & Help

AI Code Review powered by Bito Logo

@github-actions github-actions bot added the github_actions Pull requests that update GitHub Actions code label Nov 1, 2025
Copy link

@korbit-ai korbit-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've completed my review and didn't find any issues.

Check out our docs on how you can make Korbit work best for you and your team.

Loving Korbit!? Share us on LinkedIn Reddit and X

@dosubot dosubot bot added the authentication Related to authentication label Nov 1, 2025
@pull-request-size pull-request-size bot added size/L and removed size/M labels Nov 1, 2025
This enhances the Playwright workflow to support ongoing test migration:

**New Structure:**
- `playwright-tests` (required): Runs stable tests, blocks merge on failure
- `playwright-tests-experimental` (shadow mode): Runs experimental/ tests with continue-on-error

**Changes:**
- Split workflow into two jobs for separate status reporting
- Updated bashlib.sh to accept TEST_PATH parameter
- Created tests/experimental/ directory with migration documentation
- Default behavior: run all tests except experimental/

**Migration Path:**
New Playwright tests go in experimental/ for validation, then `git mv` to stable when proven.

**Branch Protection:**
Add `playwright-tests` job to required status checks to enforce.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@sadpandajoe sadpandajoe force-pushed the feat-remove-cypress-auth-tests branch from 48ef323 to fd223a0 Compare November 1, 2025 05:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

authentication Related to authentication github_actions Pull requests that update GitHub Actions code size/L

1 participant