Chapter Tests
A chapter test is a single-chapter MCQ assessment. The student unlocks it by completing the chapter's videos in their Learning Journey, takes it once (no retakes), and gets a score. On the teacher side, every chapter the school covers shows up with class-wide performance and a classification of students by score band — and the teacher can launch a targeted class test for any band in two taps.
Don't confuse chapter tests with Quick Tests. Both are chapter-scoped, but a chapter test is a one-shot assessment tied to the Learning Journey unlock; a quick test is unlimited student practice.
At a glance
| Who can do this | Students take · Teachers view performance + escalate to a class test |
| Where it lives | Student app /dashboard/chapter-test/:testId/* (entry from chapter detail) · Teacher app /dashboard/chapter-tests/* |
| Triggers notifications? | No — the unlock and result are silent (only the parent's class-test notifications carry over) |
| Related features | Class Tests · Learning Journey · Syllabus |
How it flows
Status lifecycle
Step-by-step
1. Student progresses through chapter videos
- App / route: Student app →
/dashboard/learning-journey/:subjectId/:chapterId - The chapter detail page lists videos. Each video is sequential — video N+1 is locked until video N is marked complete.
- Below the video list, a ChapterTestCard is rendered.
2. ChapterTestCard states
The card is the gateway to the chapter test and renders one of these states:
- Locked: shown when not all videos are complete. Shows "Complete N more videos to unlock" plus an overall progress bar.
- Eligible (not started): shows a CTA "Take Chapter Test" with quick facts: "10–13 questions (MCQ) · 30 minutes duration · No retakes allowed".
- Generating: the card silently hides itself (renders null) while the backend builds the question paper. The card polls every 2 seconds and reappears when ready.
- Published / In Progress: shows "Take Chapter Test" or "Continue Test" CTA.
- Completed: shows a green check + "View Results" link.
3. Student takes the test
- App / route:
/dashboard/chapter-test/:testId(instructions) →/dashboard/chapter-test/:testId/:questionIndex(per-question UI) →/dashboard/chapter-test/:testId/results(final result). - Instructions page validates that
status === 'published'before letting the student start. - Question UI mirrors the prep / class test UI: timer, hint button, MCQ tap, navigation between questions.
- On submit, MCQs auto-grade, the result page renders.
4. Teacher sees chapter-wide performance
- App / route: Teacher app →
/dashboard/chapter-tests - Lists every chapter in the school with: total students, completed count, in-progress count, average score, total questions, average %.
- Filterable by class, by subject, and by free-text search.
- Tap a chapter →
/dashboard/chapter-tests/:chapterId/students.
5. Per-chapter student classification
- App / route:
/dashboard/chapter-tests/:chapterId/students - Students grouped by classification:
- Good — 60 % or higher. Strong understanding.
- Average — 40–59 %. Needs reinforcement.
- Needs Improvement — below 40 %. Requires remedial support.
- Uncategorised — student has not yet attempted the chapter test.
- Each group has summary stats and an expandable student list (name, section, score, percentage, completion date).
6. Escalate to a targeted class test
- From any classification group, the teacher can tap Create Test for that group.
- This stashes
{chapterName, chapterId, subject, className, classification, classificationLabel, studentProfileIds, studentNames}intosessionStorageunderchapterTestStudents, then navigates to/dashboard/class-tests/create?fromChapterTest=true§ionId=…&subjectId=…&chapterId=…. - The class-test creation page reads this and:
- Pre-selects the section, subject, chapter.
- Pre-fills a title like
{Chapter} - {Classification} Group Test. - Adapts difficulty based on classification (Good → Hard, Average → Medium, Needs Improvement → Easy).
- Pre-targets only those students for the assign step.
- See Class Tests for the rest of the flow.
7. Per-test results view (teacher)
- App / route:
/dashboard/chapter-tests/:testId/results— opens the per-attempt question breakdown for one student's chapter test.
Edge cases & things to test
- Last-video completion edge: completing the final video must immediately surface the eligible CTA on the chapter detail page (no refresh needed).
- Generation hangs: card is in
generatingstate for >60 s — user has no visible state because the card hides itself. Confirm there is a fallback or that the polling eventually surfaces a retry. - Mid-generation app close: student starts the test, app is killed during AI generation — when they return, polling must resume, not restart from zero.
- Mid-attempt app close: student answers 5/10 and closes the app — reopening should resume from question 5 with the timer continuing from the original
startedAt. - No retakes: confirm a student who completed a chapter test can only "View Results" and cannot start a new attempt.
- Locked videos cheat path: try to navigate directly to
/dashboard/chapter-test/:testIdfor a chapter the student has not unlocked — instructions page must reject (test status notpublishedfor them). - Classification thresholds: a student exactly on 40 % or 60 % — confirm which band they fall into.
- Empty chapter (uncategorised only): a chapter where no student has attempted yet — teacher list should still render with all 4 groups, just empty.
- Targeted class-test handoff: launch a class test from "Needs Improvement", then on the create page deselect the chapter banner — the targeted student set must clear from sessionStorage.
- Section / class change mid-flow: if the teacher backs out of the class-test creation and re-enters from a different chapter group, sessionStorage must be replaced, not appended.
- Score 0 with answers blank: student submits without answering anything — recorded as Completed with score 0, classified as Needs Improvement.
- Subject / class filter combination: filter by both subject + class on
/dashboard/chapter-tests— only chapters matching both should show.
Related
- Class Tests — the natural escalation path from a chapter-test classification group
- Learning Journey — completing chapter videos is what unlocks the chapter test
- Prep & Quick Tests — student-initiated practice (Quick Test is also chapter-scoped)
- Syllabus — chapters are sourced from the school class syllabus