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:
2
packages/core-testing/src/payload/index.ts
Normal file
2
packages/core-testing/src/payload/index.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
export { stubPayloadConfig } from "./stub-config.js";
|
||||
export { mockPayloadModule } from "./mock-payload-module.js";
|
||||
10
packages/core-testing/src/payload/mock-payload-module.ts
Normal file
10
packages/core-testing/src/payload/mock-payload-module.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { vi } from "vitest";
|
||||
import type { Payload } from "payload";
|
||||
|
||||
// Helper to mock the `payload` package with a custom getPayload impl.
|
||||
// Call inside a test file BEFORE importing the SUT.
|
||||
export function mockPayloadModule(impl: Partial<Payload>): void {
|
||||
vi.mock("payload", () => ({
|
||||
getPayload: vi.fn().mockResolvedValue(impl),
|
||||
}));
|
||||
}
|
||||
6
packages/core-testing/src/payload/stub-config.ts
Normal file
6
packages/core-testing/src/payload/stub-config.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import type { SanitizedConfig } from "payload";
|
||||
|
||||
// Minimal SanitizedConfig stub for tests that need to construct repos
|
||||
// without actually loading the real Payload config. Repository tests
|
||||
// that mock the `payload` module never read fields off this object.
|
||||
export const stubPayloadConfig = {} as SanitizedConfig;
|
||||
Reference in New Issue
Block a user