muller-reporting-sys/TESTING_GUIDE.md
2025-11-12 22:21:35 +03:00

8.7 KiB

Testing Guide

Quick Start

  1. Start the development server:
npm run dev
  1. Open your browser: Navigate to http://localhost:3000

Test Scenarios

Scenario 1: Admin Login & System Setup

Login:

  • Email: admin@muller.com
  • Password: admin123
  • User Type: Admin

What to test:

  • View dashboard statistics
  • Navigate to Teams page
  • Navigate to Workers page
  • Navigate to Managers page
  • Navigate to Machines page
  • Verify all 4 teams are listed
  • Verify all 36 workers are listed
  • Verify all 4 shift managers are listed
  • Verify all 7 machines are listed
  • Test logout functionality

Scenario 2: Shift Manager - Create Shift

Login:

  • Email: james.anderson@muller.com
  • Password: muller123
  • User Type: Shift Manager

What to test:

  1. View shift manager dashboard
  2. Navigate to "Create Shift" page
  3. Select shift type (AM or PM)
  4. Select today's date
  5. Select "Red Team"
  6. Assign 7 operators to the 7 machines:
    • T1: David Wilson (RED-OP1)
    • T2: Robert Brown (RED-OP2)
    • T3: William Davis (RED-OP3)
    • T4: Richard Miller (RED-OP4)
    • T5: Joseph Moore (RED-OP5)
    • T6: Thomas Taylor (RED-OP6)
    • T7: Charles Jackson (RED-OP7)
  7. Click "Create Shift"
  8. Verify shift appears in "Shifts" page
  9. Verify shift status is "Active"
  10. Test logout

Scenario 3: Operator - View Active Shift

Login:

  • Email: david.wilson.red@muller.com
  • Password: muller123
  • User Type: Operator

What to test:

  1. View operator dashboard
  2. Verify active shift is displayed
  3. Verify shift details (date, team, machine, shift time)
  4. Click "Open Report" button
  5. Verify report page loads with basic info section

Scenario 4: Operator - Fill Out Report

Prerequisites: Complete Scenario 2 & 3 first

Login: Same as Scenario 3

What to test:

A. Safety Checklist

  1. Check all 6 safety items
  2. Click "Save"
  3. Verify data persists after page refresh

B. Production Pre-Checks

  1. Enter Wall Thickness values (Top, Label Panel, Base, Neck)
  2. Enter Section Weights values
  3. Enter Station 1 Weights values
  4. Click "Save"
  5. Verify data persists

C. Production Parameters

  1. Click "Add Hourly Temperature Parameters"
  2. Enter Melt Temp (e.g., 220)
  3. Enter Reg % (default 35.5)
  4. Enter Head PSI (e.g., 150)
  5. Click "Add"
  6. Verify entry appears in table
  7. Add 2-3 more entries
  8. Verify all entries are displayed

D. Bottle Weight Tracking

  1. Click "Add Weight Tracking"
  2. Enter weights for 4 bottles (e.g., 33.8, 34.1, 34.0, 33.9)
  3. Click "Add"
  4. Verify chart updates with new data point
  5. Verify average is calculated automatically
  6. Add 2-3 more entries
  7. Verify chart shows trend lines (average, upper/lower limits, target)

E. Hourly Quality Checks

  1. Click "Add Quality Check"
  2. Check relevant inspection items
  3. Enter Base Weight and Neck Weight
  4. Click "Add"
  5. Verify entry appears in table

F. Production Tracking

  1. Click "Add Production Tracking"
  2. Enter Hour (e.g., "8:00 AM")
  3. Enter Total Production This Shift
  4. Enter Production This Hour
  5. Add optional comment
  6. Click "Add"
  7. Verify entry appears in table

G. Seam Leak Test

  1. Click "Add Seam Leak Test"
  2. Enter time
  3. Click "Add Mould" button
  4. Enter Mould Number (e.g., 5)
  5. Select Pass/Fail
  6. Add 2-3 more moulds
  7. Click "Save Test"
  8. Verify test appears with all moulds

H. Film Details

  1. Click "Add New Film"
  2. Enter Width
  3. Enter Roll Number
  4. Enter Product Code
  5. Enter Pallet Number
  6. Click "Add"
  7. Verify film entry appears in table

