docs: sync AGENTS.md & PROGRESS.md with current state (8 tests, HandlerPerformanceWidget, attachment-links)

This commit is contained in:
2026-04-27 05:40:15 +00:00
parent 887765bbd7
commit ce3136803e
2 changed files with 9 additions and 7 deletions

View File

@@ -92,13 +92,14 @@ minicrm/
│ └── Providers/Filament/ │ └── Providers/Filament/
│ └── AdminPanelProvider.php │ └── AdminPanelProvider.php
├── resources/views/filament/resources/feedback/ ├── resources/views/filament/resources/feedback/
── similar-cases.blade.php ── similar-cases.blade.php
│ └── attachment-links.blade.php # Modal listing attachments with signed download URLs
├── database/ ├── database/
│ ├── migrations/ │ ├── migrations/
│ └── seeders/AfterSalesSeeder.php # includes departments, logs, attachments │ └── seeders/AfterSalesSeeder.php # includes departments, logs, attachments
├── tests/ ├── tests/
│ ├── Feature/ │ ├── Feature/
│ │ ├── ClosingPermissionTest.php # 3 tests: staff forbid, no-evidence, with-evidence │ │ ├── ClosingPermissionTest.php # 4 tests: staff forbid, no-evidence, with-evidence, cross-dept
│ │ └── TransferFlowTest.php # 2 tests: successful + missing reason │ │ └── TransferFlowTest.php # 2 tests: successful + missing reason
│ └── Pest.php │ └── Pest.php
├── storage/app/private/feedback-attachments/ # Private disk upload directory ├── storage/app/private/feedback-attachments/ # Private disk upload directory
@@ -204,6 +205,7 @@ feedback_interactions, feedback_tags, feedback_feedback_tag, products, customers
### Dashboard Widgets (NEW) ### Dashboard Widgets (NEW)
- ResolvedTicketsWidget: table of resolved tickets awaiting closure (manager: filtered to own department) - ResolvedTicketsWidget: table of resolved tickets awaiting closure (manager: filtered to own department)
- AvgProcessingTimeWidget: 4 stats (resolved count, avg time, pending count, escalated count) - AvgProcessingTimeWidget: 4 stats (resolved count, avg time, pending count, escalated count)
- HandlerPerformanceWidget: bar chart of avg processing time per handler
## Navigation Structure ## Navigation Structure
@@ -218,7 +220,7 @@ Dashboard
└── Tags (tag, sort=default) └── Tags (tag, sort=default)
``` ```
Dashboard widgets: ResolvedTicketsWidget, AvgProcessingTimeWidget (admin/manager only) Dashboard widgets: ResolvedTicketsWidget, AvgProcessingTimeWidget, HandlerPerformanceWidget (admin/manager only)
## RBAC (Role-Based Access Control) - Spatie ## RBAC (Role-Based Access Control) - Spatie

View File

@@ -2,7 +2,7 @@
## Trạng thái: Hoàn thành SOP — 8 giai đoạn + bug fix + polish ## Trạng thái: Hoàn thành SOP — 8 giai đoạn + bug fix + polish
Đã test: Tất cả routes HTTP 200, Pest 7/7 tests pass ✓ Đã test: Tất cả routes HTTP 200, Pest 8/8 tests (21 assertions) pass ✓
Tham chiếu: `SOP_des.md` — Bản đặc tả hệ thống After-Sale CRM Tham chiếu: `SOP_des.md` — Bản đặc tả hệ thống After-Sale CRM
## Công nghệ ## Công nghệ
@@ -51,8 +51,8 @@ Tham chiếu: `SOP_des.md` — Bản đặc tả hệ thống After-Sale CRM
- [x] `AvgProcessingTimeWidget`: 4 stats (resolved count, avg time, pending, escalated) - [x] `AvgProcessingTimeWidget`: 4 stats (resolved count, avg time, pending, escalated)
### Giai đoạn 6: Testing ### Giai đoạn 6: Testing
- [x] Pest cài đặt + 5 test scenarios - [x] Pest cài đặt + 6 test scenarios
- [x] `ClosingPermissionTest`: 3 tests (staff 403, no evidence 422, with evidence OK) - [x] `ClosingPermissionTest`: 4 tests (staff 403, no evidence 422, with evidence OK, cross-department 403)
- [x] `TransferFlowTest`: 2 tests (success + missing reason) - [x] `TransferFlowTest`: 2 tests (success + missing reason)
### Giai đoạn 7: Seeder ### Giai đoạn 7: Seeder
@@ -106,7 +106,7 @@ cd /home/phuongtc/vibecode/minicrm
php artisan migrate:fresh --seed php artisan migrate:fresh --seed
php artisan serve php artisan serve
# Mở http://localhost:8000/admin # Mở http://localhost:8000/admin
php artisan test # 8 tests, 21 assertions php artisan test # 8 tests (21 assertions)
``` ```
## Hướng dẫn cho AI Agent khác ## Hướng dẫn cho AI Agent khác