Skip to content

Add “preposttest” mastery model constant and update schema for pre/post assessments #188

@LianaHarris360

Description

@LianaHarris360

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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions