feat(tests): add comprehensive test suite with 1493 tests across 4 phases

Phase 1 - Foundation:
- Add pytest, pyproject.toml, requirements-dev.txt
- 593 smoke tests (324 syntax + 269 argparse --help) for all Python scripts
- Harden CI: remove || true from compileall, expand to all 9 directories, add pytest step

Phase 2 - Calculator unit tests:
- RICE prioritizer: formula, prioritization, portfolio analysis, roadmap
- DCF valuation: WACC, cash flow projections, terminal value, sensitivity
- Financial ratios: profitability, liquidity, leverage, efficiency, valuation
- Campaign ROI: metrics, benchmarks, portfolio summary
- Funnel analyzer: stage metrics, bottleneck detection, segment comparison
- OKR tracker: numeric/percentage/milestone/boolean KR scoring, status

Phase 3 - Parser and compliance tests:
- SEO checker: HTML parsing, scoring, heading hierarchy, alt text, word count
- Commit linter: conventional commit regex, lint report, file input
- GDPR compliance: pattern detection, file scanning, project analysis

Phase 4 - Integration tests:
- 671 skill integrity tests: frontmatter, H1 headings, scripts dirs, references

Bug fixes found by tests:
- Fix duplicate --reason argparse arg in document_version_control.py

https://claude.ai/code/session_01MsVmZoAsPvLv7rAGDBGTbL
This commit is contained in:
Claude
2026-03-30 19:54:00 +00:00
parent 235c063701
commit 36678cd00d
18 changed files with 1849 additions and 5 deletions

View File

@@ -50,6 +50,7 @@ jobs:
run: |
python -m pip install --upgrade pip
pip install yamllint==1.35.1 check-jsonschema==0.28.4 safety==3.2.4
pip install -r requirements-dev.txt
- name: Set up Node.js
uses: actions/setup-node@v4
@@ -71,9 +72,13 @@ jobs:
! -name "smart-sync.yml" \
-exec check-jsonschema --builtin-schema github-workflows {} + || true
- name: Python syntax check
- name: Python syntax check (blocking)
run: |
python -m compileall marketing-skill product-team c-level-advisor engineering-team ra-qm-team || true
python -m compileall marketing-skill product-team c-level-advisor engineering-team ra-qm-team engineering business-growth finance project-management scripts
- name: Run test suite
run: |
python -m pytest tests/ --tb=short -q
- name: Safety dependency audit (requirements*.txt)
run: |