From b125853ab2e5fe3d8d0ad045609a5863e46a607a Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 3 Jul 2026 17:39:38 +0200 Subject: feat(budget): budget list with current-month default Co-Authored-By: Claude Opus 4.8 --- tests/unit/test_commands_budget.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 tests/unit/test_commands_budget.py (limited to 'tests/unit/test_commands_budget.py') diff --git a/tests/unit/test_commands_budget.py b/tests/unit/test_commands_budget.py new file mode 100644 index 0000000..7741840 --- /dev/null +++ b/tests/unit/test_commands_budget.py @@ -0,0 +1,36 @@ +# Copyright (C) 2026 Danilo M. GPL-2.0-only +import unittest +from unittest.mock import MagicMock +from types import SimpleNamespace +import firefly_cli.commands.budget as budget + + +def _ctx(client=None, resolver=None): + return SimpleNamespace(client=client or MagicMock(), + resolver=resolver or MagicMock(), human=False) + + +class TestBudgetList(unittest.TestCase): + def test_list_defaults_to_current_month(self): + client = MagicMock() + client.request.return_value = {"data": []} + args = SimpleNamespace(start=None, end=None) + rc = budget.cmd_list(args, _ctx(client=client)) + self.assertEqual(rc, 0) + _, kwargs = client.request.call_args + params = kwargs["params"] + self.assertTrue(params["start"].endswith("-01")) + self.assertEqual(params["start"][:7], params["end"][:7]) + + def test_list_explicit_range(self): + client = MagicMock() + client.request.return_value = {"data": []} + args = SimpleNamespace(start="2026-01-01", end="2026-01-31") + budget.cmd_list(args, _ctx(client=client)) + _, kwargs = client.request.call_args + self.assertEqual(kwargs["params"], + {"start": "2026-01-01", "end": "2026-01-31"}) + + +if __name__ == "__main__": + unittest.main() -- cgit v1.2.3