summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-06-30 11:08:45 +0200
committerDanilo M. <danix@danix.xyz>2026-06-30 11:08:45 +0200
commit864429f9a63c2f67df1e30809724a05cd8b2a865 (patch)
tree28919d43d7ae273e7c9f6690e3afcc79245853da /tests
parenta9b7872fd85cbde483bc65fc1540a9d7f0c5d193 (diff)
downloadfirefly-cli-864429f9a63c2f67df1e30809724a05cd8b2a865.tar.gz
firefly-cli-864429f9a63c2f67df1e30809724a05cd8b2a865.zip
feat: CLI wiring from command registry
Diffstat (limited to 'tests')
-rw-r--r--tests/unit/test_cli.py26
1 files changed, 26 insertions, 0 deletions
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)