Goal
Let users generate test fixtures from CQL without manual FHIR/CQL knowledge.
Desired behavior
"Generate Test Fixtures" button in Tests tab:
- Reads current CQL text
- Calls
POST /api/measures/{id}/ai/generate-test-fixtures
- Returns 5 fixtures covering COMPLIANT, DUE_SOON, OVERDUE, MISSING_DATA, EXCLUDED
- Each:
name, inputData, expectedOutcome
- Inserted as draft rows the user can edit before saving
Files
backend/src/main/java/com/workwell/ai/AiAssistService.java — generateTestFixtures()
backend/src/main/java/com/workwell/web/AiController.java — endpoint
frontend/features/studio/components/TestsTab.tsx — generate button + draft rows
Acceptance criteria
Spec: docs/sprints/SPRINT_07_overdelivery_features.md §7.2
Goal
Let users generate test fixtures from CQL without manual FHIR/CQL knowledge.
Desired behavior
"Generate Test Fixtures" button in Tests tab:
POST /api/measures/{id}/ai/generate-test-fixturesname,inputData,expectedOutcomeFiles
backend/src/main/java/com/workwell/ai/AiAssistService.java—generateTestFixtures()backend/src/main/java/com/workwell/web/AiController.java— endpointfrontend/features/studio/components/TestsTab.tsx— generate button + draft rowsAcceptance criteria
POST /api/measures/{id}/ai/generate-test-fixturesreturns 5 fixture objectsAI_TEST_FIXTURES_GENERATEDaudit event writtenSpec: docs/sprints/SPRINT_07_overdelivery_features.md §7.2