Files
ruoyi-vue-pro/tools/education-student-harness/fixtures

Fixture schemas

Fixtures are synthetic documentation examples, not default application data and not copies of prototype data. They model the stable fields the harness reads.

context.json

{
  "userId": 1001,
  "tenantId": 2001,
  "tenantName": "Local Pilot School",
  "displayName": "Local Pilot School"
}

question-collection.json

{
  "id": "collection-local-001",
  "name": "Synthetic practice collection",
  "collectionType": "QUESTION_BANK",
  "questionCount": 3,
  "status": "PUBLISHED"
}

practice-session.json

{
  "id": 9001,
  "clientSessionId": "local-session-001",
  "status": "ACTIVE",
  "questionCount": 3,
  "sessionVersion": 1,
  "questions": [
    {
      "sequence": 1,
      "questionId": "question-local-001",
      "contentVersion": "v1",
      "stem": "Synthetic question content",
      "type": "choice",
      "options": [{ "label": "A", "content": "Synthetic option" }],
      "selectedAnswer": null
    }
  ]
}

page.json

{
  "list": [],
  "total": 0
}

Do not add correctAnswer, explanation, access tokens, phone numbers, real names, provider identifiers, or licensed question text to pre-submission fixtures. Post-submission report examples may include answer/explanation fields only when explicitly needed to document the permitted post-submit response boundary.