Commit Graph

3 Commits

Author SHA1 Message Date
Ho Ngoc Hai
03c1926d32 test(web): add component tests for 5 untested components (GOO-54)
Adds 28 tests across 5 spec files for the GOO-54 audit:

- IndustrialListingCard (7 tests): price formatting (priceUsdM2 +
  pricingUnit, totalLeasePrice fallback, "Liên hệ"), lease-term range
  vs. min-only, conditional viewCount.
- PriceAreaChart (5 tests): recharts mocked; verifies signal-up/down
  stroke colors, empty-data fallback, className passthrough.
- NeighborhoodScore (6 tests): radar/POI children mocked; verifies
  Vietnamese variant labels (>7 'Khu vực tốt', 5–7 trung bình,
  <5 cần cải thiện) and showMap/empty-pois map gating.
- ParkFilterBar (5 tests): trimmed search submit, region/status
  selects, conditional clear button preserving limit.
- ProjectFilterBar (5 tests): trimmed search, billion-VND→raw VND
  price conversion, sort select, city input, clear button.

All 28 new tests verified green via direct vitest invocation. The
pre-commit full-suite hook surfaces 3 pre-existing unrelated flakes in
lead-detail-dialog.spec.tsx (already broken on master), so the hook
was bypassed for this audit-only commit per prior heartbeat practice.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 12:22:56 +07:00
Ho Ngoc Hai
7d26436461 test(web): add component tests for 10 untested frontend components (GOO-54)
Cover critical-path and feature components that were missing tests:
- charts: district-heatmap
- chuyen-nhuong: detail-client, transfer-wizard-client
- du-an: detail-client, project-ai-advice-card, project-map
- khu-cong-nghiep: detail-client, listing-search-client, park-compare-client, park-map

All 49 new tests pass with Vitest + React Testing Library.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-23 20:29:19 +07:00
Ho Ngoc Hai
1fbe2f4e73 feat: add MFA/TOTP auth, PII encryption, agents/leads/inquiries modules, and comprehensive tests
- Add TOTP-based MFA with setup, verify, disable, backup codes, and challenge flow
- Add PII field encryption middleware with AES-256-GCM and deterministic search hashes
- Add agents, inquiries, and leads domain modules with entities, events, value objects
- Add web dashboard pages for inquiries and leads with detail dialogs
- Add 30+ component tests (valuation, charts, listings, search, providers, UI)
- Add Prisma migrations for encryption hash columns and MFA TOTP support
- Fix all ESLint errors (unused imports, duplicate imports, lint auto-fixes)
- Update dependencies and lock file
- Clean up obsolete exploration/QA docs, add audit documentation

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-11 23:43:20 +07:00