# Testing signals — redwoodjs/redwood

> Canonical page: https://codevetter.com/unpack/redwood/testing-signals

# Testing signals — redwoodjs/redwood

Scanned commit a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd (2025-12-13). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Tests and CI were inspected, not executed; no passing result is asserted. The inspected framework packages use Vitest, with React Testing Library for component tests and jsdom for browser-oriented packages. Playwright smoke tests and Cypress tutorial CI exercise application integration, while background-job CI has a separate job. Coverage observations are bounded to inspected files: mocked component and worker tests do not establish real network, database-concurrency, provider, or deployment behavior.
- The CLI, router, and GraphQL-server package scripts invoke Vitest; router additionally exposes tstyche through test:types. — [packages/cli/package.json#L19-27](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/cli/package.json#L19-L27) [packages/router/package.json#L83-94](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/router/package.json#L83-L94) [packages/graphql-server/package.json#L15-22](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/graphql-server/package.json#L15-L22)
- Web and router Vitest configurations use jsdom and exclude __typetests__; their type-test files therefore require a separate validation path. — [packages/web/vitest.config.mts#L3-11](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/web/vitest.config.mts#L3-L11) [packages/router/vitest.config.mts#L3-8](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/router/vitest.config.mts#L3-L8) [packages/router/package.json#L92-94](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/router/package.json#L92-L94)
- createCell.test.tsx uses React Testing Library and Vitest, injecting a custom useQuery through GraphQLHooksProvider rather than contacting a GraphQL server. — [packages/web/src/components/cell/createCell.test.tsx#L1-31](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/web/src/components/cell/createCell.test.tsx#L1-L31) [packages/web/src/components/cell/createCell.test.tsx#L34-59](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/web/src/components/cell/createCell.test.tsx#L34-L59)
- Cell tests explicitly cover Success with populated fields and the case where a later field contains data while the first field is empty. — [packages/web/src/components/cell/createCell.test.tsx#L34-59](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/web/src/components/cell/createCell.test.tsx#L34-L59) [packages/web/src/components/cell/createCell.test.tsx#L62-100](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/web/src/components/cell/createCell.test.tsx#L62-L100)
- lambdaLoader tests set RWJS_CWD to a fixture, reset LAMBDA_FUNCTIONS after each test, and assert function discovery, GraphQL ordering, and warning behavior for missing handlers. — [packages/api-server/src/__tests__/lambdaLoader.test.ts#L22-38](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/api-server/src/__tests__/lambdaLoader.test.ts#L22-L38) [packages/api-server/src/__tests__/lambdaLoader.test.ts#L41-83](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/api-server/src/__tests__/lambdaLoader.test.ts#L41-L83)
- Auth-context plugin tests mock getAuthenticationContext, assert currentUser enrichment and argument forwarding, and expect getCurrentUser exceptions to propagate. — [packages/graphql-server/src/plugins/__tests__/useRedwoodAuthContext.test.ts#L14-29](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/graphql-server/src/plugins/__tests__/useRedwoodAuthContext.test.ts#L14-L29) [packages/graphql-server/src/plugins/__tests__/useRedwoodAuthContext.test.ts#L47-99](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/graphql-server/src/plugins/__tests__/useRedwoodAuthContext.test.ts#L47-L99)
- Worker.test.ts explicitly mocks Executor and uses MockAdapter; its constructor tests verify option extraction and defaults, without executing real job implementations in those tests. — [packages/jobs/src/core/__tests__/Worker.test.ts#L1-24](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/jobs/src/core/__tests__/Worker.test.ts#L1-L24) [packages/jobs/src/core/__tests__/Worker.test.ts#L51-59](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/jobs/src/core/__tests__/Worker.test.ts#L51-L59)
- Signed URL tests cover expiration rejection, URL-encoded paths, wrong signatures, and signing a different file path. — [packages/storage/src/__tests__/signedUrls.test.ts#L23-58](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/storage/src/__tests__/signedUrls.test.ts#L23-L58) [packages/storage/src/__tests__/signedUrls.test.ts#L61-96](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/storage/src/__tests__/signedUrls.test.ts#L61-L96)
- GraphQL-server's Vitest configuration forces graphql/index.js and enables fallbackCJS to avoid loading multiple GraphQL module instances. — [packages/graphql-server/vitest.config.mts#L10-17](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/graphql-server/vitest.config.mts#L10-L17) [packages/graphql-server/vitest.config.mts#L21-35](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/packages/graphql-server/vitest.config.mts#L21-L35)
- Playwright's dev smoke configuration launches a fixture dev server and waits for the API GraphQL endpoint; the shared smoke flow checks blog data, selected CSS, and navigation to About, Contact, and Admin. — [tasks/smoke-tests/dev/playwright.config.ts#L11-24](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/tasks/smoke-tests/dev/playwright.config.ts#L11-L24) [tasks/smoke-tests/dev/tests/dev.spec.ts#L1-5](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/tasks/smoke-tests/dev/tests/dev.spec.ts#L1-L5) [tasks/smoke-tests/shared/common.ts#L4-51](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/tasks/smoke-tests/shared/common.ts#L4-L51)
- simple-ci runs on pull requests and pushes to next/release branches, invokes yarn test-ci, runs Cypress tutorial specs against a generated app, and includes a background-jobs E2E job. — [.github/workflows/simple-ci.yml#L3-6](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/.github/workflows/simple-ci.yml#L3-L6) [.github/workflows/simple-ci.yml#L23-37](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/.github/workflows/simple-ci.yml#L23-L37) [.github/workflows/simple-ci.yml#L66-82](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/.github/workflows/simple-ci.yml#L66-L82) [.github/workflows/simple-ci.yml#L92-119](https://github.com/redwoodjs/redwood/blob/a7852fb92d0e4ac2bcce1d9a755717ba6cf53ffd/.github/workflows/simple-ci.yml#L92-L119)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
