A small, idiomatic PHP invoicing library used as the PHP reference example for Coverage Tracker. It exists to give the PHP row in the coverage report generation guide a live, working reference, and to populate the demo dashboard with real trend data.
This is a demo/marketing repo, not a test suite for Coverage Tracker itself.
src/—Money(integer-cents value object),Discount(percentage/fixed, promo-code lookup),TaxCalculator(tiered jurisdiction rates with a de-minimis exemption),LineItem, andInvoice, each with real branching logic.tests/— a PHPUnit suite with several deliberately uncovered branches (unknown promo codes, unknown tax jurisdictions, guard-clause validation), sobranch_coverage < line_coverageshows up on the dashboard..github/workflows/coverage.yml— runs the suite under PHPUnit with Xdebug's path-coverage mode, generates a Lizard complexity report, then reports both to the demo instance via thecoverage-trackerreporting Action withcoverage-tool: phpunit(Cobertura's XML shape doesn't self-identify its generator, so the reporter needs to be told to trustbranch-rate).
composer install
XDEBUG_MODE=coverage vendor/bin/phpunit --coverage-cobertura=coverage.xml # writes coverage.xml
python -m lizard src --xml > lizard-report.xmlphpunit.xml sets <coverage pathCoverage="true"/> — Xdebug only emits
branch data when path coverage is requested; without it PHPUnit's Cobertura
report always writes branch-rate="0".