Skip to main content

Quick Start Testing Guide

This guide provides a streamlined process for testing STEMBlock.ai end-to-end in under 30 minutes.

Prerequisites

Test Workflow Overview

  1. Coach creates class and assignment
  2. Coach adds students to class
  3. Student submits work
  4. Coach reviews and grades submission
  5. 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

  1. Click "Create New Class" button
  2. Enter:
    • Name: "Robotics 101"
    • Description: "Introduction to robotics and programming"
  3. Click "Create Class"

Expected: New class appears in dashboard grid

1.3 Add Students to Class

  1. Click on "Robotics 101" class card
  2. Navigate to "Students" tab
  3. Click "Add Student" button
  4. Select "Alex Johnson" from dropdown
  5. Click "Add Student"
  6. Repeat for "Sarah Williams"

Expected: 2 students appear in Students tab

1.4 Create an Assignment

  1. Navigate to "Assignments" tab
  2. Click "Create Assignment" button
  3. 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
  4. Click "Save"

Expected: Assignment appears in Assignments list

Phase 2: Student Submission (5 minutes)

2.1 Logout and Login as Student

  1. Click logout (top right)
  2. Navigate to http://localhost:3000/login
  3. Login:

Expected: Redirect to /student/dashboard

2.2 View Assignment

  1. Locate "Build a Line Follower" assignment
  2. Click on the assignment card
  3. Review assignment details

Expected: Assignment details displayed with "Submit Work" button

2.3 Create Submission

  1. Click "Submit Work" button
  2. Click "Upload Files"
  3. Select test files:
    • A code file (e.g., line_follower.py)
    • A photo (e.g., robot.jpg)
    • Optional: Documentation (e.g., notes.pdf)
  4. Click "Submit for Grading"
  5. Confirm submission

Expected: Status changes to "Submitted", files are uploaded

Phase 3: Coach Review & Grading (5 minutes)

3.1 Logout and Login as Coach

  1. Logout from student account
  2. Login as coach@test.com / Coach123!

3.2 Navigate to Review Queue

  1. Click "Review Queue" in navigation (or go to /coach/reviews)
  2. Locate Alex's submission for "Build a Line Follower"

Expected: Submission card shows student name, assignment, status

3.3 Review Submission Details

  1. Click on the submission card
  2. Navigate through tabs:
    • Files Tab: View uploaded files
    • AI Evaluation Tab: Not yet generated
    • Coach Feedback Tab: Empty

3.4 Generate AI Evaluation

  1. In "AI Evaluation" tab, click "Generate AI Evaluation"
  2. Wait 10-30 seconds for AI to process
  3. 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)

  1. Click "Coach Feedback" tab
  2. 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"
  3. Click "Save Feedback"

Expected: Feedback saved successfully

3.6 Override Scores (Optional)

  1. Click "AI Evaluation" tab
  2. Click "Edit Scores" button
  3. Modify overall score (e.g., change 85 to 90)
  4. Click "Save Changes"

Expected: Score updated, evaluation status changes to "COACH_REVIEWED"

3.7 Publish Grade

  1. Scroll to bottom
  2. Click "Publish to Student" button
  3. 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

  1. Logout from coach account
  2. Login as alex@test.com / Student123!

4.2 View Published Grade

  1. Navigate to Student Dashboard
  2. Click on "Build a Line Follower" assignment
  3. View submission status: "Graded"
  4. Click "View Evaluation"
  5. 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

  1. Add Sarah Williams to class
  2. Login as sarah@test.com / Student123!
  3. Submit work for same assignment
  4. Login as coach and review both submissions
  5. 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

  1. Create assignment with past due date
  2. Verify student sees "Overdue" indicator
  3. Verify student can still submit

Test Draft Submissions

  1. Student starts submission (uploads files)
  2. Student doesn't click "Submit"
  3. Verify submission stays in DRAFT
  4. Verify coach doesn't see it in review queue
  5. Student returns and completes submission

Test Edit Submission

  1. Student creates DRAFT submission
  2. Student uploads file
  3. Student deletes file
  4. Student uploads different file
  5. Student submits
  6. 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:

  1. Review Google OAuth Setup for production
  2. Test Google Classroom Integration
  3. Deploy to staging environment
  4. Perform user acceptance testing
  5. Deploy to production

Testing Time: ~20 minutes
Last Updated: November 3, 2025
Status: Ready for Testing ✅