feat(core-testing): scaffold shared testing utilities package
Adds @repo/core-testing (tag: tooling) with:
- factory/defineFactory: monotonic-sequence object factories with overrides
- contract/defineContractSuite: shared test suites runnable against multiple impls
- react/renderWithProviders + createMockTrpcClient: RTL helpers
- payload/stubPayloadConfig + mockPayloadModule: Payload mocking helpers
- setup/{jsdom,node}: vitest setup files
Spec: docs/superpowers/specs/2026-05-05-tdd-foundation-design.md §5
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
28
packages/core-testing/AGENTS.md
Normal file
28
packages/core-testing/AGENTS.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# @repo/core-testing
|
||||
|
||||
Shared testing utilities. Tag: `tooling`. May be depended on by any package as a devDependency.
|
||||
|
||||
## Subpath exports
|
||||
|
||||
- `@repo/core-testing/factory` — `defineFactory<T>(builder)` for test data factories
|
||||
- `@repo/core-testing/contract` — `defineContractSuite<T>(name, suite)` for cross-impl contract tests
|
||||
- `@repo/core-testing/react` — `renderWithProviders`, `createMockTrpcClient`
|
||||
- `@repo/core-testing/payload` — `stubPayloadConfig`, `mockPayloadModule`
|
||||
- `@repo/core-testing/setup/jsdom` — vitest setupFile (jest-dom + cleanup)
|
||||
- `@repo/core-testing/setup/node` — vitest setupFile (no-op placeholder)
|
||||
|
||||
## Adding a factory
|
||||
|
||||
```typescript
|
||||
import { defineFactory } from "@repo/core-testing/factory";
|
||||
|
||||
export const articleFactory = defineFactory<Article>(({ sequence }) => ({
|
||||
id: `article-${sequence}`,
|
||||
title: `Article ${sequence}`,
|
||||
// stable defaults — overrides drive variation
|
||||
}));
|
||||
```
|
||||
|
||||
## Adding a contract suite
|
||||
|
||||
See `docs/guides/tdd-workflow.md` §"Contract suite usage".
|
||||
Reference in New Issue
Block a user