Back to Skills

Jest Test Framework

FortiumPartners
Updated Today
32 views
5
1
5
View on GitHub
Metatesting

About

This Claude Skill enables developers to execute and generate Jest tests for JavaScript/TypeScript projects. It supports creating test files from bug reports or feature descriptions and running unit, integration, and E2E tests. Use it to automate test generation and get structured results from test execution within your development workflow.

Quick Install

Claude Code

Recommended
Plugin CommandRecommended
/plugin add https://github.com/FortiumPartners/ai-mesh
Git CloneAlternative
git clone https://github.com/FortiumPartners/ai-mesh.git ~/.claude/skills/Jest Test Framework

Copy and paste this command in Claude Code to install this skill

Documentation

Jest Test Framework

Purpose

Provide comprehensive Jest test execution and generation capabilities for JavaScript and TypeScript projects, supporting:

  • Test file generation from bug reports
  • Test execution with detailed output parsing
  • Unit, integration, and E2E test patterns
  • TypeScript and modern JavaScript syntax

Usage

Generate Test File

Create a test file from a bug report or feature description:

node generate-test.js \
  --source src/components/Button.js \
  --output tests/components/Button.test.js \
  --type unit \
  --description "Button component fails to handle click events"

Execute Tests

Run Jest tests and return structured results:

node run-test.js \
  --file tests/components/Button.test.js \
  --config jest.config.js

Command Line Options

generate-test.js

  • --source <path> - Source file to test (required)
  • --output <path> - Output test file path (required)
  • --type <unit|integration|e2e> - Test type (default: unit)
  • --description <text> - Bug description or test purpose
  • --framework <react|node|express> - Framework-specific patterns

run-test.js

  • --file <path> - Test file to execute (required)
  • --config <path> - Jest config file (optional)
  • --coverage - Run with coverage report
  • --watch - Run in watch mode (not recommended for CI)

Output Format

Test Generation

Returns JSON with generated test file information:

{
  "success": true,
  "testFile": "tests/components/Button.test.js",
  "testCount": 3,
  "template": "unit-test",
  "framework": "react"
}

Test Execution

Returns JSON with test results:

{
  "success": false,
  "passed": 2,
  "failed": 1,
  "total": 3,
  "duration": 1.234,
  "failures": [
    {
      "test": "Button handles click events",
      "error": "Expected onClick to be called",
      "file": "tests/components/Button.test.js",
      "line": 15
    }
  ]
}

Templates

Unit Test Template

For testing individual functions or components in isolation:

  • Minimal dependencies
  • Fast execution
  • Focused on single responsibility

Integration Test Template

For testing multiple components working together:

  • Real dependencies (minimal mocking)
  • Database/API integration
  • Multi-component workflows

E2E Test Template

For testing complete user journeys:

  • Full application stack
  • Browser automation (if applicable)
  • End-to-end scenarios

Framework-Specific Patterns

React Components

import { render, fireEvent, screen } from '@testing-library/react';
import { Button } from '../components/Button';

describe('Button', () => {
  it('handles click events', () => {
    const onClick = jest.fn();
    render(<Button onClick={onClick}>Click me</Button>);
    fireEvent.click(screen.getByText('Click me'));
    expect(onClick).toHaveBeenCalled();
  });
});

Node.js/Express

const request = require('supertest');
const app = require('../app');

describe('GET /api/users', () => {
  it('returns list of users', async () => {
    const res = await request(app).get('/api/users');
    expect(res.status).toBe(200);
    expect(res.body).toBeInstanceOf(Array);
  });
});

Integration with deep-debugger

The deep-debugger agent uses this skill for:

  1. Test Recreation: Generate failing test from bug report
  2. Test Validation: Execute test to verify it fails consistently
  3. Fix Verification: Re-run test after fix to ensure it passes

Example workflow:

1. deep-debugger receives bug report
2. Invokes test-detector to identify Jest
3. Invokes jest-test/generate-test.js to create failing test
4. Invokes jest-test/run-test.js to validate test fails
5. Delegates fix to appropriate specialist agent
6. Invokes jest-test/run-test.js to verify fix

Dependencies

Requires Jest to be installed in the project:

npm install --save-dev jest @types/jest

For React testing:

npm install --save-dev @testing-library/react @testing-library/jest-dom

Error Handling

Test Generation Errors

{
  "success": false,
  "error": "Source file not found",
  "file": "src/components/Missing.js"
}

Test Execution Errors

{
  "success": false,
  "error": "Jest configuration not found",
  "config": "jest.config.js"
}

See Also

  • REFERENCE.md - Detailed Jest API reference and best practices
  • templates/ - Test file templates for different scenarios

GitHub Repository

FortiumPartners/ai-mesh
Path: .claude.old/skills/jest-test

Related Skills

evaluating-llms-harness

Testing

This Claude Skill runs the lm-evaluation-harness to benchmark LLMs across 60+ standardized academic tasks like MMLU and GSM8K. It's designed for developers to compare model quality, track training progress, or report academic results. The tool supports various backends including HuggingFace and vLLM models.

View skill

content-collections

Meta

This skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.

View skill

webapp-testing

Testing

This Claude Skill provides a Playwright-based toolkit for testing local web applications through Python scripts. It enables frontend verification, UI debugging, screenshot capture, and log viewing while managing server lifecycles. Use it for browser automation tasks but run scripts directly rather than reading their source code to avoid context pollution.

View skill

finishing-a-development-branch

Testing

This skill helps developers complete finished work by verifying tests pass and then presenting structured integration options. It guides the workflow for merging, creating PRs, or cleaning up branches after implementation is done. Use it when your code is ready and tested to systematically finalize the development process.

View skill