Testing

PEDAL automates testing at every stage of your workflow.

Test Automation

  • Run unit, integration, and end-to-end tests (e.g., pytest, Cypress, Selenium)

  • Integrate tests into build and deploy pipelines

Test Environments

  • Spin up ephemeral containers for isolated testing

  • Manage test data and environment variables

Reporting

  • Generate JUnit XML and HTML dashboards

  • View test results in the web interface

Zod Schema Generation Test Coverage

The Zod schema generation module is covered by a comprehensive suite of automated tests, ensuring correctness, robustness, and reliability. The test coverage includes:

Unit Tests

  • Type Mapping: Verifies correct mapping of OpenAPI types (string, number, boolean, array, object, enum, union, intersection) to Zod schemas.

  • Validation Rules: Ensures all validation constraints (min/max length, pattern, min/max value, multipleOf, min/max items, unique items, min/max properties) are enforced.

  • Edge Cases: Tests empty strings, arrays, and objects, as well as boundary values for all constraints.

  • Error Handling: Checks that invalid input types, invalid regex patterns, and unsupported schema features are handled gracefully.

Integration & Complex Scenarios

  • Nested Structures: Validates deeply nested objects and arrays, including mixed required/optional fields.

  • Advanced Features: Covers enum, union, intersection, and not/inverse validation logic.

  • Negative Testing: Intentionally fails validation to ensure error messages are clear and accurate for all rules.

Continuous Improvement

  • The test suite is regularly expanded to cover new features, edge cases, and real-world OpenAPI schema examples.

  • All tests are run in CI to prevent regressions and ensure ongoing reliability.

For details, see the test files in src/pipeline/stages/__tests__/zod-generator.test.ts and zod-generator.integration.test.ts.

How to Run the Tests

PEDAL uses Jest for running all unit and integration tests, including Zod schema generation and other pipeline stages.

Run All Tests

npm test

Run a Specific Test File

npm test -- src/pipeline/stages/__tests__/zod-generator.test.ts

Run with Coverage Report

npm test -- --coverage

For more details on Zod schema generation test coverage, see:

  • src/pipeline/stages/__tests__/README.md

You can also use these commands for other test files in the pipeline or features directories.


Next: Deploying

Last updated