Fix: Event happening exactly now shows LIVE instead of In 0m #28

Merged
shoko merged 2 commits from fix/live-time-display into master 2026-03-26 18:48:24 +01:00
2 changed files with 12 additions and 2 deletions

View File

@@ -470,8 +470,8 @@ def _get_time_data(e: dict[str, Any], tz: timezone | None = None) -> TimeData:
delta = start_dt - now_utc delta = start_dt - now_utc
total_sec = delta.total_seconds() total_sec = delta.total_seconds()
if total_sec < 0: if total_sec <= 0:
# Event is in the past # Event is in the past or happening now
hours_ago = abs(total_sec) / 3600 hours_ago = abs(total_sec) / 3600
if hours_ago < 1: if hours_ago < 1:
time_status = "LIVE" time_status = "LIVE"

View File

@@ -309,6 +309,16 @@ class TestTimeFunctions(unittest.TestCase):
self.assertEqual(td["time_urgency"], 3) self.assertEqual(td["time_urgency"], 3)
self.assertIn("WIB", td["abs_time"]) self.assertIn("WIB", td["abs_time"])
def test_get_time_data_live_exactly_now(self):
"""Event starts exactly now -> 'LIVE', urgency 3 (not 'In 0m')."""
frozen = self._frozen_dt(2026, 3, 25, 12, 0, 0)
with patch("browse.datetime", self._mock_datetime(frozen)):
from browse import _get_time_data
td = _get_time_data(self._make_event("2026-03-25T12:00:00Z"))
self.assertEqual(td["time_status"], "LIVE")
self.assertEqual(td["time_urgency"], 3)
def test_get_time_data_started_2h_ago(self): def test_get_time_data_started_2h_ago(self):
"""Started 2 hours ago -> 'LIVE 2h', urgency 3.""" """Started 2 hours ago -> 'LIVE 2h', urgency 3."""
frozen = self._frozen_dt(2026, 3, 25, 14, 0, 0) frozen = self._frozen_dt(2026, 3, 25, 14, 0, 0)