Skip to content

Testing

Cursor Agent edited this page Apr 8, 2026 · 13 revisions

Open Cap Table Protocol Test Suite

DAML Script tests live in Test/ at the repo root. Run them with npm run test from the repository root (not from Test/ alone).

CI also runs npm run verify-package after codegen: TypeScript import checks, a Node runtime smoke load of the merged publishable lib/, and checks that OCP_TEMPLATES matches the generated templateId fields for CapTable, IssuerAuthorization, and OcpFactory.

Test Requirements

  • External template choices should be 100% covered. External templates created may be less than 100% due to external dependencies.
    • This requires a test of the Archive command which is implicitly available on all templates.
  • When Optional fields are included, the test file should include at least 2 separate tests, one with None for all Optional fields and another with Some for all Optional fields.

Running Tests

# From the root directory
npm run test

Tests are organized by package and live in the Test/ directory. They use DAML Script for end-to-end testing of contract interactions (including NFT registry flows where covered by Test/daml/).

Test/daml.yaml data-dependencies include equity certificate DARs; equity coverage lives under Test/daml/Fairmint/EquityCertificate/.

Clone this wiki locally