ทดสอบ OccupantInfo
หน้าทดสอบสำหรับ OccupantInfo component แสดงการใช้งานในรูปแบบต่างๆ ตาม test cases จาก requirements
Test Cases จาก Requirements Document
Test Case 1: ทั้งสองค่าเป็น null/undefined
occupantCount: null, roomCount: null
Expected: ไม่แสดงข้อมูล
Status: ✗ จะไม่แสดงข้อมูล
Test Case 2: occupantCount เป็น null แต่ roomCount มีค่า
occupantCount: null, roomCount: 50
Expected: ไม่แสดงข้อมูล
Status: ✗ จะไม่แสดงข้อมูล
Test Case 3: occupantCount เป็น 0 แต่ roomCount เป็น null
occupantCount: 0, roomCount: null
Expected: ไม่แสดงข้อมูล
Status: ✗ จะไม่แสดงข้อมูล
Test Case 4: ทั้งสองค่าเป็น 0
occupantCount: 0, roomCount: 0
Expected: ไม่แสดงข้อมูล
Status: ✗ จะไม่แสดงข้อมูล
Test Case 5: occupantCount เป็น 0 แต่ roomCount มีค่า
occupantCount: 0, roomCount: 50
Expected: Compact: 👥 0 / 50, Detailed: 👥 ผู้อยู่อาศัย 0 คน จาก 50 ห้อง
Status: ✓ จะแสดงข้อมูล
Test Case 6: occupantCount มีค่า แต่ roomCount เป็น null
occupantCount: 25, roomCount: null
Expected: Compact: 👥 25, Detailed: 👥 ผู้อยู่อาศัย 25 คน
Status: ✓ จะแสดงข้อมูล
Test Case 7: occupantCount มีค่า แต่ roomCount เป็น 0
occupantCount: 25, roomCount: 0
Expected: Compact: 👥 25, Detailed: 👥 ผู้อยู่อาศัย 25 คน
Status: ✓ จะแสดงข้อมูล
Test Case 8: ทั้งสองค่ามีค่า
occupantCount: 25, roomCount: 50
Expected: Compact: 👥 25 / 50, Detailed: 👥 ผู้อยู่อาศัย 25 คน จาก 50 ห้อง
Status: ✓ จะแสดงข้อมูล
Additional Scenarios
Scenario: มีเฉพาะ officeOccupantCount
occupantCount: null, officeOccupantCount: 5
Expected: แสดงเฉพาะสำนักงาน
Scenario: มีทั้ง occupant และ office
occupantCount: 25, roomCount: 50, officeOccupantCount: 3
Expected: แสดงทั้งผู้อยู่อาศัยและสำนักงาน
Scenario: จำนวนมาก
occupantCount: 150, roomCount: 200
Expected: Compact: 👥 150 / 200, Detailed: 👥 ผู้อยู่อาศัย 150 คน จาก 200 ห้อง
Scenario: จำนวนน้อย
occupantCount: 1, roomCount: 1
Expected: Compact: 👥 1 / 1, Detailed: 👥 ผู้อยู่อาศัย 1 คน จาก 1 ห้อง
Real-world Examples
อาคารที่พักอาศัย (Residential Building)
อาคารสำนักงาน (Office Building)
อาคารผสม (Mixed-use Building)
อาคารที่ยังไม่มีข้อมูล (No Data)
การใช้งานใน Context
ใน PropertyCard (Compact):
ใน PropertyCard (Detailed):
ใน PropertyPanelItem:
หมายเหตุ
- Component นี้จะแสดงข้อมูลผู้อยู่อาศัยและผู้ใช้สำนักงานตามรูปแบบที่กำหนด
- รองรับสองรูปแบบ: compact (แนวนอน) และ detailed (แนวตั้ง)
- ไม่แสดงข้อมูลเมื่อทั้ง occupantCount และ roomCount เป็น null/undefined หรือ 0 ทั้งคู่
- แสดงเฉพาะจำนวนผู้อยู่อาศัยเมื่อไม่มี roomCount
- แสดงอัตราส่วนเมื่อทั้งสองค่ามีค่า
- ดูรายละเอียดเพิ่มเติมได้ที่ documents/requirements/ui/components/PropertyCard.md