Add end-to-end tests for parent notifications and actions
All checks were successful
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m35s
All checks were successful
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m35s
- 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.
This commit is contained in:
27
.github/skills/playwright-default/SKILL.md
vendored
Normal file
27
.github/skills/playwright-default/SKILL.md
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
name: playwright-default
|
||||
description: 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.
|
||||
@@ -240,11 +240,11 @@ A full Playwright E2E test plan has been produced and saved to:
|
||||
|
||||
`frontend/vue-app/e2e/plans/parent-notifications.plan.md`
|
||||
|
||||
The plan covers 9 scenario groups (41 automated test cases + 1 manual QA checklist):
|
||||
The plan covers 10 scenario groups (56 automated test cases + 1 manual QA checklist):
|
||||
|
||||
| # | Group | Cases |
|
||||
| --- | ----------------------------------------- | ----- |
|
||||
| 1 | Push subscription registration | 5 |
|
||||
| 1 | Push subscription registration | 3 |
|
||||
| 2 | Chore notification — approve flow | 8 |
|
||||
| 3 | Chore notification — reject flow | 5 |
|
||||
| 4 | Reward notification — grant flow | 7 |
|
||||
@@ -253,6 +253,7 @@ The plan covers 9 scenario groups (41 automated test cases + 1 manual QA checkli
|
||||
| 7 | Digest action token — happy paths | 8 |
|
||||
| 8 | Digest action token — error paths | 5 |
|
||||
| 9 | Service Worker push — manual QA checklist | — |
|
||||
| 10 | User Profile notification toggles | 7 |
|
||||
|
||||
**Prerequisite noted in plan:** A backend test-only endpoint `POST /api/admin/test/digest-token` (active only when `DB_ENV=e2e`) is required before scenario groups 7 and 8 can run.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user