Test Plan

This document maps the test suite to the requirements it verifies. Each test file is a traceable [item] referencing the requirements it covers.

Test Coverage

TST-001 — Core Extension Tests

Test file: test/v2-unified-item-architecture.test.ts

Tests the RequirementsTraceabilityExtension orchestrator — initialization, processing, query methods, role statistics, lifecycle. Covers the public API surface of the main extension class.

Relation

ID

Title

verifies

REQ-001

REQ-001 — Single item macro replaces all block macros

verifies

REQ-002

REQ-002 — item macro accepts role attribute

verifies

REQ-003

REQ-003 — item macro maintains existing attributes

verifies

REQ-004

REQ-004 — item macro supports block content

verifies

REQ-005

REQ-005 — Old macro syntax generates deprecation error

verifies

REQ-029

REQ-029 — Configurable matrix generation with coverage calculations

verifies

REQ-030

REQ-030 — Role statistics reporting

verifies

REQ-034

REQ-034 — Mustache template rendering

Relationship graph for TST-001
TST-002 — Antora Extension Tests

Test file: test/antora-extension.test.ts

Tests the AntoraTraceabilityExtension — initialization with default config, preset, config path, and disabled state. Tests event handler registration, content processing via contentClassified event, matrix generation via sitePublished event, and API access patterns.

Relation

ID

Title

verifies

REQ-035

REQ-035 — Antora extension integration

verifies

REQ-040

REQ-040 — Context-aware link generation

TST-003 — CLI Tests

Test file: test/cli.test.ts

Tests the Commander-based CLI — process command (valid content, empty content, invalid paths, malformed macros), matrix command (generation, empty graph), validate command (invalid graph state), export command (empty graph), stats command (empty statistics), preset commands (invalid names, init, listing), and help command.

Relation

ID

Title

verifies

REQ-009

REQ-009 — Configuration is required for validation

verifies

REQ-010

REQ-010 — Configuration file location

verifies

REQ-026

REQ-026 — Export command in CLI

verifies

REQ-036

REQ-036 — CLI commands

TST-004 — ConfigLoader Tests

Test file: test/config-loader.test.ts

Tests the ConfigLoader — initialization, built-in preset listing and loading, preset structure validation, configuration loading from file, missing file handling, invalid YAML handling, role and relation validation, matrix definition retrieval, configuration merging, and error messages for invalid configurations and preset names.

Relation

ID

Title

verifies

REQ-006

REQ-006 — Configuration defines roles

verifies

REQ-007

REQ-007 — Configuration defines relations

verifies

REQ-008

REQ-008 — Configuration defines matrices

verifies

REQ-010

REQ-010 — Configuration file location

verifies

REQ-011

REQ-011 — Configuration validation

verifies

REQ-012

REQ-012 — Configuration can extend presets

verifies

REQ-018

REQ-018 — Built-in preset configurations

verifies

REQ-019

REQ-019 — Each preset contains complete configuration

verifies

REQ-020

REQ-020 — Each preset includes documentation

verifies

REQ-021

REQ-021 — Each preset includes Neo4j Cypher queries

verifies

REQ-022

REQ-022 — Presets have independent versioning

verifies

REQ-023

REQ-023 — Users can define custom presets

TST-005 — Graph and API Tests

Test file: test/graph-and-api.test.ts

Tests the TraceabilityGraph (Section 4 — extended queries: merge, getRelatedItems, getItemsWithRelationTo, getRelationshipsByRoles, findPath, getImpactAnalysis) and RequirementsTraceabilityExtension API methods (Section 5 — processFiles, validate, export, coverage, config access, preset management, lifecycle).

Relation

ID

Title

verifies

REQ-013

REQ-013 — Role-based relation validation

verifies

REQ-014

REQ-014 — Directional relation checking

verifies

REQ-015

REQ-015 — Error messages list allowed relations

verifies

REQ-016

REQ-016 — Warnings for unknown roles

verifies

REQ-017

REQ-017 — Graceful degradation for unknown roles

verifies

REQ-031

REQ-031 — Graph path finding

verifies

REQ-032

REQ-032 — Impact analysis

verifies

REQ-033

REQ-033 — Graph merge

TST-006 — MatrixGenerator Tests

Test file: test/matrix-generator.test.ts

Tests the MatrixGenerator — basic matrix generation with empty graph, matrix generation with default and named configurations, role-based matrix rows and columns, coverage percentage calculation and status determination, coverage relation filtering, CSV export, HTML export, JSON export, coverage report generation, and edge cases (no matching items, missing titles, missing source files, unknown matrix names).

Relation

ID

Title

verifies

REQ-008

REQ-008 — Configuration defines matrices

verifies

REQ-029

REQ-029 — Configurable matrix generation with coverage calculations

verifies

REQ-037

REQ-037 — Matrix row items are clickable links

verifies

REQ-038

REQ-038 — Matrix cell items are clickable links

verifies

REQ-039

REQ-039 — Source file tooltips on matrix links

verifies

REQ-042

REQ-042 — Backward compatibility without LinkResolver

verifies

REQ-043

REQ-043 — Non-HTML matrix outputs unchanged

TST-007 — Neo4jExporter Tests

Test file: test/neo4j-exporter.test.ts

Tests the Neo4jExporter — empty graph CSV export, items and relationships in CSV, all attributes in export, special character escaping, empty graph Cypher export, items and relationships in Cypher, includeContent option, includeAllAttributes option, output directory creation, multiple role types, and export result counts and file paths.

Relation

ID

Title

verifies

REQ-024

REQ-024 — Neo4j CSV export

verifies

REQ-025

REQ-025 — Neo4j Cypher export

verifies

REQ-027

REQ-027 — Export includes all item attributes

verifies

REQ-028

REQ-028 — Export is optional

TST-008 — Relationship Link Substitution Tests

Test file: test/relationship-link-substitution.test.ts

Tests the in-memory regex substitution that replaces relationship macros with Asciidoctor xrefs. Covers same-page xref generation, cross-page xref generation with basename path resolution, orphan reference handling, non-relationship text preservation, hyphenated/dotted IDs, missing sourceFile fallback, and surrounding text preservation.

Relation

ID

Title

verifies

REQ-010

REQ-010 — Configuration file location