I. Production Data

  1. Verify Average Weight is auto-calculated
  2. Enter Total Bags Made
  3. Enter Quality Metrics (Height fails, Top Load fails, etc.)
  4. Enter Output Metrics (Wheel Output, Total Good Bottles, etc.)
  5. Click "Save"
  6. Verify data persists

Scenario 5: Multiple Teams & Shifts

Test concurrent operations:

  1. Login as Green Team manager (sarah.mitchell@muller.com / muller123)

  2. Create a shift for Green Team

  3. Assign Green Team operators

  4. Logout

  5. Login as Green Team operator (daniel.white.green@muller.com / muller123)

  6. Verify active shift appears

  7. Open report and add some data

  8. Logout

  9. Login as Red Team operator (david.wilson.red@muller.com / muller123)

  10. Verify only Red Team shift appears (not Green Team)

  11. Verify report data is separate from Green Team


Scenario 6: Shift Closure & Archive

Prerequisites: Complete Scenario 2

Login as Shift Manager:

  • Email: james.anderson@muller.com
  • Password: muller123

What to test:

  1. Navigate to "Shifts" page
  2. Find the active shift
  3. (Note: Shift closure functionality needs to be implemented)
  4. After closure, verify shift status changes to "Closed"

Login as Operator:

  • Email: david.wilson.red@muller.com
  • Password: muller123

What to test:

  1. Verify closed shift no longer appears in "Active Shifts"
  2. Navigate to "Shifts Archive"
  3. Verify closed shift appears in archive
  4. Verify report is read-only (cannot edit)

Test Data Summary

Admin

  • 1 account with full system access

Shift Managers (4)

Operators (28 total - 7 per team)

Machines (7)

  • T1, T2, T3, T4, T5, T6, T7

Expected Behaviors

Authentication

  • Invalid credentials show error message
  • Successful login redirects to role-specific dashboard
  • Logout returns to login page
  • Protected routes redirect to login if not authenticated

Data Persistence

  • All form data saves to database
  • Data persists after page refresh
  • Data persists after logout/login

Role-Based Access

  • Admin can access admin pages only
  • Shift Manager can access shift manager pages only
  • Operator can access operator pages only
  • Users cannot access other roles' pages

Shift Assignment

  • Operators only see shifts they're assigned to
  • Operators only see reports for their assigned machine
  • Multiple operators can work simultaneously on different machines

Data Isolation

  • Each operator's report is separate
  • Each shift's data is separate
  • Teams' data is isolated from each other

Known Issues / Future Enhancements

  1. Shift Closure: Need to implement shift closure functionality for shift managers
  2. Password Reset: No password reset functionality yet
  3. Email Notifications: Not implemented
  4. PDF Export: Report PDF export not implemented
  5. Real-time Updates: No WebSocket for real-time collaboration
  6. Mobile App: Web-only, no native mobile app
  7. Advanced Analytics: No analytics dashboard yet

Performance Testing

Load Testing Scenarios

  1. Create 10+ shifts
  2. Add 50+ report entries
  3. Test with multiple concurrent users
  4. Test chart rendering with large datasets
  5. Test database query performance

Browser Compatibility

  • Chrome
  • Firefox
  • Safari
  • Edge
  • Mobile browsers (iOS Safari, Chrome Mobile)

Troubleshooting

Cannot Login

  • Verify database is running
  • Check DATABASE_URL in .env
  • Verify seed data was created successfully
  • Check browser console for errors

Data Not Saving

  • Check browser console for API errors
  • Verify Prisma client is generated
  • Check database connection
  • Verify API routes are working

Charts Not Displaying

  • Verify recharts is installed
  • Check browser console for errors
  • Verify data format is correct
  • Test with sample data

Shift Not Appearing for Operator

  • Verify shift was created for today's date
  • Verify operator is assigned to the shift
  • Verify shift status is "active"
  • Check database records

Success Criteria

All user roles can login successfully Admin can view and manage all system entities Shift managers can create and manage shifts Operators can view assigned shifts Operators can fill out complete reports All data persists correctly Charts display correctly Role-based access control works Mobile responsive design works No critical errors in console