run test on phase 24 and 33

This commit is contained in:
voltsrage
2026-06-24 04:35:15 +08:00
parent 68c397350b
commit 279add1e45
45 changed files with 732 additions and 99 deletions
@@ -0,0 +1,34 @@
# Experiment: Duplicate Batch Re-upload
Date: 2026-06-24
Phase: 24 — Climate Resilience Verification
## 1. Hypothesis
If I POST the same `batchReference` twice to `/api/v1/sync/batches`, I expect the
second request to return the existing batch id with only one row in
`clinical_sync_batches`, because batch reference is the idempotency key for gateway sync.
## 2. Baseline
- Test: `ClinicalSyncBatchTests.DuplicateBatchReference_ReturnsExisting`
- Fixture: `ApiFixture` with `GatewayRegistrySeeder` and active encounter
- Gateway auth: `X-Api-Key` + `X-Gateway-Id`
## 3. Break
```bash
dotnet test VigilCareClinicalAPI.Tests \
--filter "FullyQualifiedName~ClinicalSyncBatchTests.DuplicateBatchReference_ReturnsExisting"
```
The test posts identical `ClinicalSyncBatchRequest` (same `batchReference`) twice.
## 4. Observe
- First POST: HTTP 201 Created, returns `batchId`
- Second POST: returns **same** `batchId` as first response
- Database: exactly **1** row in `clinical_sync_batches` for that `batchReference`
- Test result: **Passed** (702 ms)
## 5. Fix / Outcome
- Bug found? **no**
- Fix applied: no fix needed — by design
## 6. Verify
(Assertions captured in `2026-06-24-duplicate-batch-fixed.json`)