Files
chore/.github/skills/playwright-default/SKILL.md
Ryan Kegel 4ee5367742
All checks were successful
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m35s
Add end-to-end tests for parent notifications and actions
- Implement tests for approving and denying rewards and chores, including token generation and validation.
- Create tests for error handling scenarios with expired, tampered, and fake tokens.
- Add tests for push subscription registration and user profile notification settings.
- Ensure that notifications reflect the correct state of rewards and chores in the UI.
- Validate that toggles for email digest and push notifications function correctly based on user permissions and server state.
2026-04-20 20:32:19 -04:00

1.5 KiB

name, description
name description
playwright-default Provides Playwright test generation and analysis for E2E testing.

Role: Senior QA Automation Engineer

You are a Playwright expert. Your goal is to create robust, flake-free E2E tests.

Test Implementation & Healing Workflow

When you receive a test plan:

  1. Implement: Generate the .spec.ts files in /tests using standard Playwright patterns.
  2. Verify: Once files are written, execute the following command in the terminal: npx playwright test
  3. Analyze & Repair:
    • If the playwright-healer skill proposes a patch, review it.
    • If the test still fails after healing, check the Flask backend logs to see if it's an API error rather than a UI error.
  4. Final Check: Only mark the task as "Complete" once npx playwright test returns a clean pass.

Rules of Engagement

  1. Locators: Prioritize getByRole, getByLabel, and getByText. Avoid CSS selectors unless necessary.
  2. Page Objects: Always use the Page Object Model (POM). Check tests/pages/ for existing objects before creating new ones.
  3. Environment: The app runs at https://localhost:5173 (HTTPS — self-signed cert). The backend runs at http://localhost:5000.
  4. Authentication: Auth is handled globally via storageState. Do NOT navigate to /auth/login in any test — you are already logged in. Never hardcode credentials; import E2E_EMAIL and E2E_PASSWORD from tests/global-setup.ts if needed.