CodeVetter · Repo Unpack · Testing signals
redwoodjs/redwood
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.
- Web and router Vitest configurations use jsdom and exclude __typetests__; their type-test files therefore require a separate validation path.
- createCell.test.tsx uses React Testing Library and Vitest, injecting a custom useQuery through GraphQLHooksProvider rather than contacting a GraphQL server.
- Cell tests explicitly cover Success with populated fields and the case where a later field contains data while the first field is empty.
- 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.
- Auth-context plugin tests mock getAuthenticationContext, assert currentUser enrichment and argument forwarding, and expect getCurrentUser exceptions to propagate.
- 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.
- Signed URL tests cover expiration rejection, URL-encoded paths, wrong signatures, and signing a different file path.
- GraphQL-server's Vitest configuration forces graphql/index.js and enables fallbackCJS to avoid loading multiple GraphQL module instances.
- 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.
- 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.