Major Features: - CRM Lite: Pipeline, tasks, accounts, calendar, inbox - AI Copilot: Multi-provider support, brand voice, content rules - Marketing: Campaigns, templates, channels, broadcasts - Intelligence: Buyer analytics, market intelligence dashboard - Orchestrator: Sales & marketing automation with AI - Compliance: License tracking (minimal shell) - Conversations: Buyer-seller messaging with email/SMS routing Infrastructure: - Suites & Plans system for feature gating - 60+ new migrations - Module middleware for access control - Database seeders for production sync - Enhanced product management (varieties, inventory modes) Documentation: - V1 scope, launch checklist, QA scripts - Module current state audit - Feature matrix (standard vs premium)
13 KiB
V1 QA Script - Manual Test Plan
Created: November 2025 Purpose: Step-by-step manual testing script for V1 verification
Table of Contents
Intro
Branch
feature/v1-finalization
Environments
- Local:
http://localhost(Docker via Sail) - Staging:
https://staging.cannabrands.app
Personas
- Admin: Superadmin with Filament access
- Seller: Brand business managing products and orders
- Buyer: Dispensary business browsing marketplace and ordering
Test Accounts
| Persona | Password | Business | |
|---|---|---|---|
| Admin | admin@example.com |
password |
N/A |
| Seller | seller@example.com |
password |
Cannabrands (test seller) |
| Buyer | buyer@example.com |
password |
Test Dispensary |
Test Scenarios
Seller Scenarios
[ ] S1: Complete Seller Onboarding
Steps:
- Log in as a new seller user (or clear onboarding status)
- Navigate to
/onboarding - Complete all onboarding steps (profile, business info, etc.)
- Click "Go to Dashboard"
Expected Result:
- All steps complete without errors
- Redirected to seller dashboard
- Dashboard shows empty states or initial data
[ ] S2: Create Brand + Brand Profile
Steps:
- Navigate to Brands from sidebar
- Click "Add Brand"
- Fill in brand name, description, logo
- Save the brand
- Edit the brand and update AI voice settings
Expected Result:
- Brand created successfully
- Brand appears in list
- Brand profile page renders correctly
- AI voice settings save
[ ] S3: Create Product (All Tabs) + Preview
Steps:
- Navigate to Products
- Click "Add Product"
- Fill in basic info (name, SKU, price, category, brand)
- Save and navigate to edit view
- Visit each tab: Basic Info, Media, Pricing, Inventory, Batch Management, BOM/Templates, Strains, Promotions, Listings, Custom Menus, Archived
- Click "Preview" to see buyer-facing view
Expected Result:
- Product created successfully
- All tabs render without errors
- Data saves correctly on each tab
- Preview shows correct product information
[ ] S4: Use Bulk Actions (All 4 Types)
Steps:
- Navigate to Bulk Actions
- Select multiple products
- Prices tab: Increase price by 10%, click Apply
- Visibility tab: Hide selected products, click Apply
- Assignment tab: Assign to a different brand, click Apply
- Inventory tab: Adjust stock +10, click Apply
Expected Result:
- Each bulk action shows success message
- Products reflect the changes when viewed individually
[ ] S5: View Seller Analytics Index
Steps:
- Navigate to Analytics from sidebar
- View KPI cards (revenue, orders, etc.)
- View revenue chart
- View top products and top buyers tables
Expected Result:
- Analytics page renders without errors
- KPI cards show data (or zero if no orders)
- Charts render correctly
- Period selector works
[ ] S6: Use Product Tabs Without Errors
Steps:
- Open an existing product for editing
- Click through each tab:
- Inventory (if has_inventory enabled)
- Batch Management
- Promotions
- Listings
- Templates/BOM
- Custom Menus
- Bulk Add/Edit
- Packaging (if applicable)
Expected Result:
- All tabs load without JavaScript errors
- Data displays correctly
- Forms are functional
[ ] S7: Complete Order Fulfillment Flow
Steps:
- Have a buyer place an order (or use existing test order)
- Navigate to Orders as seller
- View order detail
- Progress through status: New → Accepted → Picking → Ready → Shipped
- Generate invoice from order
Expected Result:
- Order status updates correctly at each step
- Status history shows all transitions
- Invoice created successfully
[ ] S8: Orchestrator Command Center
Prerequisites:
- Business must have
has_crm,has_buyer_intelligence, ANDcopilot_enabledall set to TRUE
Steps:
- Log in as seller
- Verify Orchestrator appears in sidebar navigation (under Dashboard group)
- Click to navigate to
/s/{business}/orchestrator - Review "Today's Targets" section (top engagement-scored buyers)
- Review "Next Best Actions" section (recommended actions with AI message button)
- Review "Hot Products" section (most-viewed products)
- Review "At-Risk Accounts" section (buyers needing attention)
- Click "Generate AI Message" on any action
- Click "View Buyer" link on a target
Expected Result:
- Sidebar shows Orchestrator link when all 3 flags are enabled
- Command Center page renders without errors
- Today's Targets shows up to 10 buyers ranked by engagement score
- Next Best Actions shows actionable recommendations with "Generate AI Message" buttons
- Hot Products shows products with recent views
- At-Risk Accounts shows buyers flagged as needing re-engagement
- AI message modal opens and generates content
- Links navigate correctly to buyer detail pages
[ ] S9: Orchestrator Dashboard Widget
Prerequisites:
- Same as S8 (all 3 flags enabled)
Steps:
- Navigate to seller dashboard
/s/{business}/dashboard - Look for Orchestrator widget card
- Verify it shows "Today's top targets" (up to 3)
- Click "Open" button
Expected Result:
- Widget appears in dashboard with gradient styling
- Shows top 3 engagement targets with scores and fire/sun/snowflake icons
- "Open" button navigates to full Orchestrator page
[ ] S10: Orchestrator Disabled State
Steps:
- As admin, disable ONE of:
has_crm,has_buyer_intelligence, orcopilot_enabled - Log in as seller for that business
- Check sidebar navigation
- Manually navigate to
/s/{business}/orchestrator
Expected Result:
- Orchestrator link does NOT appear in sidebar
- Direct URL shows "Orchestrator Not Available" page
- Page lists which module(s) are missing
- Dashboard widget does NOT appear
Buyer Scenarios
[ ] B1: Complete Buyer Onboarding
Steps:
- Log in as a new buyer user (or clear onboarding status)
- Navigate to
/onboarding - Complete all onboarding steps
- Click "Go to Dashboard"
Expected Result:
- All steps complete without errors
- Redirected to buyer dashboard
- Dashboard shows marketplace links
[ ] B2: Browse Marketplace
Steps:
- Navigate to Marketplace
- Browse by categories
- View a brand page
- View a product detail page
Expected Result:
- Products display correctly with images and prices
- Brand page shows brand info and products
- Product detail shows batch/COA info if available
[ ] B3: Cart + Checkout Flow
Steps:
- Add products to cart
- View cart, update quantities
- Proceed to checkout
- Select delivery window
- Confirm payment terms
- Submit order
Expected Result:
- Cart updates correctly
- Checkout form validates required fields
- Order confirmation page shows order details
[ ] B4: View Orders + Manifest PDF
Steps:
- Navigate to Orders
- View order list
- Click an order to see detail
- View/download manifest PDF (if available)
Expected Result:
- Orders list shows all buyer orders
- Order detail shows line items, totals, status
- PDF generates correctly
[ ] B5: View Invoices + PDF
Steps:
- Navigate to Invoices
- View invoice list
- Click an invoice to see detail
- Download invoice PDF
Expected Result:
- Invoices list shows all buyer invoices
- Invoice detail shows correct amounts
- PDF downloads successfully
[ ] B6: Buyer Insights Page
Prerequisites:
- Business must have
has_buyer_intelligenceset to TRUE
Steps:
- Log in as buyer
- Navigate to
/b/{business}/insights - Review "Recommended For You" section
- Review "Trending in Marketplace" section
- Review "Recently Viewed" section
- Click a product card
Expected Result:
- Insights page renders without errors
- Product recommendations display (or empty state if no order history)
- Trending products show popular marketplace items
- Recently viewed shows products buyer has viewed
- Product links navigate to marketplace product detail pages
[ ] B7: Buyer Insights Dashboard Widget
Prerequisites:
- Same as B6 (
has_buyer_intelligenceenabled)
Steps:
- Navigate to buyer dashboard
/b/{business}/dashboard - Look for "Recommended For You" widget card
- Click "View All" button
Expected Result:
- Widget appears with gradient styling when BI is enabled
- Shows up to 3 recommended products with prices
- "View All" navigates to full Insights page
[ ] B8: Buyer Insights Disabled State
Steps:
- As admin, disable
has_buyer_intelligencefor a buyer business - Log in as buyer for that business
- Manually navigate to
/b/{business}/insights
Expected Result:
- Direct URL shows "Insights Not Available" page
- Dashboard widget does NOT appear
Admin Scenarios
[ ] A1: Admin Login + Dashboard
Steps:
- Log in as admin@example.com
- View Filament dashboard
- Navigate to Businesses resource
- Navigate to Users resource
Expected Result:
- Filament dashboard loads
- Resources show data tables
- Navigation works correctly
[ ] A2: Toggle Business Modules
Steps:
- Navigate to a business in Filament
- Go to Modules tab
- Toggle
has_buyer_intelligenceOFF then ON - Save changes
- Log in as seller for that business
- Verify Buyer Intelligence access changes
Expected Result:
- Module toggles save correctly
- Seller sees "Not Enabled" when OFF
- Seller sees full BI views when ON
[ ] A3: Configure AI Connection
Steps:
- Navigate to AI Settings page
- Add or edit an AI connection
- Click "Test Connection"
- Save the connection
Expected Result:
- Test shows success/failure result
- Connection saves to database
- Connection appears in list
[ ] A4: Impersonation Flow
Steps:
- From admin, click Impersonate on a seller user
- Verify impersonation banner appears
- Navigate around seller dashboard
- Click "Return to Admin" (or use /admin/back-to-admin)
- Repeat for a buyer user
Expected Result:
- Impersonation starts successfully
- Banner visible at top of page
- Navigation works as impersonated user
- Return to admin works correctly
Buyer Intelligence Scenarios
[ ] BI1: BI Disabled State
Steps:
- As admin, set
has_buyer_intelligence= false for a business - Log in as seller for that business
- Navigate to
/s/{business}/buyer-intelligence - Navigate to each sub-page (products, buyers, sales, marketing)
Expected Result:
- All pages show "Buyer Intelligence Not Enabled" card
- "Learn More" button links to plans page
[ ] BI2: BI Enabled State
Steps:
- As admin, set
has_buyer_intelligence= true for a business - Log in as seller for that business
- Navigate to Buyer Intelligence Overview
- Navigate to Products, Buyers, Sales, Marketing pages
Expected Result:
- All 5 pages render without errors
- KPI cards display data
- Charts render
- Tables show data (or empty states)
Compliance Scenarios
[ ] C1: Compliance Disabled State
Steps:
- As admin, set
has_compliance= false for a business - Log in as seller for that business
- Navigate to
/s/{business}/compliance
Expected Result:
- Shows "Compliance Module Not Enabled" page
- Benefits list displays
- "Back to Dashboard" button works
[ ] C2: Compliance Enabled State
Steps:
- As admin, set
has_compliance= true for a business - Log in as seller for that business
- Navigate to Compliance Overview
- Verify stats cards (Active, Expiring, Expired)
- Click "View All Licenses"
- Use filters on licenses list
Expected Result:
- Compliance Overview renders with stats
- Expiring licenses section shows licenses within 90 days
- Licenses list renders with search/filter
- Status badges display correctly (Active/Expiring Soon/Expired)
Regression Checks
After any bug fix, re-verify these critical screens:
- Product edit + all tabs
- Bulk actions page (all 4 tabs)
- Seller Analytics index
- Onboarding (seller + buyer)
- Marketplace browse + product detail
- Cart + checkout
- Order detail + status workflow
- Buyer Intelligence overview
- Compliance overview + licenses
- Orchestrator Command Center (when enabled)
- Buyer Insights page (when enabled)
Execution Notes
| Field | Value |
|---|---|
| Tester Name | |
| Date | |
| Environment | Local / Staging |
| Branch | |
| Total Scenarios | 24 |
| Passed | |
| Failed | |
| Blocked |
Issues Found
| # | Scenario | Description | Severity | Status |
|---|---|---|---|---|
| 1 | ||||
| 2 | ||||
| 3 |
Notes
Add any test execution notes here