diff options
Diffstat (limited to 'tests/unit')
| -rw-r--r-- | tests/unit/test_commands_transaction.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/unit/test_commands_transaction.py b/tests/unit/test_commands_transaction.py index 61a09ab..7366b5c 100644 --- a/tests/unit/test_commands_transaction.py +++ b/tests/unit/test_commands_transaction.py @@ -430,3 +430,26 @@ class TestTxList(unittest.TestCase): rc = tx.cmd_list(args, ctx) self.assertEqual(rc, 0) self.assertEqual(client.request.call_count, 2) + +class TestTxAddBudget(unittest.TestCase): + def test_budget_ref_sets_budget_id_on_split(self): + from types import SimpleNamespace + from unittest.mock import MagicMock + import firefly_cli.commands.transaction as tx + + client = MagicMock() + client.request.return_value = {"data": {"id": "1", "attributes": {}}} + resolver = MagicMock() + resolver.account.side_effect = lambda n: {"id": "1", "name": n, "type": "asset"} + resolver.budget.return_value = {"id": "12", "name": "Groceries"} + ctx = SimpleNamespace(client=client, resolver=resolver, human=False) + + args = SimpleNamespace( + amount="10", source="Checking", dest="Shop", + source_id=None, dest_id=None, desc=None, date="2026-07-03", + category=None, tags=None, type="withdrawal", + dry_run=False, skip_dupes=False, budget="Groceries") + rc = tx.cmd_add(args, ctx) + self.assertEqual(rc, 0) + body = client.request.call_args[1]["body"] + self.assertEqual(body["transactions"][0]["budget_id"], "12") |
