Skip to content

Run 4 API Tests — Implementation Summary

Date: 2026-05-04 → 2026-05-05 Repository: api-test Plan: run-4-api-tests/project-plan.md Exit gate: plan/run-4-api-tests/validate-exit.sh Phase doc: phase-4-api-tests/verification.md

Three of six tracker tasks completed and merged. Three deferred (T-4.1, T-4.2, T-4.3) pending test-data setup against a deployed environment.

Seven new Bruno test files exercising the Phase 1–3 API contract changes:

TestEndpointValidates
PrintLabelsDryRunprint-labelDry-run returns payload, no URL
PrintLabelsDebugprint-labelDebug returns payload + URL
PrintLabelsTestModeprint-labellive-print=false succeeds
PrintLabelNotesMappingprint-labelPayload notes matches Item.notes
PrintBreadcrumbNotesMappingprint-breadcrumbPayload notes matches Item.notes
UnmarkPrinted (disabled)event/unmarkReset to NOT_PRINTED
PrintCardNotesMapping (disabled)print-cardCard payload notes does not contain order history

The five label/breadcrumb tests pass against the local Kubernetes deployment. The two kanban-card tests are tagged disabled because the local DB does not contain printable card IDs.

  • dry-run=true as the validation primitive. All assertions on payload structure and notes mapping run with dry-run=true, which removes the Documint dependency from the test path. The deployed-environment phases (T-4.1 through T-4.3) need real Documint and were deferred.
  • Query parameters in the URL string. Bruno’s params:query block did not propagate to the CLI runner; tests had to inline the parameters in the url: field. Documented in implementation-log § Run 4.
  • Tag deferred kanban tests disabled rather than commenting them out, so that once test data is provisioned the suite re-enables with one tag flip.
  • npm run build in api-test — green.
  • Bruno run against local K8s — 5/5 enabled tests pass; 2/2 disabled tests not executed.
  • api-test#77 (merge 0d6b564).

Copyright: (c) Arda Systems 2025-2026, All rights reserved