From 3107789867769a186c8675c550bed3e3d26e3faf Mon Sep 17 00:00:00 2001 From: majdyz Date: Thu, 9 Apr 2026 07:41:16 +0700 Subject: [PATCH] test(backend): cover usd_to_microdollars(None) and get_platform_cost_logs with explicit start MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes branch gaps in platform_cost.py (lines 29-31 and 312→314) that were introduced via the dev merge but not exercised by existing tests. This also forces the backend CI to run so Codecov uploads fresh coverage instead of carrying forward stale data from before the cost-tracking feature landed on dev. --- .../backend/data/platform_cost_test.py | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/autogpt_platform/backend/backend/data/platform_cost_test.py b/autogpt_platform/backend/backend/data/platform_cost_test.py index af150346a5..cc2529e14b 100644 --- a/autogpt_platform/backend/backend/data/platform_cost_test.py +++ b/autogpt_platform/backend/backend/data/platform_cost_test.py @@ -16,9 +16,21 @@ from .platform_cost import ( get_platform_cost_logs, log_platform_cost, log_platform_cost_safe, + usd_to_microdollars, ) +class TestUsdToMicrodollars: + def test_none_returns_none(self): + assert usd_to_microdollars(None) is None + + def test_converts_usd_to_microdollars(self): + assert usd_to_microdollars(1.0) == 1_000_000 + + def test_fractional_usd(self): + assert usd_to_microdollars(0.0042) == 4200 + + class TestMaskEmail: def test_typical_email(self): assert _mask_email("user@example.com") == "us***@example.com" @@ -284,3 +296,13 @@ class TestGetPlatformCostLogs: with patch("backend.data.platform_cost.query_raw_with_schema", new=mock_query): logs, total = await get_platform_cost_logs() assert total == 0 + + @pytest.mark.asyncio + async def test_explicit_start_skips_default(self): + start = datetime(2026, 1, 1, tzinfo=timezone.utc) + mock_query = AsyncMock(side_effect=[[{"cnt": 0}], []]) + with patch("backend.data.platform_cost.query_raw_with_schema", new=mock_query): + logs, total = await get_platform_cost_logs(start=start) + assert total == 0 + first_call_sql = mock_query.call_args_list[0][0][0] + assert "createdAt" in first_call_sql