steam-backlog-enforcer/steam_backlog_enforcer/tests/test_hltb_part3.py
Krzysztof kuhy Rudnicki 551b8a4f95 chore: set up as standalone repo
Extracted from testsAndMisc monorepo. Changes:
- Rewrote imports from python_pkg.steam_backlog_enforcer.* → steam_backlog_enforcer.*
- Moved run.sh, install.sh, README.md, service file to repo root
- Added standalone pyproject.toml, requirements.txt, .pre-commit-config.yaml, .gitignore
- Added GitHub Actions CI workflows (tests + pre-commit)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 07:21:29 +02:00

46 lines
1.3 KiB
Python

"""Tests for hltb module - part 3 (fetch_hltb_times)."""
from __future__ import annotations
from unittest.mock import patch
from steam_backlog_enforcer.hltb import (
HLTBResult,
fetch_hltb_times,
)
class TestFetchHltbTimes:
"""Tests for fetch_hltb_times."""
def test_empty(self) -> None:
assert fetch_hltb_times([]) == []
def test_calls_batch(self) -> None:
mock_result = HLTBResult(
app_id=440, game_name="TF2", completionist_hours=50.0, similarity=1.0
)
with patch(
"steam_backlog_enforcer.hltb._fetch_batch",
return_value=[mock_result],
):
results = fetch_hltb_times([(440, "TF2")])
assert len(results) == 1
def test_none_cache(self) -> None:
with patch(
"steam_backlog_enforcer.hltb._fetch_batch",
return_value=[],
):
results = fetch_hltb_times([(440, "TF2")])
assert results == []
def test_explicit_cache(self) -> None:
with patch(
"steam_backlog_enforcer.hltb._fetch_batch",
return_value=[],
):
cache: dict[int, float] = {440: 10.0}
results = fetch_hltb_times([(440, "TF2")], cache=cache)
assert results == []