Skill

testing-integration

Integration and contract testing patterns — API endpoint tests, component integration, database testing, Pact contract verification, property-based testing, and Zod schema validation. Use when testing API boundaries, verifying contracts, or validating cross-service integration.

From ork
Install
1
Run in your terminal
$
npx claudepluginhub yonatangross/orchestkit --plugin ork
Tool Access

This skill is limited to using the following tools:

ReadGlobGrepWebFetchWebSearch
Supporting Assets
View in Repository
checklists/contract-testing-checklist.md
checklists/property-testing-checklist.md
examples/orchestkit-test-strategy.md
references/consumer-tests.md
references/pact-broker.md
references/provider-verification.md
references/strategies-guide.md
rules/_sections.md
rules/integration-api.md
rules/integration-component.md
rules/integration-database.md
rules/validation-zod-schema.md
rules/verification-contract.md
rules/verification-stateful.md
rules/verification-techniques.md
scripts/create-integration-test.md
scripts/test-plan-template.md
Skill Content

Integration & Contract Testing

Focused patterns for testing API boundaries, cross-service contracts, component integration, database layers, property-based verification, and schema validation.

Quick Reference

AreaRule / ReferenceImpact
API endpoint testsrules/integration-api.mdHIGH
React component integrationrules/integration-component.mdHIGH
Database layer testingrules/integration-database.mdHIGH
Zod schema validationrules/validation-zod-schema.mdHIGH
Pact contract testingrules/verification-contract.mdMEDIUM
Stateful testing (Hypothesis)rules/verification-stateful.mdMEDIUM
Evidence & property-basedrules/verification-techniques.mdMEDIUM

References

TopicFile
Consumer-side Pact testsreferences/consumer-tests.md
Pact Broker CI/CDreferences/pact-broker.md
Provider verification setupreferences/provider-verification.md
Hypothesis strategies guidereferences/strategies-guide.md

Checklists

ChecklistFile
Contract testing readinesschecklists/contract-testing-checklist.md
Property-based testingchecklists/property-testing-checklist.md

Scripts & Templates

ScriptFile
Create integration testscripts/create-integration-test.md
Test plan templatescripts/test-plan-template.md

Examples

ExampleFile
Full testing strategyexamples/orchestkit-test-strategy.md

Quick Start: API Integration Test

TypeScript (Supertest)

import request from 'supertest';
import { app } from '../app';

describe('POST /api/users', () => {
  test('creates user and returns 201', async () => {
    const response = await request(app)
      .post('/api/users')
      .send({ email: 'test@example.com', name: 'Test' });

    expect(response.status).toBe(201);
    expect(response.body.id).toBeDefined();
    expect(response.body.email).toBe('test@example.com');
  });

  test('returns 400 for invalid email', async () => {
    const response = await request(app)
      .post('/api/users')
      .send({ email: 'invalid', name: 'Test' });

    expect(response.status).toBe(400);
    expect(response.body.error).toContain('email');
  });
});

Python (FastAPI + httpx)

import pytest
from httpx import AsyncClient
from app.main import app

@pytest.fixture
async def client():
    async with AsyncClient(app=app, base_url="http://test") as ac:
        yield ac

@pytest.mark.asyncio
async def test_create_user(client: AsyncClient):
    response = await client.post(
        "/api/users",
        json={"email": "test@example.com", "name": "Test"}
    )
    assert response.status_code == 201
    assert response.json()["email"] == "test@example.com"

Coverage Targets

AreaTarget
API endpoints70%+
Service layer80%+
Component interactions70%+
Contract testsAll consumer-used endpoints
Property testsAll encode/decode, idempotent functions

Key Principles

  1. Test at boundaries -- API inputs, database queries, service calls, external integrations
  2. Fresh state per test -- In-memory databases, transaction rollback, no shared mutable state
  3. Use matchers in contracts -- Like(), EachLike(), Term() instead of exact values
  4. Property-based for invariants -- Roundtrip, idempotence, commutativity properties
  5. Validate schemas at edges -- Zod .safeParse() at every API boundary
  6. Evidence-backed completion -- Exit code 0, coverage reports, timestamps

When to Use This Skill

  • Writing API endpoint tests (Supertest, httpx)
  • Setting up React component integration tests with providers
  • Creating database integration tests with isolation
  • Implementing Pact consumer/provider contract tests
  • Adding property-based tests with Hypothesis
  • Validating Zod schemas at API boundaries
  • Planning a testing strategy for a new feature or service

Related Skills

  • ork:testing-unit — Unit testing patterns, fixtures, mocking
  • ork:testing-e2e — End-to-end Playwright tests
  • ork:database-patterns — Database schema and migration patterns
  • ork:api-design — API design patterns for endpoint testing
Stats
Parent Repo Stars128
Parent Repo Forks14
Last CommitMar 21, 2026