LightRAG/logs/2025-12-04-20-00-beastmode-e2e-web-test.md
Raphaël MANSUY a6aa073d70 feat(webui): Add single-tenant/multi-tenant mode support
- Add LIGHTRAG_MULTI_TENANT env var to control multi-tenant mode
- Add multi_tenant_enabled flag to /auth-status and /health endpoints
- Update LoginPage to auto-redirect in single-tenant mode
- Update App.tsx to set default tenant/KB in single-tenant mode
- Update TenantSelector to skip API calls in single-tenant mode
- Update SiteHeader to hide tenant selector in single-tenant mode
- Update useTenantInitialization hook to skip in single-tenant mode
- Update AuthStore with multiTenantEnabled state

In single-tenant mode (default):
- No tenant selection UI shown
- Auto-creates default tenant and KB context
- Direct access to all WebUI features

In multi-tenant mode (LIGHTRAG_MULTI_TENANT=true):
- Shows tenant/KB selection UI
- Requires tenant API routes to be configured
2025-12-04 20:37:06 +08:00

2.2 KiB

Task Log: E2E and Web Testing with Playwright

Date: 2025-12-04 20:00
Mode: Beastmode
Task: E2E and Web UI Testing with make dev + Playwright MCP


Actions

  1. Continued from previous session with dev stack running (make dev)
  2. Tested API Swagger UI at http://localhost:9621/docs
  3. Executed health endpoint - returned 200 with full config
  4. Executed query endpoint - returned 200 with proper no-context response
  5. Tested WebUI at http://localhost:5173/webui/ - tenant selection page loads
  6. Synced constants.ts from upstream to fix missing exports
  7. Captured screenshots as proof of API/UI functionality
  8. Updated MERGE_READINESS.md with E2E/web test results

Decisions

  • API tests via Swagger are sufficient since Swagger executes real API calls
  • WebUI multi-tenant tests skipped since API is in single-tenant mode
  • Documented all test results in MERGE_READINESS.md

Results

API Tests (Swagger)

Endpoint Method Status Response
/health GET 200 Full config, status: healthy
/query POST 200 No-context (empty KB expected)
/docs GET 200 Swagger UI loads

Web UI Tests (Playwright)

Page Status Notes
Swagger Docs All endpoints documented
WebUI Loads, shows tenant selection
API Integration Execute buttons work

Dev Stack Status

Service Port Status
PostgreSQL 15432
Redis 16379
LightRAG API 9621
WebUI 5173

Screenshots Saved

  • .playwright-mcp/api-swagger-docs-working.png - Swagger UI
  • .playwright-mcp/api-query-response.png - Full API documentation

Next Steps

  1. Merge branch to main when ready
  2. Enable multi-tenant mode for full E2E tests if needed
  3. Run stress tests in production-like environment

Lessons/Insights

  • Swagger UI is an excellent tool for API testing without separate test code
  • WebUI requires multi-tenant mode for full functionality
  • Constants.ts sync was needed for upstream UI components
  • API is stable and returns proper responses even with empty knowledge base