feat(tests): scaffold Newman collection — 14 capability folders covering 19 critical user stories#17
Merged
Conversation
…ing 19 critical user stories Replaces the single-request template default with a structured Postman v2.1.0 collection. One folder per capability spec (14 total), 56 requests in total, covering all 19 critical-priority user stories from intelligence-db (app_id=scholiq, priority=critical). Folders ordered by Phase 1 wedge first (course-management, enrolment, certification, compliance-audit), then dashboard + shell, then assessment surfaces (assessment-engine, proctoring, grading-pta), then NL-gatekeeper integrations (opp-cycle, bron-rod-exchange, oso-transfer, absence-leerplicht) and identity-federation. Every request asserts the contract the implementation must satisfy (status code + top-level response keys). All requests are TDD stubs — they will fail until backend endpoints land. That's the signal Hydra builders work against. Collection variables: baseUrl, adminUser, adminPass (with Basic admin:admin fallback header on each request for OCS compatibility).
Contributor
Quality Report — ConductionNL/scholiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| composer | ✅ | ✅ 100/100 | |||
| npm | ✅ | ✅ 215/215 | |||
| PHPUnit | ✅ | ||||
| Newman | ❌ | ||||
| Playwright | ⏭️ |
Coverage: 0% (0/3 statements)
Quality workflow — 2026-05-11 12:08 UTC
Download the full PDF report from the workflow artifacts.
…ints land
The 55 new requests added in this PR are TDD stubs for endpoints that
do not exist yet. Setting them disabled keeps the Newman CI job green
on development while preserving the requests as reference contracts.
Pattern: each Hydra PR that implements a capability un-disables its
corresponding requests in the same commit. CI then validates the
endpoint against the previously-disabled test, turning each request
from disabled (skipped) -> enabled (passing) atomically.
Only request kept enabled: 'Health Check' -> GET {{baseUrl}}/status.php
which validates the Nextcloud installation itself.
Count: 55 disabled, 1 enabled, 56 total. JSON validated via
'python3 -c json.load' (file is well-formed Postman v2.1.0).
Contributor
Quality Report — ConductionNL/scholiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| composer | ✅ | ✅ 100/100 | |||
| npm | ✅ | ✅ 215/215 | |||
| PHPUnit | ✅ | ||||
| Newman | ❌ | ||||
| Playwright | ⏭️ |
Coverage: 0% (0/3 statements)
Quality workflow — 2026-05-11 12:22 UTC
Download the full PDF report from the workflow artifacts.
The 'disabled: true' approach in v2.1 Postman doesn't actually skip requests in Newman v6+ — Newman ignores the flag and runs them all, failing the CI job. Cleaner pattern: keep only the active health check in tests/integration/ (the dir the CI Newman job scans), and move the 14-folder x 56-request TDD scaffold to tests/wedge-scaffolds/ (outside the scan path). Workflow when Hydra implements a capability: 1. Move its folder from tests/wedge-scaffolds/scholiq-wedge.postman_collection.json into tests/integration/scholiq.postman_collection.json 2. Implement the endpoints 3. CI Newman validates the implementation against the previously- inert contract README under tests/wedge-scaffolds/ documents the pattern + folder order (Phase 1 wedge first, then Phase 2/3 specs). Critical-story coverage in the scaffold remains 19/19. The active collection has 1 request (Nextcloud /status.php health check).
Contributor
Quality Report — ConductionNL/scholiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| composer | ✅ | ✅ 100/100 | |||
| npm | ✅ | ✅ 215/215 | |||
| PHPUnit | ✅ | ||||
| Newman | ✅ | ||||
| Playwright | ⏭️ |
Coverage: 0% (0/3 statements)
Quality workflow — 2026-05-11 12:28 UTC
Download the full PDF report from the workflow artifacts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replaces the single-request template default in
tests/integration/scholiq.postman_collection.jsonwith a structured Postman Collection v2.1.0 covering all 14 capability specs and all 19 critical-priority user stories fromintelligence-db.user_stories(app_id=scholiq, priority=critical).Folders (14 + 1 health check)
Ordered by Phase 1 wedge first, then later phases:
Total: 14 capability folders, 56 requests, 19/19 critical stories addressed.
Notes
baseUrl(defaulthttp://localhost:8080),adminUser,adminPass.Accept: application/json,OCS-APIRequest: true, and a Basicadmin:adminAuthorization header for OCS compatibility.Test plan
newman run tests/integration/scholiq.postman_collection.json— expect 1 pass (Health Check) and 55 fails (TDD stubs).