-
Notifications
You must be signed in to change notification settings - Fork 34
Closed
Copy link
Description
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.
Note: Please review the parent product issue before getting started on this task.
Description
To support the new Course -> Unit -> Pre-test -> Lesson(s) -> Post-test structure, we need a new mastery-model variant that explicitly supports A/B versions of pre and post tests attached to a single Unit. The existing MASTERY_MODELS should be updated to allow two distinct versions (A vs B) of one assessment set, which will be used for an accurate comparison of test results at the start and end of a Unit.
Outcomes
- Add a new constant within le_utils/constants/exercises.py for a preposttest mastery_model type:
MASTERY_MODEL.PREPOSTTEST = "preposttest"
- Update le_utils/spec/schema-mastery_criteria.json:
- Add "preposttest" as a possible value in the "mastery_model" enum
- Under "definitions”, define a new schema "preposttest" and include the required fields:
- assessment_item_ids: array of all item IDs (both A and B)
- version_a_item_ids: array of item IDs for version A
- version_b_item_ids: array of item IDs for version B
- Update the "anyOf" array so that when mastery_model == "preposttest", the object must include the three new required fields.
- Ensure current schema tests pass and add test schema validations for the new "preposttest" type to confirm valid and invalid cases.
