From 864429f9a63c2f67df1e30809724a05cd8b2a865 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 30 Jun 2026 11:08:45 +0200 Subject: feat: CLI wiring from command registry --- tests/unit/test_cli.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 tests/unit/test_cli.py (limited to 'tests/unit') diff --git a/tests/unit/test_cli.py b/tests/unit/test_cli.py new file mode 100644 index 0000000..883f200 --- /dev/null +++ b/tests/unit/test_cli.py @@ -0,0 +1,26 @@ +import unittest +from unittest.mock import patch, MagicMock +from firefly_cli import cli + +class TestCli(unittest.TestCase): + @patch("firefly_cli.cli.config.load") + @patch("firefly_cli.cli.Client") + def test_dispatches_account_list(self, Client, load): + load.return_value = {"url": "https://f", "token": "t"} + Client.return_value.request.return_value = {"data": []} + rc = cli.main(["account", "list"]) + self.assertEqual(rc, 0) + + @patch("firefly_cli.cli.config.load") + def test_config_error_returns_nonzero(self, load): + from firefly_cli.errors import ConfigError + load.side_effect = ConfigError("no config") + rc = cli.main(["account", "list"]) + self.assertEqual(rc, 1) + + def test_auth_set_does_not_require_config(self): + # auth set must run even with no config/client + with patch("firefly_cli.cli.config.write") as w: + w.return_value = "/tmp/x" + rc = cli.main(["auth", "set", "--url", "https://f", "--token", "t"]) + self.assertEqual(rc, 0) -- cgit v1.2.3