Files
Flea Flicker eba32f9e96 fix: update demo URL from groombook.farh.net to demo.groombook.dev
Updated UAT_PLAYBOOK.md §2 per QA review (GRO-1819):
- Test environment URL: groombook.farh.net → demo.groombook.dev
- TC-2.1 expected result: groombook.farh.net → demo.groombook.dev
- Added TC-2.3: mobile-groomers.html 'Try the Live Demo' CTA

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 18:58:12 +00:00

162 lines
6.9 KiB
Markdown

# UAT Playbook: GroomBook Site
## Test Environment
- **URL:** https://demo.groombook.dev (demo)
- **Repository:** https://git.farh.net/groombook/groombook.dev
- **Last Updated:** 2026-05-26
---
## Execution Method
All UAT is executed by **Shedward Scissorhands** via the **groombook-playwright MCP server**. No manual browser checks or scripted test suites are used for UAT.
Shedward uses the `mcp__playwright-groombook__*` tool family to navigate, interact with, and verify the site. Each test case step is executed via MCP browser tools:
- **"Navigate to [URL]"** → `browser_navigate`
- **"Locate/Read [element]"** → `browser_snapshot` to inspect the accessibility tree
- **"Click [element]"** → `browser_click` with element ref from snapshot
- **"Verify [content]"** → `browser_snapshot` and check text matches
- **"Check mobile responsiveness"** → `browser_resize` + `browser_snapshot`
- **"Check console errors"** → `browser_console_messages`
Shedward reads this playbook, executes each test case via MCP tools, captures evidence (snapshots/screenshots), and reports pass/fail per test case.
---
## 1. Homepage Messaging Path C Refresh
### Purpose
Verify homepage copy aligns with Path C strategy (solo/small operator focus) with approved lead/team messages and clear anti-customer positioning.
### Pre-Conditions
- Homepage loads successfully
- User is not logged in
### Test Cases
#### TC-1.1: Hero Section Messaging
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Navigate to homepage | Page loads without errors |
| 2 | Locate hero tagline | Displayed exactly: "Stop missing client calls. Book 24/7, groom all day." |
| 3 | Read hero paragraph | Copy emphasizes: solo groomers/small teams, 24/7 booking, automated reminders, mobile-first tools, more grooming time |
#### TC-1.2: Feature Cards Section
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Scroll to "Reclaim 3+ Hours Every Week" section | Section heading is correct |
| 2 | Read section subtitle | Text: "Features built for solo groomers and small teams — not generic salon software." |
| 3 | Review all 9 feature cards | Each card focuses on time/revenue benefit, not feature parity |
#### TC-1.3: Comparison Section Replacement
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Scroll to "Built for Your Reality" section | Section heading is correct |
| 2 | Read section subtitle | Text: "Not a generic salon tool. Not a feature arms race. Built specifically for how solo groomers and small teams actually work." |
| 3 | Verify workflow cards | 6 cards present: Mobile Groomers, 24/7 Booking, You Own It, Grooming-Specific, No-Show Recovery, Scales With You |
#### TC-1.4: Anti-Customer Positioning
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Scan entire homepage for competitor mentions | No specific competitor names (MoeGo, Gingr) mentioned |
| 2 | Review comparison section | No feature parity table present |
| 3 | Check all copy | Clear "not X" positioning without naming competitors |
#### TC-1.5: No Feature Parity Claims
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Search homepage text | No "more features than", "better than [competitor]", or comparative claims |
| 2 | Review feature cards | Each card describes benefit/value, not "more of X" |
#### TC-1.6: Content Quality and Readability
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Read all copy aloud | Professional tone, clear grammar, no typos |
| 2 | Check mobile responsiveness | Content readable on mobile viewport |
| 3 | Verify formatting | No broken layout, proper spacing between sections |
---
## 2. Homepage Functionality
### TC-2.1: CTA Buttons
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Click "Try the Demo" button | Navigates to https://demo.groombook.dev |
| 2 | Click "View on GitHub" button | Navigates to https://github.com/groombook/groombook |
### TC-2.2: Badge Display
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Locate hero badge | Displays: "🎉 100% Open Source — AGPL-3.0 License" |
### TC-2.3: Mobile Groomers "Try the Live Demo" CTA
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Navigate to mobile-groomers.html | Page loads without errors |
| 2 | Locate "Try the Live Demo" button | Button is visible with correct styling (green background) |
| 3 | Click "Try the Live Demo" button | Navigates to https://demo.groombook.dev |
---
## 3. Self-Booking CTA (GRO-1791)
### Purpose
Verify "Book an Appointment" is the primary CTA in the hero section, "Book Now" appears in navigation, and all CTAs are present and mobile-responsive.
### Pre-Conditions
- Homepage loads successfully
- User is not logged in
### Test Cases
#### TC-3.1: Hero CTA - Book an Appointment
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Navigate to homepage | Page loads without errors |
| 2 | Locate hero CTA buttons | "Book an Appointment →" is the first button in the hero CTA group |
| 3 | Click "Book an Appointment →" button | Navigates to https://groombook.dev/admin/book (the 4-step booking wizard) |
#### TC-3.2: Hero CTA - All Buttons Present
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Locate hero CTA buttons | All 4 buttons present: "Book an Appointment", "Try the Demo", "View on GitHub", "Get Started" |
| 2 | Verify button order | "Book an Appointment" is first |
#### TC-3.3: Mobile Responsiveness - Hero CTA (375px)
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Resize browser to 375px width | Page is responsive |
| 2 | Locate hero CTA buttons | "Book an Appointment" button is visible and properly sized |
| 3 | Verify flex-wrap | CTA buttons wrap gracefully on small screens |
#### TC-3.4: Footer Navigation - Book Now
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Scroll to footer | "Book Now" appears in footer navigation links |
| 2 | Click "Book Now" link | Navigates to https://groombook.dev/admin/book |
#### TC-3.5: Getting Started Page - Booking CTA
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Navigate to getting-started page | Page loads |
| 2 | Locate "Book an Appointment" link | "Book an Appointment →" link present in Quick Links section |
| 3 | Click "Book an Appointment →" link | Navigates to https://groombook.dev/admin/book |
---
## Pass/Fail Criteria
- **PASS:** All test cases execute successfully with expected results
- **FAIL:** Any test case fails or produces unexpected result
---
## Notes
- UAT should be performed on both desktop and mobile viewports
- Check browser console for JavaScript errors during test execution
- Verify all links are functional and lead to expected destinations
- Mobile viewport test (TC-3.3) must be executed at exactly 375px width per acceptance criteria