Car-Repairs-Shop/QUICK_GUI_TEST.md
sackey a65fee9d75
Some checks are pending
linter / quality (push) Waiting to run
tests / ci (push) Waiting to run
Add customer portal workflow progress component and analytics dashboard
- Implemented the customer portal workflow progress component with detailed service progress tracking, including current status, workflow steps, and contact information.
- Developed a management workflow analytics dashboard featuring key performance indicators, charts for revenue by branch, labor utilization, and recent quality issues.
- Created tests for admin-only middleware to ensure proper access control for admin routes.
- Added tests for customer portal view rendering and workflow integration, ensuring the workflow service operates correctly through various stages.
- Introduced a .gitignore file for the debugbar storage directory to prevent unnecessary files from being tracked.
2025-08-10 19:41:25 +00:00

7.0 KiB

🚀 Quick GUI Testing Steps - 11-Step Workflow

Prerequisites Setup (Run Once)

1. Create Test Data

# In terminal, run this to create test users and data:
php artisan tinker --execute="
// Create test users
\$admin = App\Models\User::firstOrCreate(
    ['email' => 'admin@test.com'],
    [
        'name' => 'Test Admin',
        'password' => bcrypt('password'),
        'role' => 'admin',
        'email_verified_at' => now()
    ]
);

\$advisor = App\Models\User::firstOrCreate(
    ['email' => 'advisor@test.com'],
    [
        'name' => 'Service Advisor',
        'password' => bcrypt('password'),
        'role' => 'service_advisor',
        'email_verified_at' => now()
    ]
);

\$coordinator = App\Models\User::firstOrCreate(
    ['email' => 'coordinator@test.com'],
    [
        'name' => 'Service Coordinator',
        'password' => bcrypt('password'),
        'role' => 'service_coordinator',
        'email_verified_at' => now()
    ]
);

// Create test customer
\$customer = App\Models\Customer::firstOrCreate(
    ['email' => 'customer@test.com'],
    [
        'first_name' => 'John',
        'last_name' => 'Doe',
        'phone' => '555-0123',
        'address' => '123 Test St',
        'city' => 'Test City',
        'state' => 'TS',
        'zip_code' => '12345'
    ]
);

// Create customer user account
\$customerUser = App\Models\User::firstOrCreate(
    ['email' => 'customer@test.com'],
    [
        'name' => 'John Doe',
        'password' => bcrypt('password'),
        'role' => 'customer',
        'email_verified_at' => now()
    ]
);

// Link customer to user
\$customer->update(['user_id' => \$customerUser->id]);

// Create test vehicle
\$vehicle = App\Models\Vehicle::firstOrCreate(
    ['vin' => 'TEST123456789VIN'],
    [
        'customer_id' => \$customer->id,
        'make' => 'Toyota',
        'model' => 'Camry',
        'year' => 2020,
        'license_plate' => 'TEST123',
        'color' => 'Blue',
        'engine_size' => '2.5L'
    ]
);

echo 'Test data created successfully!\n';
echo 'Admin: admin@test.com / password\n';
echo 'Advisor: advisor@test.com / password\n';
echo 'Coordinator: coordinator@test.com / password\n';
echo 'Customer: customer@test.com / password\n';
"

🎯 GUI Testing Steps

Step 1: Access the Application

  1. Open browser: http://localhost:8000
  2. You should see login page or be redirected

Step 2: Test Admin Dashboard

  1. Login as Admin: admin@test.com / password
  2. Should redirect to /dashboard
  3. Look for navigation menu with:
    • Dashboard
    • Job Cards
    • Customers
    • Vehicles
    • Reports
    • Settings

