Skip to content

CC-39888 Document the API Platform test harness - #3857

Draft
stereomon wants to merge 4 commits into
masterfrom
feature/cc-39888-api-platform-test-harness-docs
Draft

CC-39888 Document the API Platform test harness#3857
stereomon wants to merge 4 commits into
masterfrom
feature/cc-39888-api-platform-test-harness-docs

Conversation

@stereomon

@stereomon stereomon commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

The existing testing page predates the harness — it covers neither the two test tiers, nor running the suites without Docker, nor the umbrella helpers that own the load-bearing module order, nor the stand-ins for infrastructure the host lane does not have.

This is the external home for information that until now lived only in code comments and in-repo READMEs, so the suite PRs can drop those comments.

testing.md gains: the two tiers and how to choose between them; the docker-free run path with the code-generation order and its caveats; suite wiring through the umbrella helpers with the three ordering rules; the fast-path config keys and the setService() ordering constraint; the infrastructure stand-in helpers; and fixture conventions.

contract-coverage.md is new: the CoversApiOperation / CoversApiValidation model, validation coverage per operation via validation groups, responses coming from the resource schema rather than being derived, why a response the router cannot reach must not be declared, non-servable operations, and the api:contract:coverage workflow.

Detail on CC-39888.

Notes for review

  • The umbrella helpers are documented at their core FQCNs (\SprykerTest\ApiPlatform\Helper\StorefrontApiIntegrationHelper / …\StorefrontApiLogicHelper). They currently sit under PyzTest\Shared\Testify\Helper on the suite side and move to core as part of suite#943, so this page should land with that.
  • Two things the in-repo READMEs still say that this page deliberately does not, because they are stale: that 404 is derived per item operation (it is schema-declared since the response-declaration change), and that the coverage command is registered from spryker_api_platform_contract_coverage.php (merged into spryker_api_platform.php).

Test plan

  • vale --minAlertLevel=error — 0 errors on both pages.
  • markdownlint-cli2 — 0 errors on both pages.
  • sidebar_checker.sh — the new page is registered; the 65 entries it reports are pre-existing DG Dev debt.
  • last_updated bumped on testing.md.

The existing testing page predates the harness: it describes neither the two
tiers, nor running the suites without Docker, nor the umbrella helpers that own
the load-bearing module order, nor the stand-ins for the infrastructure the host
lane does not have.

Extends it with all of that, and adds a sibling page for contract coverage —
the CoversApiOperation / CoversApiValidation model, the rule that responses come
from the resource schema rather than being derived, why a response the router
cannot reach must not be declared, and the api:contract:coverage workflow.

This is the external home for information that until now lived only in code
comments and in-repo READMEs.
@netlify

netlify Bot commented Aug 17, 2026

Copy link
Copy Markdown

Deploy Preview for spryker-docs ready!

Name Link
🔨 Latest commit db9a8d9
🔍 Latest deploy log https://app.netlify.com/projects/spryker-docs/deploys/6a82d86d66af8e00088ca929
😎 Deploy Preview https://deploy-preview-3857--spryker-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant