87 lines
3.3 KiB
Markdown
87 lines
3.3 KiB
Markdown
# 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
|
|
```
|