Skip to content

Verification: Arda API Proxy

All tests use mocked fetch — no live API calls. Each proxy gets a test file verifying construction, standard CRUD, time coordinate handling, module-specific operations, and error handling. Coverage is enforced via Istanbul at 80% lines and 80% branches.

RequirementTestStatus
REQ-CORE-001tests/shared/http-client.test.ts — verifies HttpClient builds correct base URL from ProxyConfig and basePathpending
REQ-CORE-002tests/shared/http-client.test.ts — verifies X-Author and Content-Type headers are set on every requestpending
REQ-CORE-003tests/shared/http-client.test.ts — verifies effectiveasof/recordedasof query params appended when provided, omitted when absentpending
REQ-CORE-004tests/shared/http-client.test.ts — verifies ArdaApiError thrown with correct status, responseMessage, and details on non-OK responsepending
REQ-CORE-005CI check — package.json has no dependencies field (only devDependencies)pending
REQ-CORE-006CI check — no import of @modelcontextprotocol/sdk anywhere in src/pending
REQ-CORE-007tests/shared/http-client.test.ts — types are used in test assertions; compilation verifies export surfacepending
REQ-PROXY-001Each proxy test file — constructs proxy with ProxyConfig, no shared state between instancespending
REQ-PROXY-002Structural — proxy classes hold HttpClient reference, do not extend a base class; verified by code reviewpending
REQ-PROXY-003Each proxy test file — verifies all 7 standard methods call correct HTTP method, path, and bodypending
REQ-SYS-001tests/system/tenant.test.ts — standard CRUD against /v1/tenantpending
REQ-SYS-002tests/system/user-account.test.ts — standard CRUD against /v1/user-accountpending
REQ-SYS-003tests/system/agent-for.test.ts — standard CRUD against /v1/agent-forpending
REQ-SYS-004tests/system/invitation.test.ts — standard CRUD against /v1/invitationpending
REQ-REF-001tests/reference/business-affiliate.test.ts — standard CRUD against /v1/business-affiliatepending
REQ-REF-002tests/reference/business-affiliate.test.tsgetWithDetails, getRoles, createRole, updateRolepending
REQ-REF-003tests/reference/item.test.ts — standard CRUD against /v1/itempending
REQ-REF-004tests/reference/item.test.ts — draft, supply, lookup, print, and CSV upload operationspending
REQ-RES-001tests/resources/kanban.test.ts — standard CRUD against /v1/kanbanpending
REQ-RES-002tests/resources/kanban.test.ts — details, summaries, notes, events, printpending
REQ-RES-003tests/resources/kanban.test.tspostEvent accepts only valid event names; TypeScript compilation rejects invalid valuespending
REQ-PROC-001tests/procurement/order.test.ts — standard CRUD against /v1/orderpending
REQ-PROC-002tests/procurement/order.test.tsgetFull, createFromItems, addItemsToOrder, createFromKanbanCards, addKanbanCardsToOrderpending
REQ-PROC-003tests/procurement/order.test.tsaddLine, updateLine, deleteLine, moveLinepending
REQ-PROC-004tests/procurement/order.test.tssubmit, accept, receive, archive, annotate, annotateLinepending
REQ-PKG-001Build verification — npm run build succeeds; each export path resolves to a valid .js and .d.ts filepending
REQ-PKG-002Code review — types compared against OpenAPI specs and Kotlin source during implementationpending
REQ-PKG-003CI check — npm run typecheck passes with strict: true and verbatimModuleSyntaxpending
REQ-PKG-004CI workflow — publish.yml runs npm publish to npm.pkg.github.com on merge to mainpending
REQ-PKG-005CI workflow — ci.yml runs format, typecheck, lint, and test:coverage with 80%/80% thresholdspending