From a28ab10746d82dfcd812684d44b0bff076f0727d Mon Sep 17 00:00:00 2001 From: suna Date: Thu, 13 Aug 2026 15:41:59 +0200 Subject: [PATCH] fix: pin clock in test_cli_output.py tests --- tests/test_cli_output.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/test_cli_output.py b/tests/test_cli_output.py index 57972ec7..d95fa04c 100644 --- a/tests/test_cli_output.py +++ b/tests/test_cli_output.py @@ -1,5 +1,6 @@ """Unit tests for cli_output module.""" +from datetime import datetime, timezone from unittest.mock import Mock, patch from cli_output.status import ( @@ -10,6 +11,14 @@ print_status, ) +FROZEN_NOW = datetime(2025, 6, 15, 12, 0, tzinfo=timezone.utc) + + +class FrozenDatetime(datetime): + @classmethod + def now(cls, tz=None): + return FROZEN_NOW if tz is None else FROZEN_NOW.astimezone(tz) + class TestProgressBar: """Tests for _create_progress_bar function.""" @@ -52,6 +61,7 @@ def test_custom_width(self): assert bar == "█" * 5 + "░" * 5 +@patch("cli_output.status.datetime", FrozenDatetime) class TestDisplayCreditLine: """Tests for _display_credit_line function.""" @@ -132,6 +142,7 @@ def test_timezone_naive_datetime(self, mock_console): mock_console.print.assert_called_once() +@patch("cli_output.status.datetime", FrozenDatetime) class TestDisplayBucketCreditLine: """Tests for _display_bucket_credit_line function.""" @@ -192,6 +203,7 @@ def test_timezone_naive_datetime(self, mock_console): mock_console.print.assert_called_once() +@patch("cli_output.status.datetime", FrozenDatetime) class TestDisplayStatusMessage: """Tests for _display_status_message function.""" @@ -271,6 +283,7 @@ def test_null_plan_credits_and_empty_purchased(self, mock_console): assert "No rendering credits remaining" in call_args +@patch("cli_output.status.datetime", FrozenDatetime) class TestPrintStatus: """Tests for print_status function."""