Files
hub/docs/V1_QA_SCRIPT.md
kelly 3905f86d6a feat: V1 Release - Complete platform with all premium modules
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)
2025-12-01 09:48:40 -07:00

13 KiB

V1 QA Script - Manual Test Plan

Created: November 2025 Purpose: Step-by-step manual testing script for V1 verification


Table of Contents

  1. Intro
  2. Test Accounts
  3. Test Scenarios
  4. Regression Checks
  5. Execution Notes

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 Email 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, AND copilot_enabled all 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, or copilot_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_intelligence set 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_intelligence enabled)

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_intelligence for 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_intelligence OFF 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