aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/test_registry.py
blob: f30a5df42a362f40e064f3c229661ba033eedffe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import unittest
from firefly_cli import registry

class TestRegistry(unittest.TestCase):
    def setUp(self):
        registry._COMMANDS.clear()

    def test_command_decorator_registers(self):
        @registry.command("tx add", help="add a tx")
        def handler(args, ctx):
            return 0
        cmds = registry.all_commands()
        self.assertEqual(len(cmds), 1)
        self.assertEqual(cmds[0].name, "tx add")
        self.assertIs(cmds[0].handler, handler)

    def test_add_arguments_callback_stored(self):
        def args_cb(p):
            p.add_argument("name")
        @registry.command("account get", args=args_cb)
        def handler(args, ctx):
            return 0
        self.assertIs(registry.all_commands()[0].args, args_cb)