Files
flow/tests/test_completion.py
Tomas Mirchev 6ea23e02df feat: add CLI entry point, command modules, and zsh completion
- CLI with context detection, config merging, VM blocking
- Command modules: dotfiles, packages, setup, remote, dev, projects
- Zsh completion with declarative command/subcommand/flag structure

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 05:06:31 +02:00

44 lines
1.1 KiB
Python

"""Tests for zsh completion."""
from flow.commands.completion import complete
def test_complete_top_level():
result = complete(["flow", ""], 1)
assert "dotfiles" in result
assert "packages" in result
assert "setup" in result
assert "remote" in result
assert "dev" in result
assert "projects" in result
def test_complete_top_level_prefix():
result = complete(["flow", "do"], 1)
assert result == ["dotfiles"]
def test_complete_dotfiles_subcommands():
result = complete(["flow", "dotfiles", ""], 2)
assert "link" in result
assert "unlink" in result
assert "status" in result
def test_complete_dotfiles_link_flags():
result = complete(["flow", "dotfiles", "link", "--"], 3)
assert "--profile" in result
assert "--dry-run" in result
def test_complete_unknown_command():
result = complete(["flow", "unknown", ""], 2)
assert result == []
def test_complete_packages_subcommands():
result = complete(["flow", "packages", ""], 2)
assert "install" in result
assert "remove" in result
assert "list" in result