generated from medic/cht-repo-template
-
Notifications
You must be signed in to change notification settings - Fork 5
Implement Test Environment Layer #66
Copy link
Copy link
Open
Labels
Type: FeatureAdd something new.Add something new.phase-2Discovery phase - evaluate tools and approachesDiscovery phase - evaluate tools and approaches
Description
Summary
Implement the Test Environment Layer that sets up test environments for manual QA testing, based on discovery findings from #16.
Background
The Test Environment Layer acts as an independent QA engineer, orchestrating environments, preparing config-driven test data, and managing environment lifecycle.
Scope
1. Environment Orchestration
- Spin up CHT with correct version/branch using `npm run local-images` + `docker compose`
- Manage lifecycle (start, reset, teardown)
2. Config Discovery
- Fetch deployed config from `GET /api/v1/settings` (with auth)
- Parse `contact_types` for hierarchy structure, `roles` for user types, available forms
3. Config-Driven Test Data Preparation
- Generate data that conforms to deployed config
- Create valid hierarchies, people, reports
- Override only when ticket explicitly specifies
4. Tools
| Tool | Purpose |
|---|---|
| `npm run local-images` | Build local code into Docker images |
| `docker compose` | Container orchestration |
| CHT API | Config discovery, data operations |
| `cht-conf` | Configuration upload, user creation |
| CouchDB API | Data verification |
5. No Custom Agent Needed
This is orchestration of existing tools. No LLM involved in environment setup.
Dependencies
- [Phase 2] Discovery: Test Environment Layer (cht-conf, cht-toolbox, cht-datasource) #16 (Discovery: Test Environment Layer) — tool evaluation and findings
Enables
- Create QA Supervisor #64 (QA Supervisor) — needs this layer to function
Complexity
Medium
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Type: FeatureAdd something new.Add something new.phase-2Discovery phase - evaluate tools and approachesDiscovery phase - evaluate tools and approaches
Type
Projects
Status
Todo