Search Documentation

Search for pages and headings in the documentation

Testing

The pi-extensions/ directory includes a test suite for the extensions. Tests are co-located with the extensions they test, each in a tests/ subdirectory.

Test organization

pi-extensions/
├── anytype/
│   └── tests/anytype.test.ts
├── anytype-tree-view/
│   └── tests/anytype-tree-view.e2e.ts
├── application-assistant/
│   └── application-assistant.test.ts
├── azure/
│   └── tests/azure.test.ts
├── credential-leak/
│   └── tests/credential-leak.test.ts
├── curl/
│   └── tests/
│       ├── curl.test.ts
│       ├── curl.integration.test.ts
│       ├── curl.path-helpers.test.ts
│       └── curl.simple.test.ts
├── engine-gate/
│   └── index.test.ts
├── integration-layer/
│   └── tests/integration.test.ts
└── scripts/
    └── test-all.test.ts

Test conventions: files follow *.test.ts, import the main extension via ../index.ts, and use the shared Vitest configuration in pi-extensions/curl/tests/vitest.config.ts.

Running the tests

From the pi-extensions/ directory:

# all tests
bun test

# run the unified runner
bun test scripts/test-all.test.ts

pi-extensions/package.json defines the test scripts. The curl and anytype suites run under Vitest; the runner is configured there.

Curl-specific test details and a Bun-equivalent guide live in pi-extensions/docs/TESTING.md and pi-extensions/docs/TESTING_BUN.md.

CI considerations

The suite is designed to run fast with no external dependencies: all API calls are mocked and tests finish in well under a second. The bun-test prek hook in prek.toml runs them on every commit.