162 lines
5.4 KiB
Markdown
162 lines
5.4 KiB
Markdown
---
|
|
title: "Manual Test Plan - PR-5 TCP Monitor UX Fix"
|
|
labels:
|
|
- testing
|
|
- frontend
|
|
- bug
|
|
priority: high
|
|
---
|
|
|
|
# Manual Test Plan - PR-5 TCP Monitor UX Fix
|
|
|
|
## Scope
|
|
|
|
PR-5 only.
|
|
|
|
This plan covers manual verification of the five UX fixes applied to the TCP monitor creation form:
|
|
|
|
1. Corrected URL placeholder (removed misleading `tcp://` prefix)
|
|
2. Dynamic per-type placeholder (HTTP vs TCP)
|
|
3. Per-type helper text below the URL input
|
|
4. Client-side TCP scheme validation with inline error
|
|
5. Form field reorder: type selector now appears before URL input
|
|
|
|
Out of scope:
|
|
- Backend monitor logic or storage
|
|
- Any other monitor type beyond HTTP and TCP
|
|
- Notification provider changes
|
|
|
|
## Preconditions
|
|
|
|
- [ ] Environment is running (Docker E2E or local dev).
|
|
- [ ] Tester can access the Monitors page and open the Create Monitor modal.
|
|
- [ ] Browser DevTools Network tab is available for TC-PR5-007.
|
|
|
|
---
|
|
|
|
## Track A — Smoke Tests (Existing HTTP Behaviour)
|
|
|
|
### TC-PR5-001 HTTP monitor creation still works
|
|
|
|
- [ ] Open the Create Monitor modal.
|
|
- [ ] Select type **HTTP**.
|
|
- [ ] Enter a valid URL: `https://example.com`.
|
|
- [ ] Fill in remaining required fields and click **Create**.
|
|
- Expected result: monitor is created successfully; no errors shown.
|
|
- Status: [ ] Not run [ ] Pass [ ] Fail
|
|
- Notes:
|
|
|
|
### TC-PR5-009 Existing HTTP monitors display correctly in the list
|
|
|
|
- [ ] Navigate to the Monitors list.
|
|
- [ ] Confirm any pre-existing HTTP monitors are still shown with correct URLs.
|
|
- Expected result: no regressions in list display.
|
|
- Status: [ ] Not run [ ] Pass [ ] Fail
|
|
- Notes:
|
|
|
|
### TC-PR5-010 Existing TCP monitors display correctly in the list
|
|
|
|
- [ ] Navigate to the Monitors list.
|
|
- [ ] Confirm any pre-existing TCP monitors are still shown with correct host:port values.
|
|
- Expected result: no regressions in list display.
|
|
- Status: [ ] Not run [ ] Pass [ ] Fail
|
|
- Notes:
|
|
|
|
---
|
|
|
|
## Track B — Core Fix (TCP Scheme Validation)
|
|
|
|
### TC-PR5-002 TCP monitor with `tcp://` prefix shows inline error and blocks submission
|
|
|
|
- [ ] Open the Create Monitor modal.
|
|
- [ ] Select type **TCP**.
|
|
- [ ] Enter URL: `tcp://192.168.1.1:8080`.
|
|
- [ ] Click **Create** (or attempt to submit).
|
|
- Expected result: an inline error appears on the URL field; the form is not submitted; no new monitor appears in the list.
|
|
- Status: [ ] Not run [ ] Pass [ ] Fail
|
|
- Notes:
|
|
|
|
### TC-PR5-003 TCP monitor with valid `host:port` format succeeds
|
|
|
|
- [ ] Open the Create Monitor modal.
|
|
- [ ] Select type **TCP**.
|
|
- [ ] Enter URL: `192.168.1.1:8080`.
|
|
- [ ] Fill in remaining required fields and click **Create**.
|
|
- Expected result: monitor is created successfully; no errors shown.
|
|
- Status: [ ] Not run [ ] Pass [ ] Fail
|
|
- Notes:
|
|
|
|
---
|
|
|
|
## Track C — Dynamic Placeholder & Helper Text
|
|
|
|
### TC-PR5-005 Form field order: Type selector appears above URL input
|
|
|
|
- [ ] Open the Create Monitor modal.
|
|
- [ ] Inspect the visual layout of the form.
|
|
- Expected result: the monitor **Type** selector is positioned above the **URL** input field.
|
|
- Status: [ ] Not run [ ] Pass [ ] Fail
|
|
- Notes:
|
|
|
|
### TC-PR5-006 Helper text updates when switching between HTTP and TCP
|
|
|
|
- [ ] Open the Create Monitor modal.
|
|
- [ ] Select type **HTTP** and note the helper text shown beneath the URL input.
|
|
- [ ] Switch type to **TCP** and note the helper text again.
|
|
- Expected result: helper text differs between HTTP and TCP types, giving format guidance appropriate to each.
|
|
- Status: [ ] Not run [ ] Pass [ ] Fail
|
|
- Notes:
|
|
|
|
### TC-PR5-006b Placeholder updates when switching between HTTP and TCP
|
|
|
|
- [ ] Open the Create Monitor modal.
|
|
- [ ] Select type **HTTP** and note the URL input placeholder.
|
|
- [ ] Switch type to **TCP** and note the placeholder again.
|
|
- Expected result: HTTP placeholder shows a full URL (e.g. `https://example.com`); TCP placeholder shows `host:port` format (no scheme).
|
|
- Status: [ ] Not run [ ] Pass [ ] Fail
|
|
- Notes:
|
|
|
|
---
|
|
|
|
## Track D — Interaction Edge Cases
|
|
|
|
### TC-PR5-004 Switching type from TCP (with error) to HTTP clears the inline error
|
|
|
|
- [ ] Open the Create Monitor modal.
|
|
- [ ] Select type **TCP** and enter `tcp://192.168.1.1:8080` to trigger the inline error.
|
|
- [ ] Switch type to **HTTP**.
|
|
- Expected result: the scheme-prefix inline error disappears immediately after the type change.
|
|
- Status: [ ] Not run [ ] Pass [ ] Fail
|
|
- Notes:
|
|
|
|
### TC-PR5-007 Submit guard: no API call fires when scheme prefix error is present
|
|
|
|
- [ ] Open browser DevTools and go to the **Network** tab.
|
|
- [ ] Open the Create Monitor modal.
|
|
- [ ] Select type **TCP** and enter `tcp://192.168.1.1:8080`.
|
|
- [ ] Click **Create**.
|
|
- Expected result: the inline error is shown and no outbound POST/PUT request to the monitors API endpoint appears in the Network tab.
|
|
- Status: [ ] Not run [ ] Pass [ ] Fail
|
|
- Notes:
|
|
|
|
---
|
|
|
|
## Track E — Localisation (Optional)
|
|
|
|
### TC-PR5-008 New translation keys appear correctly in non-English locales
|
|
|
|
- [ ] Switch the application language to **German**, **French**, **Spanish**, or **Chinese**.
|
|
- [ ] Open the Create Monitor modal and select type **TCP**.
|
|
- [ ] Observe the URL placeholder, helper text, and inline error message (trigger it with `tcp://host:port`).
|
|
- Expected result: all three UI strings appear in the selected language without showing raw translation key strings (e.g. no `urlPlaceholder.tcp` visible to the user).
|
|
- Status: [ ] Not run [ ] Pass [ ] Fail
|
|
- Notes:
|
|
|
|
---
|
|
|
|
## Sign-off
|
|
|
|
| Tester | Date | Environment | Result |
|
|
|--------|------|-------------|--------|
|
|
| | | | |
|