Add enterprise appliance experience Phase 1 foundation
This commit is contained in:
1 parent
b3eec34158
commit
ebaa2e7219
69 files changed
+6832
-18
No files matched your search
@@ -0,0 +1,16 @@
|
||||
# Browser Journey and Accessibility Tests
|
||||
|
||||
Browser tests MUST run against a disposable local or appliance target, never a production customer.
|
||||
|
||||
Required coverage:
|
||||
|
||||
- supported desktop browser viewport plus 200% zoom/reflow;
|
||||
- keyboard-only primary and failure/recovery journeys;
|
||||
- visible focus, logical order, accessible names, headings and landmarks;
|
||||
- dynamic status, progress, validation and completion announcements;
|
||||
- loading, empty, ready, degraded, failed, restricted, unavailable and stale states;
|
||||
- 1-second navigation feedback and 2-second operation acknowledgement trials;
|
||||
- screenshots and machine-readable results stored outside source control.
|
||||
|
||||
The final browser runner and dependency versions MUST be pinned when implementation selects them.
|
||||
Automated accessibility results never replace the manual WCAG 2.2 AA checklist.
|
||||
@@ -0,0 +1,26 @@
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[2]
|
||||
WEB_SETUP = ROOT / "autoinstall/websetup/server.py"
|
||||
|
||||
|
||||
def test_web_setup_exposes_validation_and_customer_facing_license_labels():
|
||||
source = WEB_SETUP.read_text()
|
||||
assert "validate_static_network" in source
|
||||
assert "LICENSE_STATUS_LABELS" in source
|
||||
assert "Invalid signature — re-upload a valid signed license" in source
|
||||
|
||||
|
||||
def test_phase1_contract_requires_durable_progress_not_only_process_memory():
|
||||
source = WEB_SETUP.read_text()
|
||||
# This test intentionally fails until T026 replaces process-local-only state.
|
||||
assert "INSTALL_OPERATION_JSON" in source
|
||||
assert "idempotency_key" in source
|
||||
assert "operation_id" in source
|
||||
|
||||
|
||||
def test_setup_acknowledgement_contract_is_explicit():
|
||||
source = WEB_SETUP.read_text()
|
||||
assert "acknowledged_at" in source
|
||||
assert "duplicate_request" in source
|
||||
Reference in new issue
Block a user