[AZ-455] Decompose Step 3 — test task specs (AZ-457..AZ-482)

Adds 26 blackbox-test task specs under epic AZ-455 plus the matching
rows in _dependencies_table.md. Each task depends on AZ-456 (test
infrastructure). Advances autodev existing-code flow Step 5 → Step 6
(Implement Tests, cycle 1) ready for batch implementation.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Oleksandr Bezdieniezhnykh
2026-05-11 01:49:44 +03:00
parent 83dee6759f
commit 15a878d6f1
28 changed files with 1678 additions and 8 deletions
@@ -0,0 +1,55 @@
# Test — Bulk-Validate (Dataset)
**Task**: AZ-464_test_bulk_validate
**Name**: Bulk-validate URL + body + UI sync
**Description**: Implement the 3 blackbox tests that pin the dataset bulk-validate path: outbound URL, request body shape, and the post-validate UI sync (≤2 s).
**Complexity**: 2 points
**Dependencies**: AZ-456_test_infrastructure
**Component**: 07_dataset (Blackbox Tests)
**Tracker**: AZ-464
**Epic**: AZ-455
## Problem
Bulk-validate is a single mutation that flips many `mediaStatus` values; getting the URL or the body wrong corrupts an arbitrary number of seeds. A targeted contract test pins both, plus a 2-s sync deadline catches stale-UI regressions.
## Outcome
- 3 scenarios pass per the contract.
## Scope
### Included
| Scenario | Profile | Source file |
|----------|---------|-------------|
| FT-P-20 — bulk-validate request URL and body | fast + e2e | blackbox-tests.md |
| FT-P-21 — bulk-validate UI reflects new status within 2 s | fast + e2e | blackbox-tests.md |
| NFT-PERF-07 — bulk-validate UI reflects new status within 2 s | fast | performance-tests.md |
### Excluded
- Individual annotation status changes (covered in 05_test_annotations_endpoint).
- Dataset filtering / paging (out of scope for the baseline test suite — feature-cycle work).
## Acceptance Criteria
**AC-1: URL canary**
FT-P-20 captures the outbound bulk-validate URL and asserts it equals the contract value.
**AC-2: Body shape**
FT-P-20 captures the outbound body and asserts it carries the expected media-ID set + the target status value.
**AC-3: UI sync deadline**
FT-P-21 / NFT-PERF-07 measure the wall-clock from response receipt to DOM update of the dataset list rows; asserts ≤2 s.
## System Under Test Boundary
- System under test: `<DatasetPage>` + its bulk-validate action handler + `src/api/client.ts`.
- Allowed stubs: MSW for the dataset bulk-validate endpoint; real `annotations/` service for e2e.
- Disallowed: reading React state to assert UI sync — the test reads the rendered DOM (table rows / status badges).
- Expected observables compared against `results_report.md` rows 36-37.
## Constraints
- Use the `seed_media` fixture's 6-row baseline so the bulk operation is bounded.