# UAT Seed Guide

## Purpose

Seeded UAT data is designed to make the CRM flow visible end-to-end:

`Marketing (MK) -> Sales -> Manager -> CEO`

Default password for all seeded UAT accounts:

```text
UatDemo123!
```

## Seeded Users

| User Email | Role | What this user should see | Expected CRM data | Expected approval actions |
| --- | --- | --- | --- | --- |
| `mk.uat@alla.local` | Marketing | lead intake, assigned lead queue, follow-up workload, dashboard without final commercial authority | newly created and assigned leads including crane and dock door stories | assign leads to sales, monitor follow-up only |
| `sales.crane.uat@alla.local` | Sales - Crane | own crane opportunities and quotations, pricing-visible commercial pipeline for crane work | crane project stories such as Siam Manufacturing / Toyota Gateway Plant | submit crane quotation for approval, track follow-up |
| `sales.dockdoor.uat@alla.local` | Sales - Dock Door | own dock door opportunities and quotations, follow-up workload | dock door stories such as Eastern Logistics / WHA Warehouse | submit dock door quotation, maintain follow-up and revisions |
| `mgr.sales.uat@alla.local` | Sales Manager + Department Manager | team-wide quotation queue, approval steps 1 and 2, broader sales pipeline | pending manager approval, manager-approved waiting CEO, revised quotations | approve, reject, return, and advance quotations |
| `ceo.uat@alla.local` | CEO / Top Manager | executive dashboard, organization-wide quotations, final approval queue | manager-approved quotations waiting final decision, approved deal visibility | final approve or reject quotations |
| `admin.uat@alla.local` | CRM Admin | full setup/admin visibility including master options, sequences, approvals, document templates | complete seeded organization data | verify configuration, inspect all data, no special workflow dependency |

## Seeded Workflow Scenarios

### Scenario A: Crane Project

- Customer: `Siam Manufacturing Co., Ltd.`
- End Customer: `Toyota Gateway Plant`
- Project: `Overhead Crane Installation Phase 1`
- Product Type: `Crane`
- Owner flow: MK -> Sales Crane -> Sales Manager -> CEO
- Expected status: manager-approved and waiting final CEO approval

### Scenario B: Dock Door Project

- Customer: `Eastern Logistics Co., Ltd.`
- End Customer: `WHA Warehouse`
- Project: `Loading Dock Expansion`
- Product Type: `Dock Door`
- Owner flow: MK -> Sales Dock Door
- Expected status: draft/follow-up style commercial progress before final submission

### Scenario C: Lost / No Quotation

- Customer: `Demo Lost Customer`
- Expected status: `No Quotation`
- Expected reason: `Budget not approved`

### Scenario D: Follow-up Due States

- seeded at least one follow-up due today
- seeded at least one overdue follow-up
- seeded at least one upcoming follow-up

## Approval Flow Expectation

Seeded workflow: `Quotation Standard Approval`

1. Sales submits quotation
2. Sales Manager approves
3. Department Manager approves
4. CEO final approves

For UAT simplicity, `mgr.sales.uat@alla.local` holds both manager stages so the queue is easy to validate visually.

## Seed Commands

```bash
npm run seed:system
npm run seed:uat
npm run seed:reset -- --allow-db-reset
```

## Verification

```bash
npm run typecheck
npm run build
npm run seed:reset -- --allow-db-reset
npm run verify:encoding
npm run verify:crm-access
npm run audit:pdf
```
