Elements

graph TD; %% REQVIRE-AUTOGENERATED-DIAGRAM %% Graph styling classDef userRequirement fill:#D1C4E9,stroke:#7E57C2,stroke-width:2px; classDef systemRequirement fill:#E1D8EE,stroke:#673AB7,stroke-width:1.5px; classDef verification fill:#DCEDC8,stroke:#4CAF50,stroke-width:2px; classDef folder fill:#FAFAFA,stroke:#9E9E9E,stroke-width:3px; classDef file fill:#FFF8E1,stroke:#FFCA28,stroke-width:2px; classDef default fill:#F5F5F5,stroke:#424242,stroke-width:1.5px; subgraph 7b06d045a68fb066["📁 requirements/Interfaces/WebInterface/Verifications"] subgraph 560467e65835f4b0["📄 WebInterfaceVerifications.md"] 10fd7a6a648e333a["Attachment Export Verification"]; class 10fd7a6a648e333a verification; click 10fd7a6a648e333a "WebInterfaceVerifications.html#attachment-export-verification"; 4761515e40f428b4["Containment Attachment Links Verification"]; class 4761515e40f428b4 verification; click 4761515e40f428b4 "WebInterfaceVerifications.html#containment-attachment-links-verification"; 55142ee2c012c875["Diagram Attachment Display Verification"]; class 55142ee2c012c875 verification; click 55142ee2c012c875 "WebInterfaceVerifications.html#diagram-attachment-display-verification"; a7eeaf4fd1d17030["HTML Export Verification"]; class a7eeaf4fd1d17030 verification; click a7eeaf4fd1d17030 "WebInterfaceVerifications.html#html-export-verification"; 5e30c180284e9196["Model View Element Navigation Test"]; class 5e30c180284e9196 verification; click 5e30c180284e9196 "WebInterfaceVerifications.html#model-view-element-navigation-test"; d48ee06d20b13bcc["Serve Command Verification"]; class d48ee06d20b13bcc verification; click d48ee06d20b13bcc "WebInterfaceVerifications.html#serve-command-verification"; end end 6da864fbba49def6["test.sh"]; class 6da864fbba49def6 default; click 6da864fbba49def6 "../../../../tests/test-attachment-export/test.sh"; 10fd7a6a648e333a -->|satisfiedBy| 6da864fbba49def6; 4761515e40f428b4 -->|satisfiedBy| 6da864fbba49def6; 55142ee2c012c875 -->|satisfiedBy| 6da864fbba49def6; 7f5ed48bc960d276["test.sh"]; class 7f5ed48bc960d276 default; click 7f5ed48bc960d276 "../../../../tests/test-html-export/test.sh"; a7eeaf4fd1d17030 -->|satisfiedBy| 7f5ed48bc960d276; df92bf508f2f7295["test.sh"]; class df92bf508f2f7295 default; click df92bf508f2f7295 "../../../../tests/test-model-command/test.sh"; 5e30c180284e9196 -->|satisfiedBy| df92bf508f2f7295; b2e17101035a75d["test.sh"]; class b2e17101035a75d default; click b2e17101035a75d "../../../../tests/test-serve-command/test.sh"; d48ee06d20b13bcc -->|satisfiedBy| b2e17101035a75d;

Attachment Export Verification

This test verifies that HTML export copies all attachment files to the output directory.

Details

Acceptance Criteria:
  • System shall copy all attachment files referenced by elements
  • Attachment files shall preserve their relative paths in output
  • Duplicate attachments (same file referenced multiple times) shall be copied only once
  • All attachment file types shall be supported (md, pdf, txt, etc.)
Test Criteria:
  • Create model with elements having attachments
  • Run HTML export command
  • Verify attachment files exist in output directory at correct relative paths
  • Verify attachment files content matches original

Metadata

  • type: test-verification

Relations


This test verifies that the D3.js containment tree view displays attachments as children of elements.

Details

