- 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
76 lines
2.2 KiB
Markdown
76 lines
2.2 KiB
Markdown
# 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
|