Skip to content

Add unit tests for gate-evaluator module #237

@nikolasdehor

Description

@nikolasdehor

Problem

The gate-evaluator.js module (494 lines) in .aios-core/core/orchestration/ has zero test coverage. This module evaluates quality gates between epics to prevent bad outputs from propagating through the pipeline.

Solution

Add comprehensive unit tests covering:

  • GateVerdict enum and DEFAULT_GATE_CONFIG exports
  • Config loading — custom config, YAML file loading with merge, fallback to defaults, error handling
  • Epic 3 checks — spec_exists (specPath, artifacts), complexity_assessed, requirements_defined
  • Epic 4 checks — plan_complete (planPath, flag), implementation_exists (path, codeChanges), no_critical_errors
  • Epic 6 checks — qa_report_exists, verdict_generated, tests_pass
  • Additional checks — minScore conditional, requireTests with array/object/skipped formats, minTestCoverage threshold
  • Verdict determination — strict mode (AC7), critical/high severity handling, blocking vs non-blocking gates, allowMinorIssues
  • Score calculation — perfect, partial, zero, empty-checks scenarios
  • Results storage (AC6) — getResults, getResult, getSummary, clear
  • Logging — evaluation step logging, copy semantics

Test Details

  • 57 tests across 14 describe blocks
  • Mocks: fs-extra, js-yaml
  • All tests passing

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions