← กลับไปยัง Dev Center

ทดสอบ OccupantInfo

หน้าทดสอบสำหรับ OccupantInfo component แสดงการใช้งานในรูปแบบต่างๆ ตาม test cases จาก requirements

Test Cases จาก Requirements Document

Test Case 1: ทั้งสองค่าเป็น null/undefined

occupantCount: null, roomCount: null

Expected: ไม่แสดงข้อมูล

Status: ✗ จะไม่แสดงข้อมูล

Compact Variant:
Detailed Variant:

Test Case 2: occupantCount เป็น null แต่ roomCount มีค่า

occupantCount: null, roomCount: 50

Expected: ไม่แสดงข้อมูล

Status: ✗ จะไม่แสดงข้อมูล

Compact Variant:
- / 50
Detailed Variant:
ผู้อยู่อาศัย - คน จาก 50 ห้อง

Test Case 3: occupantCount เป็น 0 แต่ roomCount เป็น null

occupantCount: 0, roomCount: null

Expected: ไม่แสดงข้อมูล

Status: ✗ จะไม่แสดงข้อมูล

Compact Variant:
0
Detailed Variant:
ผู้อยู่อาศัย 0 คน

Test Case 4: ทั้งสองค่าเป็น 0

occupantCount: 0, roomCount: 0

Expected: ไม่แสดงข้อมูล

Status: ✗ จะไม่แสดงข้อมูล

Compact Variant:
0 / 0
Detailed Variant:
ผู้อยู่อาศัย 0 คน จาก 0 ห้อง

Test Case 5: occupantCount เป็น 0 แต่ roomCount มีค่า

occupantCount: 0, roomCount: 50

Expected: Compact: 👥 0 / 50, Detailed: 👥 ผู้อยู่อาศัย 0 คน จาก 50 ห้อง

Status: ✓ จะแสดงข้อมูล

Compact Variant:
0 / 50
Detailed Variant:
ผู้อยู่อาศัย 0 คน จาก 50 ห้อง

Test Case 6: occupantCount มีค่า แต่ roomCount เป็น null

occupantCount: 25, roomCount: null

Expected: Compact: 👥 25, Detailed: 👥 ผู้อยู่อาศัย 25 คน

Status: ✓ จะแสดงข้อมูล

Compact Variant:
25
Detailed Variant:
ผู้อยู่อาศัย 25 คน

Test Case 7: occupantCount มีค่า แต่ roomCount เป็น 0

occupantCount: 25, roomCount: 0

Expected: Compact: 👥 25, Detailed: 👥 ผู้อยู่อาศัย 25 คน

Status: ✓ จะแสดงข้อมูล

Compact Variant:
25 / 0
Detailed Variant:
ผู้อยู่อาศัย 25 คน จาก 0 ห้อง

Test Case 8: ทั้งสองค่ามีค่า

occupantCount: 25, roomCount: 50

Expected: Compact: 👥 25 / 50, Detailed: 👥 ผู้อยู่อาศัย 25 คน จาก 50 ห้อง

Status: ✓ จะแสดงข้อมูล

Compact Variant:
25 / 50
Detailed Variant:
ผู้อยู่อาศัย 25 คน จาก 50 ห้อง

Additional Scenarios

Scenario: มีเฉพาะ officeOccupantCount

occupantCount: null, officeOccupantCount: 5

Expected: แสดงเฉพาะสำนักงาน

Compact Variant:
5
Detailed Variant:
สำนักงาน: 5 หน่วยงาน

Scenario: มีทั้ง occupant และ office

occupantCount: 25, roomCount: 50, officeOccupantCount: 3

Expected: แสดงทั้งผู้อยู่อาศัยและสำนักงาน

Compact Variant:
25 / 50
3
Detailed Variant:
ผู้อยู่อาศัย 25 คน จาก 50 ห้อง
สำนักงาน: 3 หน่วยงาน

Scenario: จำนวนมาก

occupantCount: 150, roomCount: 200

Expected: Compact: 👥 150 / 200, Detailed: 👥 ผู้อยู่อาศัย 150 คน จาก 200 ห้อง

Compact Variant:
150 / 200
Detailed Variant:
ผู้อยู่อาศัย 150 คน จาก 200 ห้อง

Scenario: จำนวนน้อย

occupantCount: 1, roomCount: 1

Expected: Compact: 👥 1 / 1, Detailed: 👥 ผู้อยู่อาศัย 1 คน จาก 1 ห้อง

Compact Variant:
1 / 1
Detailed Variant:
ผู้อยู่อาศัย 1 คน จาก 1 ห้อง

Real-world Examples

อาคารที่พักอาศัย (Residential Building)

Compact:
45 / 60
Detailed:
ผู้อยู่อาศัย 45 คน จาก 60 ห้อง

อาคารสำนักงาน (Office Building)

Compact:
8
Detailed:
สำนักงาน: 8 หน่วยงาน

อาคารผสม (Mixed-use Building)

Compact:
30 / 40
5
Detailed:
ผู้อยู่อาศัย 30 คน จาก 40 ห้อง
สำนักงาน: 5 หน่วยงาน

อาคารที่ยังไม่มีข้อมูล (No Data)

Compact:
Detailed:

การใช้งานใน Context

ใน PropertyCard (Compact):

ตัวอย่างการ์ดแบบย่อ:
25 / 50
3

ใน PropertyCard (Detailed):

ตัวอย่างการ์ดแบบละเอียด:
ผู้อยู่อาศัย 25 คน จาก 50 ห้อง
สำนักงาน: 3 หน่วยงาน

ใน PropertyPanelItem:

ตัวอย่างใน floating panel:
25 / 50

หมายเหตุ

  • Component นี้จะแสดงข้อมูลผู้อยู่อาศัยและผู้ใช้สำนักงานตามรูปแบบที่กำหนด
  • รองรับสองรูปแบบ: compact (แนวนอน) และ detailed (แนวตั้ง)
  • ไม่แสดงข้อมูลเมื่อทั้ง occupantCount และ roomCount เป็น null/undefined หรือ 0 ทั้งคู่
  • แสดงเฉพาะจำนวนผู้อยู่อาศัยเมื่อไม่มี roomCount
  • แสดงอัตราส่วนเมื่อทั้งสองค่ามีค่า
  • ดูรายละเอียดเพิ่มเติมได้ที่ documents/requirements/ui/components/PropertyCard.md