Files
cc-ci/BACKLOG-kuma.md
autonomic-bot 8da59cff22
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is passing
feat(kuma): implement wizard+monitor Playwright test (tests/uptime-kuma/playwright/)
Phase kuma M1 impl: resolves the 2026-05-28 DEFERRED uptime-kuma create-a-monitor item.

Approach: Playwright (option b) — python-socketio not in cc-ci Nix env; Playwright
handles Socket.IO transparently via the real browser. Selectors confirmed in 2.2.1
compiled bundle (data-cy setup wizard + data-testid monitor form/status badge).

Test flow (test_monitor_wizard_and_probe):
1. Setup wizard: admin create via data-cy form → auto-login → /dashboard
2. Create self-probe monitor (https://{live_app}/) → wait ≤90s for "Up" badge
3. Heartbeat table row check: isFirstBeat=important, row has real datetime stamp
4. Negative: dead-port monitor (http://127.0.0.1:19999/dead) → wait ≤60s for "Down"

All waits are bounded poll with page.wait_for_function/wait_for_url/wait_for_selector.
Admin password: 64-char UUID hex, never printed/logged.

Also: DECISIONS.md records Playwright choice; phase state files bootstrapped.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 18:15:13 +00:00

25 lines
956 B
Markdown

# BACKLOG — phase `kuma` (uptime-kuma create-a-monitor functional test)
## Build backlog
### DONE
- [x] Phase state files created (STATUS-kuma.md, BACKLOG-kuma.md, REVIEW-kuma.md, JOURNAL-kuma.md)
- [x] Approach decision: Playwright over python-socketio (recorded in DECISIONS.md)
- [x] Inspect uptime-kuma 2.2.1 source for exact DOM selectors
- [x] Implement `tests/uptime-kuma/playwright/test_monitor_wizard.py`
### IN PROGRESS
- [ ] Open recipe-maintainers/uptime-kuma PR and trigger `!testme`
- [ ] Confirm drone run green (M1 acceptance)
- [ ] Claim M1 gate
### PENDING (after M1 Adversary PASS)
- [ ] Second `!testme` run (flake check — 2 consecutive green)
- [ ] Update PARITY.md (note the new playwright/ test)
- [ ] Close DEFERRED.md entry "2026-05-28 — uptime-kuma create-a-monitor"
- [ ] Claim M2 gate
- [ ] Write ## DONE after M2 Adversary PASS
## Adversary findings
(Adversary-owned — no items yet; populated as issues are found)