CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-cra-template-typescript

The official TypeScript template for Create React App providing preconfigured TypeScript support and development environment setup.

Overall
score

98%

Overview
Eval results
Files

rubric.jsonevals/scenario-4/

{
  "context": "Evaluates how well the solution uses the prewired Jest + React Testing Library stack to exercise the FeedbackForm spec. Checks emphasize RTL rendering/query patterns, user-event interactions, Jest mocking for async submits, and jest-dom assertions for DOM state.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "RTL rendering",
      "description": "Component is mounted with @testing-library/react `render` (or a wrapper around it) and fields/buttons are located via `screen` queries by role or label text rather than manual DOM traversal.",
      "max_score": 25
    },
    {
      "name": "User events",
      "description": "Input and checkbox changes plus submit clicks are driven with @testing-library/user-event helpers like `userEvent.type` and `userEvent.click`, avoiding low-level `fireEvent` for these flows.",
      "max_score": 20
    },
    {
      "name": "Async waits",
      "description": "Pending, resolve, and reject states are asserted with RTL async utilities such as `waitFor`, `findByText`, or `findByRole` instead of manual timeouts, ensuring disabled states and status texts are awaited appropriately.",
      "max_score": 20
    },
    {
      "name": "Jest mocks",
      "description": "Submit handler is a Jest mock (`jest.fn`/`jest.mocked`) configured with `mockResolvedValueOnce` and `mockRejectedValueOnce` (or equivalent) and assertions verify it receives the expected `{ email, message, includeScreenshot }` payload on submit.",
      "max_score": 20
    },
    {
      "name": "jest-dom assertions",
      "description": "Assertions rely on @testing-library/jest-dom matchers like `toBeDisabled`, `toBeInTheDocument`, and `toHaveTextContent` to verify button state, inline errors, counters, and confirmation/error banners.",
      "max_score": 15
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-cra-template-typescript

tile.json