feat: enforce 85% test coverage in CI and fix cross-platform strftime bug
CI / Lint (push) Successful in 11s
CI / Test (push) Successful in 13s
CI / Build & Push (push) Successful in 19s

Add pyproject.toml with pytest-cov config so CI fails if coverage drops
below 85%. Fix series_view _format_start using Linux-only %-I/%-d codes
that crash on Windows — use manual formatting instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-22 22:53:22 -04:00
parent 4e5fab654d
commit c95bea879d
4 changed files with 21 additions and 2 deletions
+1 -1
View File
@@ -45,7 +45,7 @@ jobs:
run: pip install -r requirements-dev.txt
- name: Run tests
run: pytest tests/ -v
run: pytest --cov --cov-report=term-missing
build-push:
name: Build & Push
+1
View File
@@ -6,5 +6,6 @@ nhl_standings.db
**/__pycache__
.venv/
.coverage
htmlcov/
.pytest_cache/
.claude/
+4 -1
View File
@@ -165,7 +165,10 @@ def _format_start(start_utc):
)
except ValueError:
return "", ""
return dt.strftime("%-I:%M %p ET"), dt.strftime("%a %b %-d")
hour = dt.strftime("%I").lstrip("0") or "12"
time_str = f"{hour}:{dt.strftime('%M %p')} ET"
date_str = f"{dt.strftime('%a %b')} {dt.day}"
return time_str, date_str
def _to_int(value, default=0):
+15
View File
@@ -0,0 +1,15 @@
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-v --tb=short"
[tool.coverage.run]
source = ["app"]
[tool.coverage.report]
fail_under = 85
show_missing = true
skip_empty = true
exclude_lines = [
"pragma: no cover",
"if __name__ == .__main__.",
]