Run 4 API Tests — Byproducts
Summary
Section titled “Summary”The validation phase. Run 4 produced seven Bruno tests covering the new diagnostic surface, the unmark endpoint, and the corrected notes mapping. Five are enabled and pass against the local Kubernetes cluster. Two depend on test-data fixtures that the local environment does not provide and were tagged disabled. Three planned tasks (T-4.1, T-4.2, T-4.3) require a deployed environment with mixed-size items configured and were deferred.
Learnings
Section titled “Learnings”- Bruno
params:queryis GUI-only — the CLI runner only honours query parameters that are also present in the URL string. Existing tests in the repo (PrintOneCard.bru) had already encoded this convention; Run 4’s first authored tests missed it and silently sent unparameterised requests until the discrepancy was caught. See implementation-log § Run 4. - Card test data is ephemeral. Card IDs in the local DB are produced by other test workflows and are not stable across resets, which is why the two kanban tests are tagged
disabled. A pre-request hook that creates a card on the fly would unblock them. dry-run=trueis a tier-zero test enabler. Because dry-run returns the constructed Documint payload without calling Documint, every assertion about field mapping (notes, payload shape) can run in CI without a live Documint integration.- Co-locating test fixtures with the test files reduced cognitive load — each
.brufile inlines its own request body. This is heavier per file but eliminates the cross-file lookup that the olderdisabledtests required.
Alternatives considered
Section titled “Alternatives considered”- Wait until the deployed environment is ready before authoring any tests — rejected. Five tests can run today using
dry-run=true; deferring all of them would have left Phase 4 entirely unvalidated at merge time. - Author the disabled kanban tests with a fixture-setup pre-request script — rejected for this run; pre-request scripts in Bruno require an indirection to whatever creates a card. Recorded as a follow-up.
- Replace the legacy disabled print tests in place rather than adding new ones — rejected. The legacy tests use hardcoded item IDs that may or may not exist in the current environment; updating their assertions without verifying the IDs would have produced false-green results. Tracked as deferred under
T-4.1.
Suggestions / follow-ups
Section titled “Suggestions / follow-ups”- Pre-request fixture script for kanban card tests — a
pre-request.jsthat creates a card and stores the ID inbru.setVar()would letUnmarkPrintedandPrintCardNotesMappingmove fromdisabledto enabled. - Run the deferred multi-template and batch-limiting tests against a deployed environment. Tracked as
T-4.1/T-4.2/T-4.3. A separate ticket should cover the deployed-environment validation. - Tag a
@diagnosticsBruno tag on the new tests so the CLI can run “diagnostic-only” suites without dragging in the deployment-dependent tests.
Skipped
Section titled “Skipped”T-4.1— update the four existing disabled print tests to the composite response. Deferred; needs verified test-data IDs.T-4.2— multi-template bulk print tests. Deferred; needs items with mixedlabelSize/breadcrumbSize/cardSizevalues in the environment.T-4.3— batch-limiting tests. Deferred; needs to provision more thanmaxItemsPerRequestitems.
Specification delta (post)
Section titled “Specification delta (post)”The shipped tests cover requirements REQ-P4-004 through REQ-P4-006 from phase-4-api-tests/specification.md. REQ-P4-001 through REQ-P4-003 are explicitly marked deferred in implementation-log § Run 4; they remain in scope for a follow-on task that runs against a deployed environment with the appropriate fixtures.
No other deltas.
Copyright: (c) Arda Systems 2025-2026, All rights reserved
Copyright: © Arda Systems 2025-2026, All rights reserved