uat-seed-script

This commit is contained in:
phaichayon
2026-06-30 10:48:15 +07:00
parent e4573ac0c9
commit e12ae120b0
31 changed files with 1791 additions and 314 deletions

View File

@@ -0,0 +1,86 @@
# 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
```