# KROW Workforce Platform — Feature Testing Plan for Milestone 3

**Version:** Milestone 3 (0.0.1-IlianaStaffM3 and 0.0.1-IlianaClientM3)
**Estimated Duration:** 25-30 minutes

---

## Required Applications
- Client Mobile Application (v0.0.1-IlianaClientM3)
- Staff Mobile Application (v0.0.1-IlianaStaffM3)

---

## 1. Testing Environment Setup

### Required Test Accounts

**Client Account (Business User):**
- Email: `legendary@krowd.com`
- Password: `Demo2026!`
- Client Name: "KROW"

**Staff Account (Worker):**
- Phone: `+15557654321`
- OTP Code: `123456` (testing mode)
- Name: "Mariana Torres"

### Prerequisites
1. ✅ Both apps installed on the device
2. ✅ Network connection stable

---

## 2. Testing Steps

### 2.1: Register Business (Client App)
**Purpose:** Show the client onboarding experience

**Steps:**
1. Open Client App → Tap "Create Account"
2. Enter business email, and password (not the provided test account credentials, use a new email for this step)
3. Navigate to the home page

**Observable Points:** : 
 - Empty dashboard, no orders, no workers, clean slate

---

### 2.2: Register Staff (Staff App)
**Purpose:** Show the worker onboarding experience

**Steps:**
1. Open Staff App → Tap "Sign Up"
2. Enter phone number and verify with OTP code (not the provided test account credentials, use a new phone number for this step)
3. Follow the onboarding process
4. Navigate to the home page

**Observable Points:** : 
 - Empty shifts list, no available work yet

---

### 2.3: Client Sign In with an Existing Account (Client App)
**Note:** Use the client demo account credentials provided above.
**Purpose:** Show the sign-in experience for returning users

**Steps:**
1. Close Client App and reopen it.
2. Tap "Sign In" button
3. Enter credentials:
   - Email: `legendary@krowd.com`
   - Password: `Demo2026!`
4. Tap "Sign In"

---

### 2.4: Client Views the Populated Dashboard (Client App)
**Purpose:** Show how the client app displays active operations

**Steps:**
1. After signing in, observe the home screen
2. Navigate through populated sections:
   - Home: Coverage stats, upcoming shifts
   - Orders: Posted shifts with workers assigned
   - Coverage: Real-time worker status

**Observable Points:**
- Coverage percentage for today's shifts
- Workers checked in vs. needed
- Late workers alerts
- Today's estimated labor cost

---

### 2.5: Client Creates a New Hub (Client App)
**Purpose:** Show the hub creation process

**Steps:**
1. Navigate to Hubs page via the settings button in the top right corner of the home screen
2. Tap the "Hubs" button in the settings menu.
3. Tap the "+" icon at the bottom right of the hubs list, to open the hub creation form.
4. Fill in hub details:
   - Hub name: "Downtown Convention Center"
   - Address: Start typing and select an address.
5. Tap "Create Hub"
6. See the new hub appear in the hubs list

---

### 2.6: Client Creates New Order (Client App)
**Purpose:** Walk through the order creation process

**Steps:**:
1. Go back to the home screen.
2. Navigate to the "Orders" tab in the bottom navigation.
3. Tap the "+ Post" button on top right to open the order type selection screen.
4. Select "One-Time" from the order type options.
5. Fill in order details:
- Order name: "Summer Gala 2026"
- Date: [Select upcoming date]
- Hub: [Select existing hub]
- Add position: Server, Count: 3, Hours: 5PM-9PM
6. Tap "Create Order"

---

### 2.7: Client Views Order Details (Client App)
**Purpose:** View detailed shift information and worker assignments

**Steps:**
1. View the created order in the orders list on the order screen.

**Observable Points:**
- Event name and location
- Roles needed
- Clock in/out times
- Estimated cost
- Coverage percentage bar

---

### 2.8: Client Monitors Coverage Dashboard (Client App)
**Purpose:** Show real-time worker tracking capabilities

**Steps:**
1. Navigate to the "Coverage" tab in the bottom navigation.
2. Observe the worker status for active shifts.

**Observable Points:**
- Worker status (Checked In, En Route, Late, Not Arrived)
- Color-coded status badges (green, yellow, red)
- Worker information

---

### 2.9: Staff Logs In with Existing Account (Staff App)
**Note:** Use the staff demo account credentials provided above.
**Purpose:** Show the staff app sign-in experience for returning users

**Steps:**
1. Close the staff app and reopen it.
2. Tap "Log In" button
3. Enter phone number: `5557654321`
4. Tap "Send Code"
5. Enter OTP: `123456`

---

### 2.10: Staff Views Home Dashboard (Staff App)
**Purpose:** View worker's personalized dashboard

**Observable Points:**
- Welcome message with worker's name
- Today's Shifts section (confirmed shifts for today)
- Tomorrow's Shifts section
- Recommended shifts section

---

### 2.11: Staff Finds Available Shifts (Staff App)
**Purpose:** Show the shift search and discovery experience for workers

**Steps:**
1. Navigate to the "Shifts" tab in the bottom navigation.
2. Tap the "Find Shifts" button on top to view available shifts.

**Observable Points:**
- List of shifts
- Hourly rate prominently displayed
- Role requirements (e.g., "Bartender - Spring Gala")
- Date, time, and duration

**Note:**
>Due to the current order flow, newly created orders do not appear in the Find Shifts section, as it requires an approval from the vendor. This was discussed during the demo.
>We are actively updating this flow so orders will appear correctly in a future iteration.
---

### 2.12: Staff Applies for Shift (Staff App)
**Purpose:** Show the application process from worker side

**Steps:**
1. Tap on an available shift to view details
2. Review business name, location, pay, requirements
3. Tap "Book Shift" button
4. Tap "Book" on the confirmation dialog
4. See confirmation

---

### 2.13: Staff Views Confirmed Shifts (Staff App)
**Purpose:** Show worker's shift confirmation

**Observable Points:**
- Week-by-week calendar navigation
- Color-coded status (Confirmed, Pending, Completed)
- Quick access to shift details and directions

---

### 2.14: Staff Clock-In to Shift (Day of Event) (Staff App)
**Purpose:** Demonstrate the clock-in process

**Steps:**
1. Navigate to the clock-in page.
2. Use the "Clock In" slider to clock in.

**Observable Points:**
- Timestamp automatically recorded
- Status changes to "Checked In" with green indicator

---

### 2.15: Staff Clocks-Out of Shift (Day of Event) (Staff App)
**Purpose:** Demonstrate the clock-out process and shift completion

**Steps:**
1. Navigate to the clock-out page.
2. Use the "Clock Out" slider to clock out.
3. Navigate to the "My Shifts" section in the Shifts tab to see the updated status via the bottom navigation.

**Observable Points:**
- Clock-out timestamp automatically recorded
- Status changes to "Completed" 

---

### 2.16: Staff Profile Management (Staff App)
**Purpose:** Demonstrate worker profile features and compliance management

**Steps:**
1. Navigate to Profile tab in bottom navigation
2. Review profile sections:
   - **Profile Info:**
   - **Emergency Contact:** Name, relationship, phone number
   - **Bank Account:** Linked payment account for direct deposit
   - **Tax Forms:** W-4, I-9 compliance documents
   - **Time Card:** Historical shift records with hours and earnings
