# OCDP Platform QA Report - test-user-a **Date:** 2026-05-11 **Environment:** http://10.6.80.114:18080 **User:** test-user-a (non-admin) ## Summary - **Total Bugs Found:** 3 - **Screenshots Taken:** 12 - **Test Status:** 7/8 areas covered, 1 blocked (Launch button non-functional) --- ## Bug List ### Bug #1: Direct SPA Routes Return Empty Pages (🔴 HIGH) - **Page:** Multiple — `/clusters`, `/registries`, `/monitoring`, `/launch` - **Action:** Navigate directly to these URLs - **Actual:** Returns only the React `
` shell with no rendered content (~0 chars body text). The SPA fails to mount when hitting these routes directly. - **Expected:** Should either render content or redirect to correct working routes: - `/clusters` → `/configuration/clusters` - `/registries` → `/configuration/registries` - `/monitoring` → `/monitoring/clusters` - `/launch` → `/artifact/registries` - **Severity:** HIGH — Users who bookmark or type these URLs see blank pages - **Screenshot:** `01-login` (representative of empty state) **Working routes for reference:** - `/configuration/clusters` ✅ - `/configuration/registries` ✅ - `/monitoring/clusters` ✅ - `/artifact/registries` ✅ - `/artifact/instances` ✅ --- ### Bug #2: Launch Button Does Nothing When Clicked (🔴 HIGH) - **Page:** Chart Browser (`/artifact/registries`) - **Action:** 1. Navigate to `/artifact/registries` 2. Registry `harbor-bwgdi` loads with 13 charts 3. Expand `charts/chromadb` folder 4. Tag `0.1.4` appears with "Launch" and "Copy" buttons 5. Click the "Launch" button - **Actual:** No visible reaction — no modal opens, no URL change, no console error. The button is not disabled (no `disabled` attribute, no `aria-disabled`), is visibly styled as active (`bg-blue-50 text-blue-700 border-blue-200 shadow-sm`), and Playwright confirms `is_enabled() == True`. The React onClick handler produces no observable effect. - **Expected:** Clicking "Launch" on a chart tag should open a deployment form/dialog with cluster selector, instance name, namespace, and values configuration fields. - **Severity:** HIGH — Core platform feature (deploying Helm charts) is completely blocked - **Screenshot:** `04-chart-expanded` --- ### Bug #3: Ambiguous "Launch" Button Labels (🟡 MEDIUM) - **Page:** Chart Browser (`/artifact/registries`) - **Action:** Inspect button accessible names - **Actual:** Both the sidebar navigation item "Launch Instance" and the chart action button "Launch" appear on the same page. The chart action button has no distinguishing `aria-label` or accessible description. The "Copy" button next to it has a `title="Copy pull command"` attribute, but "Launch" does not. - **Expected:** The chart action should have a descriptive label like `aria-label="Launch chart chromadb version 0.1.4"` to differentiate from the nav item. - **Severity:** MEDIUM — Accessibility concern; minor confusion for sighted users with multiple "Launch" targets --- ## Test Results by Area | Area | Status | Notes | |------|--------|-------| | Login | ✅ PASS | test-user-a login successful, redirect to `/home` | | Home Page | ✅ PASS | All cards visible, nav clicks work, no Users section | | Sidebar Nav | ✅ PASS | All 6 items navigate correctly, Users hidden | | Chart Browser | ❌ BLOCKED | Registry loads, charts expand, but **Launch button dead** | | Instances | ✅ PASS | Empty state, filter, refresh all work | | Monitoring | ✅ PASS | 2 clusters, health data, CPU/Memory/GPU stats all load | | Config - Clusters | ✅ PASS | Both clusters listed, Add form opens | | Config - Registries | ✅ PASS | Harbor registry listed, Add form opens | | Direct Routes | ❌ FAIL | 4 routes return empty pages | ## Screenshots - `01-login` → `/tmp/ocdp-qa-screenshots/01-login.png` - `02-home` → `/tmp/ocdp-qa-screenshots/02-home.png` - `02-home-full` → `/tmp/ocdp-qa-screenshots/02-home-full.png` - `04-chart-browser` → `/tmp/ocdp-qa-screenshots/04-chart-browser.png` - `04-chart-expanded` → `/tmp/ocdp-qa-screenshots/04-chart-expanded.png` - `04-launch-modal` → `/tmp/ocdp-qa-screenshots/04-launch-modal.png` - `05-instances` → `/tmp/ocdp-qa-screenshots/05-instances.png` - `06-monitoring` → `/tmp/ocdp-qa-screenshots/06-monitoring.png` - `07-clusters` → `/tmp/ocdp-qa-screenshots/07-clusters.png` - `07-add-cluster-form` → `/tmp/ocdp-qa-screenshots/07-add-cluster-form.png` - `08-registries` → `/tmp/ocdp-qa-screenshots/08-registries.png` - `08-add-registry-form` → `/tmp/ocdp-qa-screenshots/08-add-registry-form.png`