Files
ui/_docs/02_tasks/todo/AZ-464_test_bulk_validate.md
T
Oleksandr Bezdieniezhnykh 15a878d6f1 [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>
2026-05-11 01:49:44 +03:00

2.2 KiB

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.