Skip to Content
Tobin Docs

Testing

The test layers, the command for each, and what hosted CI does and does not run.

LayerCommandNotes
TypeScript type checknpm run typecheckall workspaces, including this docs app
SDK testsnpm test --workspace tobin-mvp1-sdknode:test; use the bridge to avoid skips
Console unit, integration, security and persistence testsnpm test --workspace tobin-web-consolereal SQLite; bridge-backed tests are skipped without TOBIN_BRIDGE_EXE
Contract testscd contracts && cargo test --locked --workspacealso run against Wasm in the integration workflow
Release-scan rule testsnode --test scripts/release/scan.test.mjsthe source-tree scan behind gate G09
Documentation checksnpm run validate --workspace tobin-docslinks, images, navigation and frontmatter of this docs site
Browser journeysfrom apps/web-console: TOBIN_WIDTH=1200 node test/browser/<journey>.mjs <output dir>needs a production build; run at 1200 and 420

The browser journeys are journey, w0-journey, sessions-journey, settlement-journey, authorization-journey, clearing-journey, backend-journey and wallet-auth-journey.

Skipped tests

Without TOBIN_BRIDGE_EXE, tests that need the Rust bridge are skipped, not passed. Report skips alongside passes; a pull request must state them.

Hosted CI is not local validation

On pull requests, hosted CI runs formatting, Rust tests, the type check, both production builds, the SDK and console suites with the bridge, the dependency-baseline and link checks, the scan tests, and the W0 browser journey. Most other browser journeys are not run on pull requests, so run the ones your change affects locally.

What a test proves

A passing test proves only what it asserts. Most of the evidence in this repository is same-author. When you add a test, add the case that would have caught the defect, and never weaken a test to make broken code pass.

Canonical test records: MVP-1 test plan, wallet-first validation record, and ci/README.md.

On this page