Files
gh-zeff01-zeff-claude-setup/commands/api/api-test.md
2025-11-30 09:08:22 +08:00

2.6 KiB
Raw Blame History

description, model
description model
Test API endpoints with automated test generation claude-sonnet-4-5

Generate comprehensive API tests for the specified endpoint.

Target

$ARGUMENTS

Test Strategy for Solo Developers

Create practical, maintainable tests using modern tools:

1. Testing Approach

  • Unit tests for validation logic
  • Integration tests for full API flow
  • Edge case coverage
  • Error scenario testing

2. Tools (choose based on project)

  • Vitest - Fast, modern (recommended for new projects)
  • Jest - Established, widely used
  • Supertest - HTTP assertions
  • MSW - API mocking

3. Test Coverage

Happy Paths

  • Valid inputs return expected results
  • Proper status codes
  • Correct response structure

Error Paths

  • Invalid input validation
  • Authentication failures
  • Rate limiting
  • Server errors
  • Missing required fields

Edge Cases

  • Empty requests
  • Malformed JSON
  • Large payloads
  • Special characters
  • SQL injection attempts
  • XSS attempts

4. Test Structure

describe('API Endpoint', () => {
  describe('Success Cases', () => {
    it('should handle valid request', () => {})
    it('should return correct status code', () => {})
  })

  describe('Validation', () => {
    it('should reject invalid input', () => {})
    it('should validate required fields', () => {})
  })

  describe('Error Handling', () => {
    it('should handle server errors', () => {})
    it('should return proper error format', () => {})
  })
})

5. What to Generate

  1. Test File - Complete test suite with all scenarios
  2. Mock Data - Realistic test fixtures
  3. Helper Functions - Reusable test utilities
  4. Setup/Teardown - Database/state management
  5. Quick Test Script - npm script to run tests

Key Testing Principles

  •  Test behavior, not implementation
  •  Clear, descriptive test names
  •  Arrange-Act-Assert pattern
  •  Independent tests (no shared state)
  •  Fast execution (<5s for unit tests)
  •  Realistic mock data
  •  Test error messages
  • L Don't test framework internals
  • L Don't mock what you don't own
  • L Avoid brittle tests

Additional Scenarios to Cover

  1. Authentication/Authorization

    • Valid tokens
    • Expired tokens
    • Missing tokens
    • Invalid permissions
  2. Data Validation

    • Type mismatches
    • Out of range values
    • SQL/NoSQL injection
    • XSS payloads
  3. Rate Limiting

    • Within limits
    • Exceeding limits
    • Reset behavior
  4. Performance

    • Response times
    • Large dataset handling
    • Concurrent requests

Generate production-ready tests I can run immediately with npm test.