Skip to content

test: add real-repo integration test against a public NestJS repository #5

@TechPMRyan

Description

@TechPMRyan

Summary

Every current test runs against hand-crafted fixtures. Fixtures prove the parser handles patterns we wrote. They do not prove it handles patterns we did not anticipate — barrel files, re-exports, path aliases, generated code, circular imports, non-standard decorator usage.

The first user bug report will come from a real codebase doing something the fixtures don't cover.

What needs to happen

  • Identify a well-known public NestJS repository to use as a real-world test target (e.g. the official NestJS sample apps or a widely-used open source NestJS project)
  • Add a CI step or test that clones / references the repo and runs parseProject against it
  • Assert the pipeline completes without crashing
  • Assert a non-empty graph is produced
  • Assert a minimum node count (as a regression guard — if a parser change drops the count significantly, the test fails)

Why this matters

Fixture tests are controlled inputs. Real repos are adversarial inputs. This test is the difference between "it works in our test environment" and "it works on real codebases." A developer tool that breaks on real codebases is not a developer tool.

Acceptance criteria

  • Test target is a real, public NestJS repository (not a fixture we control)
  • parseProject completes without throwing on the real repo
  • Resulting graph is non-empty (nodes and edges present)
  • Minimum node count threshold set as a regression guard
  • Test runs in CI — not just locally

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions