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>
1018 B
1018 B
@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
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".