Skip to content

Commit 0571fec

Browse files
feat: add test
1 parent 01a0a87 commit 0571fec

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

tests/test_cli.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
from collections import deque
2+
3+
from click import Group
4+
from click.testing import CliRunner
5+
6+
from mcpm.cli import main
7+
8+
9+
def test_cli_help():
10+
"""Test that all commands have help options."""
11+
runner = CliRunner()
12+
13+
def bfs(cmd):
14+
queue = deque([cmd])
15+
commands = []
16+
while queue:
17+
cmd = queue.popleft()
18+
sub_cmds = cmd.commands.values()
19+
for sub_cmd in sub_cmds:
20+
commands.append(sub_cmd)
21+
if isinstance(sub_cmd, Group):
22+
queue.append(sub_cmd)
23+
return commands
24+
25+
all_commands = bfs(main)
26+
for cmd in all_commands:
27+
result = runner.invoke(cmd, ["--help"])
28+
assert result.exit_code == 0
29+
assert "Usage:" in result.output
30+
31+
for cmd in all_commands:
32+
result = runner.invoke(cmd, ["-h"])
33+
assert result.exit_code == 0
34+
assert "Usage:" in result.output

0 commit comments

Comments
 (0)