feat: enforce 85% test coverage in CI and fix cross-platform strftime bug
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:
@@ -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
|
||||
|
||||
@@ -6,5 +6,6 @@ nhl_standings.db
|
||||
**/__pycache__
|
||||
.venv/
|
||||
.coverage
|
||||
htmlcov/
|
||||
.pytest_cache/
|
||||
.claude/
|
||||
|
||||
+4
-1
@@ -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):
|
||||
|
||||
@@ -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__.",
|
||||
]
|
||||
Reference in New Issue
Block a user