1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import unittest
from unittest.mock import MagicMock
from firefly_cli.commands import account as acct
from firefly_cli.context import Context
def make_ctx():
client = MagicMock()
resolver = MagicMock()
return Context(client=client, resolver=resolver, human=False), client, resolver
class TestAccountCmd(unittest.TestCase):
def test_list_passes_type_filter(self):
ctx, client, _ = make_ctx()
client.request.return_value = {"data": []}
args = MagicMock(type="asset")
acct.cmd_list(args, ctx)
client.request.assert_called_once_with(
"GET", "/api/v1/accounts", params={"type": "asset"})
def test_balance_resolves_name_and_returns_balance(self):
ctx, client, resolver = make_ctx()
resolver.account.return_value = {"id": "3", "name": "Checking",
"current_balance": "100.00"}
args = MagicMock(account="Checking")
rc = acct.cmd_balance(args, ctx)
resolver.account.assert_called_once_with("Checking")
self.assertEqual(rc, 0)
|