Step 3: Test Job Card Creation (Workflow Step 1)

  1. While logged in as Admin, navigate to Job Cards
  2. Click "Create New Job Card" or similar
  3. URL should be: /job-cards/create
  4. Fill out the form:
    • Customer: Select "John Doe"
    • Vehicle: Select "Toyota Camry (TEST123)"
    • Branch Code: "ACC"
    • Customer Reported Issues: "Engine making noise during acceleration"
    • Service Advisor: Select "Service Advisor"
    • Keys Location: "Service Desk"
    • Check "Personal Items Removed"
    • Check "Photos Taken"
  5. Submit form
  6. Verify:
    • Job card created with number like "ACC/00001"
    • Status shows "Vehicle Received"
    • Redirected to job card details page

Step 4: Test Initial Inspection (Workflow Step 2)

  1. From job card details page, look for "Initial Inspection" button/tab
  2. If component exists, fill out inspection form:
    • Engine: "Fair"
    • Brakes: "Good"
    • Tires: "Excellent"
    • Mileage In: "75000"
    • Fuel Level In: "Half"
    • Overall Condition: "Engine requires diagnosis"
  3. Submit inspection
  4. Verify:
    • Status changes to "Initial Inspection Complete"
    • Inspection data saved

Step 5: Test Service Assignment (Workflow Step 3)

  1. Look for "Assign for Diagnosis" button
  2. Select Service Coordinator from dropdown
  3. Set priority and completion date
  4. Submit assignment
  5. Verify:
    • Status changes to "Assigned for Diagnosis"
    • Diagnosis record created

Step 6: Test Customer Portal

  1. Logout from admin account
  2. Login as Customer: customer@test.com / password
  3. Should redirect to: /customer-portal
  4. Verify customer dashboard shows:
    • Active job cards
    • Recent activity
    • Contact information
  5. Click on job card or navigate to: /customer-portal/status/{jobCardId}
  6. Verify workflow progress component shows:
    • Step 1: Vehicle Reception (Completed)
    • Step 2: Initial Inspection (Completed)
    • 🔄 Step 3: Service Assignment (Current)
    • Steps 4-11: Pending
    • Progress bar showing percentage
    • Service advisor contact info

Step 7: Test Analytics Dashboard

  1. Login back as Admin: admin@test.com / password
  2. Navigate to Reports section
  3. Look for "Workflow Analytics" or similar
  4. URL might be: /reports/workflow-analytics
  5. Verify dashboard shows:
    • Key metrics (Revenue, Jobs, Turnaround, Alerts)
    • Charts and visualizations
    • Branch filtering options
    • Time period filters
    • Export buttons

Step 8: Test Workflow Validation

  1. Create another job card (follow Step 3)
  2. Try to skip inspection step:
    • Go directly to assignment without doing inspection
    • Should see validation error
  3. Verify workflow enforcement works

🔍 What to Look For

Success Indicators:

  • Job cards create with proper branch numbering (ACC/00001, etc.)
  • Status progression follows correct sequence
  • Customer portal shows progress correctly
  • Analytics dashboard loads and displays data
  • Forms validate and save data properly
  • Navigation works smoothly between sections

Issues to Report:

  • 404 "Page Not Found" errors
  • 500 "Server Error" messages
  • Missing buttons or navigation items
  • Forms that don't submit
  • Data that doesn't save
  • Broken layouts or styling
  • Permission errors

🚨 Troubleshooting

If Job Card Creation Fails:

# Check if forms exist
php artisan route:list | grep job-card

If Customer Portal Doesn't Load:

# Check customer portal routes
php artisan route:list | grep customer-portal

If Livewire Components Don't Work:

# Clear caches
php artisan view:clear
php artisan route:clear
php artisan config:clear

If CSS/Styling Missing:

# Build assets
npm run build
# or for development
npm run dev

📊 Quick Test Results

After testing, you should be able to confirm:

  1. Job Card Workflow: /

    • Creation works
    • Status progression works
    • Data persists correctly
  2. Customer Portal: /

    • Login works
    • Progress visualization displays
    • Job card details accessible
  3. Admin Dashboard: /

    • Analytics load correctly
    • Reports generate
    • Navigation functions
  4. Quality Control: /

    • Inspections save properly
    • Validation works
    • Error handling functions

Your 11-step workflow implementation is ready for production testing! 🎉