Acceptance Criteria:
  • Elements with attachments shall show attachments as child nodes in D3.js tree
  • Element attachments (refinements) shall use wrench icon (🔧) with type attachment-element
  • File attachments shall use paperclip icon (📎) with type attachment-file
  • Element attachments shall be clickable and navigate to the referenced element
  • File attachments shall show filename and path for reference
Test Criteria:
  • Create model with element having attachments
  • Run HTML export command
  • Verify containment.html contains d3-tree JSON data with attachment nodes
  • Verify attachment-element nodes have links to element definitions
  • Verify attachment-file nodes show file paths

Metadata

  • type: test-verification

Relations


Diagram Attachment Display Verification

This test verifies that diagrams display attachment links within element boxes.

Details

Acceptance Criteria:
  • Element boxes in diagrams shall include attachment filenames
  • Attachments shall be prefixed with paperclip icon (📎)
  • Attachments shall appear below element name using line breaks
  • Attachment display shall not break diagram rendering
Test Criteria:
  • Create model with element having attachments
  • Generate diagram (format or model command)
  • Verify Mermaid output contains multiline labels with attachments
  • Verify attachment filenames appear with 📎 prefix
  • Verify diagram renders correctly with attachment labels

Metadata

  • type: test-verification

Relations


HTML Export Verification

This test verifies that the system exports specifications into HTML format with generated containment view (D3.js tree) and saves them in the designated output location.

Details

Acceptance Criteria:
  • System should export specifications to HTML format
  • HTML files should be saved in the designated output location
  • HTML output should maintain the structure and content of the original specifications
  • System shall generate containment.md in the temporary working directory during HTML export
  • containment.md shall be converted to containment.html in the output directory
  • containment.html shall contain an interactive D3.js collapsible tree showing containment hierarchy
  • containment.html shall display folders, files, and elements in a hierarchical tree
  • containment.html shall serve as the primary entry point for HTML documentation
  • Links in diagrams and text must be converted to use .html instead of .md
  • Paths in HTML files should maintain the original relative structure
  • System should work in environments without Git repositories
Test Criteria:
  • Command exits with success (0) return code
  • HTML files are generated at the expected location with .html extension
  • Output directory contains containment.html file
  • containment.html contains D3.js tree visualization
  • containment.html includes d3-tree JSON data block
  • HTML content preserves the structure and information from the source files
  • Links in HTML files use .html extension instead of .md
  • Mermaid click links are properly converted from .md to .html
  • Both GitHub-style URLs and direct file paths in mermaid click links are handled correctly
  • Paths should not have duplicated folder names (e.g., specifications/specifications)
  • The .git directory is not present in export output

Metadata

  • type: test-verification

Relations


Model View Element Navigation Test

Test verifies that element names in the model-centric view are clickable links.

Test Steps

  1. Run reqvire model command to generate model report
  2. Verify output contains element headers as markdown links
  3. Verify links follow format [Element Name](file_path#fragment)

Expected Results

  • Element names are rendered as markdown links
  • Links point to source file with element fragment

Metadata

  • type: test-verification

Relations


Serve Command Verification

This test verifies that the serve command exports HTML to a temporary directory and starts an HTTP server that serves the model documentation.

Details

Acceptance Criteria:
  • System shall export HTML artifacts to a temporary directory
  • System shall start HTTP server on specified host and port
  • System shall display clickable terminal link to the server URL
  • System shall serve containment.html when accessing root URL
  • System shall serve all exported HTML files with correct paths
  • System shall serve static assets (SVG diagrams, CSS, etc.)
  • System shall return 404 for non-existent files
  • System shall set correct Content-Type headers for different file types
  • System shall run in quiet mode (suppress verbose export output)
  • System shall not automatically open browser window
  • System shall display instructions for Ctrl-C stop
Test Criteria:
  • Command starts successfully and displays server URL with instructions
  • Server responds to HTTP requests on specified port
  • Root URL (/) serves containment.html
  • HTML files are served with text/html content type
  • SVG files are served with image/svg+xml content type
  • Non-existent paths return 404 status
  • Export verbose output is suppressed (quiet mode active)

Metadata

  • type: test-verification

Relations