25338ea4d8
- QA-CHECKLIST.md: ~120 test items covering all Phase 3 features - CLAUDE.md: modules table with versions, integrations (AI Chat, Vault, ManicTime) - ROADMAP.md: status table updated (all 14 COMPLETE), Phase 5 updated - SESSION-LOG.md: session entry for 2026-02-28 - SESSION-GUIDE.md: added QA Bug Fix prompt (4B), QA-CHECKLIST raw URL
9.9 KiB
9.9 KiB
ArchiTools — QA Checklist (Phase 3 Features)
Test all features implemented in Phase 3 (sessions 2026-02-27 through 2026-02-28). Open each URL on http://10.10.10.166:3000 and check every item. Mark with [x] when verified, note bugs inline.
1. Registratura /registratura
1.1 Core Registry (Tab "Registru")
- Create new entry — form loads, all fields visible
- Registration number auto-generated correctly (no duplicates)
- Direction toggle (Intrat/Ieșit) works
- Dynamic document types in dropdown (Cerere, Adresă, Aviz, Apel telefonic, Videoconferință, etc.)
- "Tip nou" inline input creates a new document type + Tag Manager tag
- Sender/Recipient autocomplete searches Address Book contacts
- "Creează contact" button appears when typed name doesn't match
- Quick contact creation popup works (Name, Phone, Email)
- Responsabil (Assignee) field with autocomplete
- Backdating support: "Data document" field accepts past dates, registrationDate shows in table if different
- Thread parent selector: can search and link to another entry
- Thread view (GitBranch icon) shows parent → current → children tree
- File attachment upload with loading indicator ("Se încarcă X fișiere...")
- Submit button disabled + spinner during upload/save (no double-click)
- "Actualizează" button feedback (spinner when saving edits)
- Filters work: direction, status, document type, search
- Close entry: resolution selector (Finalizat/Aprobat tacit/Respins/Retras/Altele)
- Closure banner shows resolution badge
1.2 Recipient Registration Fields (Ieșit only)
- "Nr. înregistrare destinatar" and "Data înregistrare destinatar" visible only for Ieșit entries
- Fields save correctly
1.3 Document Expiry
- Expiry date field visible and saves
- Expiry alert days field visible and saves
1.4 Legal Deadlines (Tab "Termene legale")
- Deadline dashboard loads with stats cards
- 6 stat cards visible (total, active, resolved, overdue, tacit, chain)
- Add deadline wizard: category → type → date preview (3 steps)
- 16+ deadline types across 5 categories load correctly
- Deadline card shows expandable audit log ("Istoric modificări")
- Resolve deadline works
- Alert banners show in registry tab when deadlines are overdue/approaching
- Alert count badge on tab header
2. Tag Manager /tag-manager
2.1 Core Tags
- Tag list loads (project, phase, activity, document-type, custom)
- Create tag with all fields (label, category, color, scope, company)
- Mandatory validation: project tags require projectCode + companyId
- Edit tag works
- Delete tag works
- US/SDT project seeds present (US-001...US-010, SDT-001...SDT-010)
2.2 ManicTime Sync Panel
- ManicTime sync panel visible below stats
- "Verifică conexiunea" button works (expect error in dev if no file mounted)
- Stats grid shows 4 cards (ArchiTools tags, ManicTime tags, new, modified)
- Import button shows confirmation dialog
- Export button shows confirmation dialog
- Full sync button shows confirmation dialog
- Success/error messages display correctly
- On production: verify Tags.txt file path resolves (requires SMB mount)
3. IT Inventory /it-inventory
3.1 Inventory Tab
- Equipment list loads
- Dynamic equipment types (Server, Switch, UPS, Patch Panel, + custom)
- "Tip nou" inline input creates new equipment type
- Status includes "Închiriat" (rented) with purple pulse animation
- Filter by type, status, company works
- Search filter works
- Rack position fields (U position, size) show only for RACK_MOUNTABLE_TYPES
3.2 Rack 42U Tab
- Rack visualization renders with 42 slots
- U1 at bottom, U42 at top
- Color-coded status slots (active=green, maintenance=amber, decommissioned=red, rented=purple)
- Tooltips on hover showing equipment details
- Empty slots shown correctly
4. Address Book /address-book
4.1 Dynamic Types
- Contact type dropdown shows default types + custom types
- Can add new type via "Tip nou" input
- Custom types persist and appear for future contacts
4.2 vCard Export
- Download icon on contact card hover → .vcf file downloads
- vCard contains correct data (name, phone, email, company)
4.3 Registratura Reverse Lookup
- Detail view (FileText icon) shows Registratura entries where contact is sender/recipient
5. Password Vault /password-vault
5.1 Core
- CRUD credentials works
- Email field visible and saves
- URLs rendered as clickable links (open in new tab)
- Password strength meter updates live (slabă/medie/puternică/foarte puternică)
- Company scope selector works
5.2 Encryption
- Passwords stored encrypted (check via direct DB query if possible)
- Passwords decrypt correctly for display
- Legacy plaintext passwords auto-detected on read
6. Prompt Generator /prompt-generator
6.1 Search & Filters
- Search bar visible above templates
- Searching by template name works
- Searching by description works
- Searching by tags works
- Category dropdown filters correctly
- Target type dropdown (text/image) filters correctly
- Quick "Imagine" toggle button filters to image templates only
- Empty state shows when no results match
- Clearing search shows all templates
6.2 Image Templates (4 new)
- "Midjourney — Randare Exterior Arhitectural" template loads and composes
- "Stable Diffusion — Design Interior" template loads and composes
- "Midjourney — Infografic Arhitectural" template loads and composes
- "Stable Diffusion — Textură Material Arhitectural" template loads and composes
- All 4 have targetAiType = "image"
- Total template count = 18
6.3 Compose & History
- Select template → compose view shows variables
- Fill variables → output preview updates
- Copy to clipboard works
- History tab shows past compositions
7. AI Chat /ai-chat
7.1 Session Management
- "Conversație nouă" creates a session
- Session appears in sidebar
- Click session in sidebar to switch
- Delete session works (trash icon on hover)
- Session title shows date by default
7.2 Provider Status
- Provider badge visible in header (shows "Demo" if no API key)
- Badge shows WifiOff icon when demo mode
- Badge shows Wifi icon + green when API configured
- Settings button toggles config banner
- Config banner shows: Provider, Model, Max tokens, Stare
- Amber warning when not configured (env var instructions)
7.3 Chat Flow
- Type message + Enter sends
- User message appears right-aligned (primary color)
- Send button disabled while empty
- Input disabled + "Se generează..." placeholder while sending
- Loading spinner replaces Send button while sending
- "Se generează răspunsul..." indicator in messages area while waiting
- Bot icon on assistant messages
- Timestamps shown on messages (HH:MM format)
- Demo mode: response comes from /api/ai-chat (should return demo text)
- Error messages show gracefully (connection errors, API errors)
7.4 Project Linking (Tag Manager Integration)
- "Proiect" button visible in chat header when session active
- Click shows dropdown with project tags from Tag Manager
- Project tags show color dot + project code + label
- Selecting a project links it to session
- Project name badge appears in header after linking
- X button on badge removes project link
- Project name shows under session title in sidebar
- Linked project context injected in system prompt (verify in API logs)
7.5 API Route
- GET /api/ai-chat returns provider config JSON
- POST /api/ai-chat with demo provider returns demo response
- POST with configured provider (if API key set) returns real AI response
- System prompt includes Romanian arch office context
8. Hot Desk /hot-desk
- Room layout shows with window (left) and door (right)
- 4 desks visible
- Week-ahead calendar works
- Reserve desk works
- Cancel reservation works
9. Email Signature /email-signature
- Address toggle works for all 3 companies (BTG, US, SDT)
- Live preview renders correctly
- Copy/download works
10. Dashboard /
- KPI cards (6) show real data
- Activity feed shows last 20 items
- Module grid links work
- External tools links work
11. Cross-Cutting
11.1 Auth
- Login via Authentik works (auth.beletage.ro)
- User name/email shown in header
- Logout works
11.2 Performance
- Registratura page loads in < 3 seconds (was 2+ minutes before N+1 fix)
- No excessive network requests in DevTools (should be ~1 per namespace, not N+1)
- Lightweight mode strips base64 from list loading
11.3 Theme
- Light/dark toggle works
- Company logos switch variants correctly
- All modules readable in both themes
11.4 Navigation
- All 14 modules reachable from sidebar
- Logo mini-game: BTG→US→SDT combo triggers confetti
- "ArchiTools" text links to dashboard
Bug Report Template
### BUG: [Short description]
**Module:** [module name]
**URL:** [full URL]
**Steps:**
1. ...
2. ...
3. ...
**Expected:** ...
**Actual:** ...
**Screenshot:** [if applicable]
**Severity:** Critical / High / Medium / Low
Notes
- Test on production (10.10.10.166:3000 or tools.beletage.ro) after Portainer redeploy
- Test in both Chrome and Firefox
- Test in both light and dark mode
- ManicTime sync requires SMB mount on Docker host — may fail in dev
- AI Chat requires env vars (AI_PROVIDER, AI_API_KEY) for real responses — demo mode otherwise
- Password Vault encryption requires ENCRYPTION_SECRET env var