Files
lcbp3/frontend/test-sidebar-functionality.md
T
admin 48c0f468bd
Build and Deploy / deploy (push) Failing after 4m23s
260319:1323 Fix fronend UUID #02
2026-03-19 13:23:23 +07:00

6.8 KiB

Sidebar Menu Functionality Test Report

การทดสอบเมนู Sidebar ของ LCBP3 DMS Frontend

สถานะ: พร้อมทดสอบ (Build ผ่าน)

1. Main Sidebar (Dashboard Layout)

พาร์ท: /components/layout/sidebar.tsx

  • Build Status: ผ่านการ build ไม่มี error
  • Component Structure: ถูกต้องตามโครงสร้าง
  • Menu Items: กำหนดครบถ้วนใน mainNavItems

รายการเมนูที่ตรวจสอบ:

  1. Dashboard - /dashboard

    • Icon: LayoutDashboard
    • Permission: null (ทุกคนเห็น)
  2. Correspondences - /correspondences

    • Icon: FileText
    • Permission: null
  3. RFAs - /rfas

    • Icon: FileCheck
    • Permission: null
  4. Drawings - /drawings

    • Icon: PenTool
    • Permission: null
  5. Circulations - /circulation

    • Icon: Layers
    • Permission: null
  6. Transmittals - /transmittals

    • Icon: FileText
    • Permission: null
  7. Search - /search

    • Icon: Search
    • Permission: null
  8. Admin Panel - /admin

    • Icon: Shield
    • Permission: null
    • Admin Only: true (เฉพาะ ADMIN/DC)

ฟีเจอร์ที่ตรวจสอบ:

  • Active State: pathname.startsWith(item.href) ทำงานถูกต้อง
  • Collapse/Expand: มีปุ่ม toggle สำหรับย่อ/ขยาย
  • Responsive: มี MobileSidebar สำหรับมือถือ
  • Role-based Access: ตรวจสอบ isAdmin สำหรับเมนู Admin Panel
  • Tooltip: แสดง tooltip เมื่อ sidebar ย่อ (collapsed && title)

2. Admin Sidebar

พาร์ท: /components/admin/sidebar.tsx

  • Build Status: ผ่านการ build ไม่มี error
  • Hierarchical Menu: มีเมนูแบบ multi-level พร้อม collapsible

รายการเมนูที่ตรวจสอบ:

  1. Access Control

    • Users (/admin/access-control/users)
    • Roles (/admin/access-control/roles)
    • Organizations (/admin/access-control/organizations)
  2. Document Control

    • Projects (/admin/doc-control/projects)
    • Contracts (/admin/doc-control/contracts)
    • Numbering (/admin/doc-control/numbering)
    • Reference Data (/admin/doc-control/reference)
    • Workflows (/admin/doc-control/workflows)
  3. Drawing Master

    • Contract: Volumes (/admin/doc-control/drawings/contract/volumes)
    • Contract: Categories (/admin/doc-control/drawings/contract/categories)
    • Contract: Sub-categories (/admin/doc-control/drawings/contract/sub-categories)
    • Shop: Main Categories (/admin/doc-control/drawings/shop/main-categories)
    • Shop: Sub-categories (/admin/doc-control/drawings/shop/sub-categories)
  4. Monitoring

    • Audit Logs (/admin/monitoring/audit-logs)
    • System Logs (/admin/monitoring/system-logs/numbering)
    • Active Sessions (/admin/monitoring/sessions)
  5. Migration

    • Review Queue (/admin/migration)
    • Error Logs (/admin/migration/errors)
  6. Settings (/admin/settings)

ฟีเจอร์ที่ตรวจสอบ:

  • Auto-expand: ขยายเมนูโดยอัตโนมัติเมื่อ path ตรงกับ child
  • Active Child: ไฮไลท์ child menu ที่ active
  • Collapsible: ทุกเมนูหลักสามารถ collapse/expand ได้
  • Mobile Support: มี AdminMobileSidebar พร้อม Sheet component

3. Test Pages Created

/test-sidebar

  • แสดง sidebar หลักพร้อมรายการเมนูทั้งหมด
  • มีคำแนะนำการทดสอบ

/test-admin-sidebar

  • แสดง admin sidebar พร้อมเมนูแบบ hierarchy
  • มีคำอธิบายโครงสร้างเมนู

4. Integration Test

Layout Integration:

  • Dashboard Layout: ใช้ <Sidebar /> และ <Header /> ถูกต้อง
  • Admin Layout: มี admin sidebar แยกต่างหาก
  • Session Provider: ครอบคลุมทั้งระบบใน app/layout.tsx

Navigation:

  • Next.js Router: ใช้ usePathname() ตรวจสอบ active state
  • Link Component: ใช้ Next.js <Link> สำหรับ navigation
  • Route Protection: AuthSync component จัดการ session

5. Browser Testing

URLs สำหรับทดสอบ:

  1. http://localhost:3000/test-sidebar - ทดสอบ main sidebar
  2. http://localhost:3000/test-admin-sidebar - ทดสอบ admin sidebar
  3. http://localhost:3000/dashboard - ทดสอบใน dashboard context

การทดสอบที่ควรทำ:

  1. Visual Test: แสดงเมนูถูกต้อง
  2. Click Test: คลิกแต่ละเมนู
  3. Active State Test: ตรวจสอบการไฮไลท์เมนู active
  4. Responsive Test: ทดสอบบนมือถือ
  5. Collapse Test: ทดสอบการย่อ/ขยาย sidebar

6. Server Status

Frontend:

  • Development Server: ทำงานที่ http://localhost:3000
  • Build: ผ่านการ build สำเร็จ
  • Test Pages: ถูกสร้างและพร้อมใช้งาน

Backend:

  • ⚠️ Redis Connection: มีปัญหาการเชื่อมต่อ Redis (ไม่ส่งผลต่อ frontend test)
  • ⚠️ Authentication: อาจจำเป็นต้องมีการ login สำหรับบางหน้า

7. สรุป

ผ่าน:

  • Build ไม่มี error
  • Component structure ถูกต้อง
  • Menu items ครบถ้วน
  • Test pages พร้อมใช้งาน
  • Frontend server ทำงานปกติ

ต้องทดสอบต่อ:

  • การคลิกลิงก์จริงใน browser
  • Active state บนแต่ละหน้า
  • Responsive behavior บนมือถือ
  • Authentication flow (ถ้าต้องการ)

📝 คำแนะนำ:

  1. เปิด http://localhost:3000/test-sidebar ใน browser
  2. ทดสอบคลิกแต่ละเมนูใน sidebar
  3. ตรวจสอบว่า navigation ทำงานถูกต้อง
  4. ทดสอบการย่อ/ขยาย sidebar
  5. เปิดในมือถือเพื่อทดสอบ responsive menu

สถานะโดยรวม: พร้อมใช้งาน