# Browser Spot Check

Checklist นี้ใช้สำหรับตรวจ regression เชิงหน้าจอและ interaction ที่ smoke แบบ HTTP มองไม่เห็น

ใช้หลัง:

- [scripts/post_deploy_spot_check.ps1](/C:/xampp82/htdocs/CCW/scripts/post_deploy_spot_check.ps1:1) ผ่านแล้ว
- หรือหลัง [scripts/pre_release_gate.ps1](/C:/xampp82/htdocs/CCW/scripts/pre_release_gate.ps1:1) ผ่าน ในกรณีที่มีงานเปลี่ยน UI มาก

## Automated Browser Check

เริ่มจากรัน automated browser check ก่อน:

```powershell
powershell -ExecutionPolicy Bypass -File scripts\browser_critical_pages_spot_check.ps1
```

สคริปต์นี้จะเปิด browser control แบบ hidden แล้วตรวจจริงในหน้า:

- `login`
- `dashboard`
- `queue`
- `job_details` 1 รายการแรก ถ้ามีคิวในระบบ

พร้อมบันทึก screenshot ลง `storage\maintenance_exports\browser-spot-check\...`

หมายเหตุ:

- automation ชุดนี้ใช้ Windows `WebBrowser` control เพื่อเช็ก navigation, DOM, action, และ route จริง
- เหมาะกับ regression เชิง flow/structure มากกว่า pixel-perfect visual QA
- ถ้างานรอบนั้นแตะ CSS/layout หนัก ยังควรมี manual browser spot-check ต่ออีกชั้น

ถ้าต้องการระบุ URL หรือ credential:

```powershell
powershell -ExecutionPolicy Bypass -File scripts\browser_critical_pages_spot_check.ps1 `
  -BaseUrl "http://127.0.0.1/CCW" `
  -Username "admin" `
  -Password "admin123"
```

## Goal

ยืนยันว่า critical UI ยังใช้งานได้จริงใน browser:

- layout ไม่แตก
- ปุ่ม/action หลักกดได้
- anchor/redirect สำคัญพาไปหน้าที่ถูก
- flash, modal, QR/slip section และ table/filter แสดงผลปกติ

## Recommended Accounts

- admin smoke account
- restricted branch-scope probe account

รายละเอียดบัญชี restricted ดูที่ [Branch Scope Probe Account](./branch-scope-probe-account.md)

## Critical Pages

### 1. Login

- เปิด `pages/login.php`
- ยืนยันว่า form แสดงครบ
- ล็อกอินได้
- หลังล็อกอินแล้ว redirect เข้าหน้าเริ่มต้นตาม role

### 2. Dashboard

- KPI cards แสดงผล
- notification center เปิดได้
- ไม่มีข้อความทับกันหรือ layout แตก

### 3. Booking

- ฟอร์มเปิดบิลแสดงครบ
- dropdown สาขา, จังหวัด, ยี่ห้อ ใช้งานได้
- ปุ่ม submit และ validation แสดงผลปกติ

### 4. Queue

- card แต่ละใบแสดง queue number, bill, customer, service, status ครบ
- ปุ่ม `รายละเอียด`, `เริ่มงาน`, `เสร็จสิ้น`, `ย้อนกลับ` แสดงตามสถานะจริง
- anchor ไป `job_details` และ `#payment-section` ถูกต้อง

### 5. Job Details

- ส่วน customer/vehicle summary แสดงข้อมูลครบ
- service table, payment section, deposit section แสดงผลปกติ
- ปุ่ม action หลักเช่น update, payment, cancel/reopen ใช้งานได้
- payment slip preview/open path ยังเปิดได้

### 6. Quick Service

- hero, held bills, payment area และ QR panel แสดงผลปกติ
- ปุ่ม hold/resume/delete payment ยังอยู่ตำแหน่งถูกต้อง
- receipt path เปิดได้

### 7. Member / Manage System / Sale Report

- table, filter, action buttons, summary cards แสดงผลปกติ
- ไม่มี text overlap, column collapse หรือ modal เพี้ยน

## Restricted Account Checks

ล็อกอินด้วย restricted probe account แล้วตรวจ:

- หน้า booking เห็นเฉพาะ allowed branch
- หน้า queue ไม่เห็นงานต่างสาขา
- เปิด `job_details` ของต่างสาขาไม่ได้
- flash access denied แสดงผลอ่านได้

## When To Use This Checklist

ใช้ทุกครั้งเมื่อ release มีผลกับ:

- layout
- translation / labels / flash
- queue / booking / job details / quick service UI
- role-based visibility
- report / admin pages

## Pass Criteria

- `browser_critical_pages_spot_check.ps1` ผ่าน
- critical pages เปิดได้และไม่มี visual break ชัดเจน
- action หลักที่แตะใน release ใช้งานได้จริง
- restricted account ยังถูกจำกัด scope ถูกต้อง
- ไม่พบ JS/UI error ที่ทำให้ผู้ใช้ทำงานต่อไม่ได้
