Files
ocdp-go/docs/bugs-user-a.md
Ivan087 7f238a3168 refactor: full-stack restructure with multi-tenancy, workspace management, and K8s diagnostics
- Add Workspace domain (entity, repository, service, handler, DTO)
- Add multi-tenant K8s client with tenant binding and quota management
- Add K8s diagnostics client (instance diagnostics)
- Add authorization middleware (authz package)
- Restructure frontend to feature-based architecture (features/)
- Add User Management page in configuration
- Add AccessDenied page and route guards
- Refactor shared components (form inputs, layout, UI)
- Update Tailwind config for new design system
- Add comprehensive documentation (docs/, tasks/, plans)
- Improve cluster service with better kubeconfig handling
- Add tests for crypto, config, helm client, tenant binding
2026-05-12 16:15:14 +08:00

4.5 KiB

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 <div id="root"> 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