Files
ArchiTools/QA-CHECKLIST.md
T
AI Assistant 25338ea4d8 docs: QA checklist + full documentation update for Phase 3 completion
- 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
2026-02-28 05:06:00 +02:00

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
  • 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