เลือก Scenario ที่ต้องการทดสอบ — ระบบจะเตรียม mock data ที่จำเป็นให้ แล้วพาไปหน้าจริงของระบบทันที ไม่ต้องกรอกข้อมูลซ้ำเพื่อไปถึง state ที่ต้องการทดสอบ
ตั้งค่าก่อนเริ่ม Demo แต่ละรอบ — ล้างข้อมูลที่เล่นผ่าน happy flow ไปแล้ว (ไม่กระทบ user ตาม role ที่ seed ไว้) และจำลองว่าวันนี้เป็นวันไหน (ใช้คำนวณวันที่นัดสัมภาษณ์ที่ seed ให้ และตัดสินว่าช่วงเวลาไหนยังนัดได้)
วันที่จำลอง (Demo Date)
ยังไม่ได้ตั้งค่า — ใช้วันที่จริงของระบบ (2026-09-09)Seed ผู้ใช้ 25 คน + พื้นที่ RAM01–RAM10: Agent/MA แยกตามหน่วย (123456→RAM01, 999999→RAM02, 888888→RAM03), R&R 7 คนกระจาย RAM01–RAM03, Recruiter ส่วนกลาง และ Academy (COACH) — จากนั้นสลับผู้ใช้ได้จากปุ่มมุมขวาบน
ลบ 8 collection ของระบบ Area/Sub-Area/RAM-personnel เก่า (ramPersonnel, ramAreaScopes, rrSubAreaScopes, agentAreas, agentSubAreas, agentContracts, agentContractSubAreas, agentContractAreas) — เหลือทิ้งไว้จากก่อน T5 เท่านั้น ไม่มีโค้ดฝั่งไหนอ่าน/เขียนอีกแล้ว (แทนที่ด้วย ramAreas + users.ramCode)
ยังไม่ได้เริ่ม Scenario ใด
ล้าง mock state ของ iAdvisor ทั้งหมด แล้วเริ่มจากจุดต้นทางจริงของ flow (Join Program) — ผู้ทดสอบเล่นต่อเองทุกขั้นตอนจนจบ
ไม่มีข้อมูลเดิม เริ่มกรอกใบสมัครตั้งแต่ต้น
กรอกข้อมูลส่วนตัว/ที่อยู่ไว้แล้วบางส่วน (ยังไม่มีวุฒิการศึกษา/ประสบการณ์ทำงาน/ผู้แนะนำ) — ทดสอบว่าฟอร์มโหลดข้อมูลเดิมมาต่อได้
ใบสมัครถูกส่งแล้ว ยังไม่เคยเริ่มทำ CAQ
ตอบคำถามหมวดแรกไว้แล้ว เหลืออีก 2 หมวด — ทดสอบว่าคำตอบเดิมไม่หายเมื่อกลับมาที่หน้านี้
ตอบครบทุกคำถามไว้ล่วงหน้าแล้ว กด "ส่ง" เพื่อไปหน้าจองวันสัมภาษณ์ได้ทันที
ใบสมัคร submitted แล้ว ยังไม่ได้นัดสัมภาษณ์
นัดสัมภาษณ์ไว้แล้ว (onsite, อีก 3 วัน) — แถบวันที่สัมภาษณ์ควรแสดงบนหน้านี้
สัมภาษณ์เสร็จแล้วและบันทึกผล (ผ่าน) ไว้ในระบบ
ข้อจำกัด: ผลสัมภาษณ์/คะแนนถูก seed ไว้ใน Mongo ครบถ้วน แต่ ApplicationReviewPage แสดงผล "ผลการสัมภาษณ์"/"คะแนนการสัมภาษณ์" เป็น "-" ตายตัวอยู่แล้ว (bug เดิมของหน้านี้ ไม่เกี่ยวกับ Dry Run) จึงจะยังไม่เห็นผลบนหน้าจอส่งใบสมัครและมีผล CAQ แล้ว — มี recruitment + R&R slot ที่ตรงกันและยังว่าง
ส่งใบสมัครและมีผล CAQ แล้ว — ช่วงที่ตรงกันมีอยู่ช่วงเดียวและถูกจองเต็มแล้ว ควรเสนอ "ขอนัดภายในเดือน" แทน
ส่งใบสมัครและมีผล CAQ แล้ว — ตั้งใจให้มีนัดสัมภาษณ์เดิมอยู่แล้ว 1 นัด พร้อม slot ทางเลือกอื่นให้เลือกใหม่
ข้อจำกัด: interviewBookings ตอนนี้ผูกกับ applicationId จริงแล้ว แต่การจะให้ผู้สมัครรายนี้ "มีนัดเดิมอยู่แล้ว" ต้องพาไปผ่าน flow POST /interview-availability/bookings จริง (ในฐานะ Agent ที่สลับ actor แล้ว) ซึ่ง dry-run seed (ทำงานแบบไม่ผูก actor ใดๆ) ยังทำแทนไม่ได้ — สถานการณ์นี้จึงเห็นแค่ slot ทางเลือกที่ยังว่าง เหมือน Booking Available ทั่วไป ไม่ใช่ reschedule flow ที่แท้จริงไม่มี availability ใดๆ เลยในระบบ
Recruiter เปิด slot ไว้แล้วหลายช่วง (ยังไม่มีฝั่ง R&R)
ทีม R&R เปิด slot ไว้แล้วหลายช่วง (ยังไม่มีฝั่งสรรหา)
ทีม RAM เปิด slot ไว้แล้วหลายช่วง (ยังไม่ครบทั้ง 3 ฝั่ง)
สรรหา + R&R + RAM เปิดช่วงตรงกันครบทั้ง 3 ฝั่ง เกิด matched window ว่างสำหรับนัดหมาย
matched window เดียวที่มี เปิดไว้ด้วย capacity 0 (ไม่เหลือที่ว่าง)
Recruiter 09:00-12:00 + R&R Siam 10:00-12:00 — Agent Normal เห็นช่วง 10:00-12:00
Recruiter เปิด แต่มีแค่ R&R RAM02 เปิด (ไม่ใช่ RAM01 ของ Agent) — ต้องไม่มี slot ให้จอง
Recruiter 09:00-12:00 + R&R RAM01 10:00-12:00 + RAM RAM01 11:00-14:00 — Agent Advisor X เห็นช่วง 11:00-12:00
เหมือน Case C แต่ RAM ที่เปิดคือ RAM02 (ผิดพื้นที่) — ต้องไม่มี slot ให้จอง
Recruiter 09:00-10:00 กับ R&R RAM01 10:00-11:00 ไม่ overlap กัน — ต้องไม่มี slot ให้จอง
เหมือน Case A แต่มี RAM เปิดด้วย (quota 1 ต่ำกว่า Recruiter/R&R) — Agent Normal ยังจองได้ที่ capacity 5 เพราะ RAM ไม่ถูกนำมาคิด
ยังไม่มีรอบรับสมัครใดๆ ในระบบ
มีรอบรับสมัคร 1 รอบ พร้อมผู้สมัคร 3 คนถูก assign ไว้แล้ว