{ "$schema": "https://json-schema.org/draft-07/schema", "title": "Run Tests Script Settings", "description": "Template: plugin-driven tests and coverage badges. Product repos override this file via Update-RepoUtils preserve.", "paths": { "badgesDir": "..\\..\\..\\assets\\badges" }, "plugins": [ { "name": "DotNetTest", "stageLabel": "test", "enabled": true, "projects": [ "..\\..\\..\\src\\MaksIT.Core.Tests" ] }, { "name": "QualityGate", "stageLabel": "qualityGate", "enabled": true, "coverageThreshold": 0, "scanVulnerabilities": false }, { "name": "CoverageBadges", "stageLabel": "report", "enabled": true, "badgesDir": "..\\..\\..\\assets\\badges", "badges": [ { "name": "coverage-lines.svg", "label": "Line Coverage", "metric": "line" }, { "name": "coverage-branches.svg", "label": "Branch Coverage", "metric": "branch" }, { "name": "coverage-methods.svg", "label": "Method Coverage", "metric": "method" } ], "colorThresholds": { "brightgreen": 80, "green": 60, "yellowgreen": 40, "yellow": 20, "orange": 10, "red": 0 } } ], "_comments": { "plugins": { "DotNetTest": "Runs dotnet test with Coverlet for one or more test projects (project/projects).", "NpmJestTest": "Alternative for npm/Jest repos: workspaceRoot, testScript, coverageDirectory.", "QualityGate": "Reads shared context metrics; set coverageThreshold > 0 to enforce minimum line coverage.", "CoverageBadges": "Writes SVG badges from shared context metrics into badgesDir." } } }