# BEEB — QA Reference

> Local / seeded environment credentials and notification types for manual testing.

---

## 1. Notification Types

Canonical values from `NotificationTypeEnum`. Full trigger docs: [`notification-keys.md`](./notification-keys.md).

### Contact

| Type | Description |
|------|-------------|
| `contact_notify` | New contact message received |
| `contact_replied` | Admin replied to a contact message |

### Entity lifecycle

| Type | Description |
|------|-------------|
| `entity_created` | New client/provider registration |
| `entity_approved` | Account approved |
| `entity_rejected` | Account rejected |
| `entity_needs_approval` | Pending admin review |

### Rider (client app)

| Type | Description |
|------|-------------|
| `otp_requested` | OTP sent for login/verification |
| `ride_started` | Ride has started |
| `ride_ended` | Ride completed |
| `low_balance` | Wallet balance below threshold |
| `balance_depleted_mid_ride` | Balance ran out during an active ride |
| `package_expiry_reminder` | Subscription expiring soon |
| `package_expired` | Subscription expired |
| `topup_success` | Wallet top-up succeeded |
| `payment_failed` | Payment attempt failed |
| `complain_created` | New complaint/ticket opened |
| `complain_status_changed` | Complaint status updated |

### Provider (investor app)

| Type | Description |
|------|-------------|
| `investor_verification_result` | KYC / verification outcome |
| `settlement_accepted` | Settlement approved |
| `settlement_rejected` | Settlement rejected |

### Admin / staff dashboard

| Type | Description |
|------|-------------|
| `settlement_request` | Provider submitted a settlement |
| `ride_over_duration` | Ride exceeded allowed duration |
| `ticket_sla_breach` | Support ticket SLA breached |

---

## 2. Test Accounts

### Rider (client) accounts

Seeded by `ClientSeeder`. Phone format: `5` + zero-padded client ID.

| # | Phone | Full number | Email |
|---|-------|-------------|-------|
| 1 | `5000000001` | `+966 5000000001` | `client1@beeb.test` |
| 2 | `5000000002` | `+966 5000000002` | `client2@beeb.test` |
| 3 | `5000000003` | `+966 5000000003` | `client3@beeb.test` |

**Login:** OTP-based — `country_code: 966`, then verify with OTP (`123456` in local/dev).

---

### Provider (investor) account — primary demo

Full dataset seeded by `SaraProviderSeeder` (scooters, rides, settlements).

| Field | Value |
|-------|-------|
| Name | Sara Al-Rashid |
| Email | `sara.investor@beeb.test` |
| Phone | `512345679` |
| Country code | `966` |
| Password | `TestPass123!` |
| Provider ID | `2` |

---

### Admin dashboard

Seeded by `AdminTableSeeder`.

| Field | Value |
|-------|-------|
| Name | Manager |
| Email | `admin@admin.com` |
| Password | `123456` |
| Role | Super admin |

---

## Quick lookup

| Role | Identifier | Auth |
|------|------------|------|
| Rider | `+966 5000000001` | OTP |
| Provider | `sara.investor@beeb.test` / `512345679` | `123456` |
| Admin | `admin@admin.com` | `TestPass123!` |
