TASK22269: add phase22 azurestorage helper contract tests

This commit is contained in:
2026-03-26 11:11:24 +00:00
parent 8744d3dafc
commit 58e1eef1f5
3 changed files with 159 additions and 0 deletions
+32
View File
@@ -2975,3 +2975,35 @@ Validation:
Follow-ups:
- Any further `azurestorage.js` cleanup should remain bounded (e.g., logging-only normalization) and separated from behavior-affecting refactors.
---
### CL-083: TASK22269 Slice B1.8 — phase22 azurestorage helper contract coverage
date: 2026-03-26
author: Cline
scope: `tests/phase22/{azurestorage-helper-behaviour,index}.test.cjs`
type: change
rationale: Execute the selected bounded test-only follow-up by adding focused regression coverage for recently added azurestorage helper contracts.
impact: Improves confidence in query-path and hash-metadata helper output stability without changing runtime behavior.
status: completed
Summary:
- Added new phase22 suite: `tests/phase22/azurestorage-helper-behaviour.test.cjs`.
- Test suite isolates helper block from `actions/azurestorage.js` and verifies:
- `buildDownloadBlobQueryPath` default encoding output
- `buildDeleteBlobQueryPath` non-encoded option behavior
- `buildGetBlobListQueryPath` query output contract
- `buildHashMetadataPaths` key/value shape (`hashedfilepath`, `hasheddeletepath`, `hashgetblobs`)
- Wired suite into aggregate runner `tests/phase22/index.test.cjs`.
Validation:
- `npm run lint` -> pass with warnings only (pre-existing `react-hooks/exhaustive-deps`; no new lint errors)
- `node tests/phase22/index.test.cjs` -> pass (includes new azurestorage-helper 4/4)
- `node tests/phase7/service-behaviour.test.cjs` -> pass (13/13)
Follow-ups:
- Optional next bounded slice: add an explicit assertion for encoded `casefolderID` variants containing reserved query characters (`?`, `&`) if those inputs are expected in future flows.