Summary of What Needs to be Done:
The scripts/plugin_health_dashboard.py module contains four pure helper functions (safe_relative_path, discover_plugins, build_report, format_markdown) that generate plugin health reports from metadata.json and parser.py files. These functions are currently untested.
Changes that Need to be Made:
Add testing/backend/unit/test_plugin_health_dashboard.py with tests for:
safe_relative_path: normal case, exact match, outside-base case (returns absolute path), deeply nested paths
discover_plugins: returns list, detects missing parser, handles invalid JSON, sorts by name, empty directory
build_report: summary counts (total/with-parser/without), category aggregation, empty case
format_markdown: summary section content, alphabetical category order, plugin table with parser status
Impact that it would Provide:
- Prevents regressions in plugin health reporting used by maintainers
- Validates markdown output format
- Ensures discover_plugins correctly categorizes plugins
Note: This task is being handled by tmdeveloper007 — please assign to that account when picking it up.
Summary of What Needs to be Done:
The
scripts/plugin_health_dashboard.pymodule contains four pure helper functions (safe_relative_path,discover_plugins,build_report,format_markdown) that generate plugin health reports from metadata.json and parser.py files. These functions are currently untested.Changes that Need to be Made:
Add
testing/backend/unit/test_plugin_health_dashboard.pywith tests for:safe_relative_path: normal case, exact match, outside-base case (returns absolute path), deeply nested pathsdiscover_plugins: returns list, detects missing parser, handles invalid JSON, sorts by name, empty directorybuild_report: summary counts (total/with-parser/without), category aggregation, empty caseformat_markdown: summary section content, alphabetical category order, plugin table with parser statusImpact that it would Provide:
Note: This task is being handled by tmdeveloper007 — please assign to that account when picking it up.