Quick Start Testing Guide
This guide provides a streamlined process for testing STEMBlock.ai end-to-end in under 30 minutes.
Prerequisites
- Backend running on http://localhost:3001
- Frontend running on http://localhost:3000
- Database seeded with test accounts
Test Workflow Overview
- Coach creates class and assignment
- Coach adds students to class
- Student submits work
- Coach reviews and grades submission
- Student views published grade
Estimated Time: 15-20 minutes
Step-by-Step Testing
Phase 1: Coach Setup (5 minutes)
1.1 Login as Coach
URL: http://localhost:3000/login
Email: coach@test.com
Password: Coach123!
Expected: Redirect to /coach/dashboard
1.2 Create a Class
- Click "Create New Class" button
- Enter:
- Name: "Robotics 101"
- Description: "Introduction to robotics and programming"
- Click "Create Class"
Expected: New class appears in dashboard grid
1.3 Add Students to Class
- Click on "Robotics 101" class card
- Navigate to "Students" tab
- Click "Add Student" button
- Select "Alex Johnson" from dropdown
- Click "Add Student"
- Repeat for "Sarah Williams"
Expected: 2 students appear in Students tab
1.4 Create an Assignment
- Navigate to "Assignments" tab
- Click "Create Assignment" button
- Fill in form:
- Title: "Build a Line Follower"
- Description: "Create a robot that follows a black line. Upload photos of your design and your code."
- Type: Select "ROBOT_DESIGN"
- Due Date: Set to tomorrow
- Max Score: 100
- Click "Save"
Expected: Assignment appears in Assignments list
Phase 2: Student Submission (5 minutes)
2.1 Logout and Login as Student
- Click logout (top right)
- Navigate to http://localhost:3000/login
- Login:
- Email: alex@test.com
- Password: Student123!
Expected: Redirect to /student/dashboard
2.2 View Assignment
- Locate "Build a Line Follower" assignment
- Click on the assignment card
- Review assignment details
Expected: Assignment details displayed with "Submit Work" button
2.3 Create Submission
- Click "Submit Work" button
- Click "Upload Files"
- Select test files:
- A code file (e.g.,
line_follower.py) - A photo (e.g.,
robot.jpg) - Optional: Documentation (e.g.,
notes.pdf)
- A code file (e.g.,
- Click "Submit for Grading"
- Confirm submission
Expected: Status changes to "Submitted", files are uploaded
Phase 3: Coach Review & Grading (5 minutes)
3.1 Logout and Login as Coach
- Logout from student account
- Login as coach@test.com / Coach123!
3.2 Navigate to Review Queue
- Click "Review Queue" in navigation (or go to
/coach/reviews) - Locate Alex's submission for "Build a Line Follower"
Expected: Submission card shows student name, assignment, status
3.3 Review Submission Details
- Click on the submission card
- Navigate through tabs:
- Files Tab: View uploaded files
- AI Evaluation Tab: Not yet generated
- Coach Feedback Tab: Empty
3.4 Generate AI Evaluation
- In "AI Evaluation" tab, click "Generate AI Evaluation"
- Wait 10-30 seconds for AI to process
- Review AI results:
- Overall score
- Category scores (Robot Design, Code Quality, etc.)
- AI feedback (summary, strengths, improvements)
- AI confidence level
Expected: AI evaluation displayed with scores and feedback
3.5 Add Coach Feedback (Optional)
- Click "Coach Feedback" tab
- Enter:
- Summary: "Great work on your line follower! Your code is well-structured."
- Strengths: "Clean code organization\nGood sensor placement"
- Improvements: "Add more comments\nTest with different line widths"
- Next Steps: "Try adding obstacle avoidance\nExperiment with PID control"
- Click "Save Feedback"
Expected: Feedback saved successfully
3.6 Override Scores (Optional)
- Click "AI Evaluation" tab
- Click "Edit Scores" button
- Modify overall score (e.g., change 85 to 90)
- Click "Save Changes"
Expected: Score updated, evaluation status changes to "COACH_REVIEWED"
3.7 Publish Grade
- Scroll to bottom
- Click "Publish to Student" button
- Confirm publication
Expected:
- Success message displayed
- Evaluation status changes to "PUBLISHED"
- Green checkmark appears
Phase 4: Student Views Grade (2 minutes)
4.1 Login as Student
- Logout from coach account
- Login as alex@test.com / Student123!
4.2 View Published Grade
- Navigate to Student Dashboard
- Click on "Build a Line Follower" assignment
- View submission status: "Graded"
- Click "View Evaluation"
- Review:
- Overall score
- Category scores
- AI feedback
- Coach feedback (if added)
Expected: All evaluation details visible to student
Verification Checklist
After completing the test, verify:
- Coach can create classes
- Coach can add students to classes
- Coach can create assignments
- Student can view assigned work
- Student can upload files
- Student can submit work
- Coach can view submissions in review queue
- AI evaluation generates successfully
- Coach can add feedback
- Coach can override scores
- Coach can publish evaluations
- Student can view published grades
- Student can view AI and coach feedback
Common Issues and Quick Fixes
Issue: Can't login
Fix: Verify credentials, check backend is running
Issue: Assignment not appearing for student
Fix:
- Ensure student is enrolled in the class
- Refresh the page
- Check assignment was created in correct class
Issue: File upload fails
Fix:
- Check file size (must be under 10MB)
- Verify backend uploads directory exists
- Check backend logs for errors
Issue: AI evaluation fails
Fix:
- Verify MISTRAL_API_KEY is set in backend/.env
- Check Mistral API quota
- Review backend console for errors
Issue: Can't publish evaluation
Fix:
- Ensure evaluation exists (generate AI eval first)
- Check coach owns the class
- Verify backend logs for permission errors
Advanced Testing Scenarios
Test Multiple Students
- Add Sarah Williams to class
- Login as sarah@test.com / Student123!
- Submit work for same assignment
- Login as coach and review both submissions
- Verify both appear in review queue
Test Assignment Types
Create assignments with different types:
- CODE (evaluates code quality)
- DOCUMENTATION (evaluates technical writing)
- ESSAY (evaluates writing)
- MIXED (evaluates multiple categories)
Test Due Dates
- Create assignment with past due date
- Verify student sees "Overdue" indicator
- Verify student can still submit
Test Draft Submissions
- Student starts submission (uploads files)
- Student doesn't click "Submit"
- Verify submission stays in DRAFT
- Verify coach doesn't see it in review queue
- Student returns and completes submission
Test Edit Submission
- Student creates DRAFT submission
- Student uploads file
- Student deletes file
- Student uploads different file
- Student submits
- Verify final files are correct
Performance Testing
Large File Upload
- Upload file close to 10MB limit
- Verify upload completes
- Verify file is accessible
Many Submissions
- Create 10+ submissions
- Navigate review queue
- Verify all submissions load
- Check performance
Concurrent Users
- Open multiple browser windows
- Login as different users
- Perform actions simultaneously
- Verify no conflicts
Data Validation
After testing, check database:
-- Count records created
SELECT
(SELECT COUNT(*) FROM "Class") as classes,
(SELECT COUNT(*) FROM "Assignment") as assignments,
(SELECT COUNT(*) FROM "Submission") as submissions,
(SELECT COUNT(*) FROM "Evaluation") as evaluations,
(SELECT COUNT(*) FROM "File") as files;
-- View recent submissions
SELECT
s.id,
s.status,
u.firstName || ' ' || u.lastName as student_name,
a.title as assignment_title,
e.overallScore
FROM "Submission" s
JOIN "Student" st ON s.studentId = st.id
JOIN "User" u ON st.userId = u.id
JOIN "Assignment" a ON s.assignmentId = a.id
LEFT JOIN "Evaluation" e ON e.submissionId = s.id
ORDER BY s.createdAt DESC
LIMIT 10;
Clean Up After Testing
To reset test data:
# Reset database (WARNING: Deletes all data!)
cd backend
npx prisma migrate reset
# Re-seed with test accounts
npm run seed
Next Steps
After successful end-to-end testing:
- Review Google OAuth Setup for production
- Test Google Classroom Integration
- Deploy to staging environment
- Perform user acceptance testing
- Deploy to production
Testing Time: ~20 minutes
Last Updated: November 3, 2025
Status: Ready for Testing ✅