from click.testing import CliRunner from gitignore_generator.cli import main class TestCLI: def test_main_version(self): runner = CliRunner() result = runner.invoke(main, ["--version"]) assert result.exit_code == 0 assert "gitignore-generator" in result.output def test_main_help(self): runner = CliRunner() result = runner.invoke(main, ["--help"]) assert result.exit_code == 0 assert "generate" in result.output assert "list" in result.output def test_generate_help(self): runner = CliRunner() result = runner.invoke(main, ["generate", "--help"]) assert result.exit_code == 0 assert "--output" in result.output def test_list_help(self): runner = CliRunner() result = runner.invoke(main, ["list", "--help"]) assert result.exit_code == 0 def test_search_help(self): runner = CliRunner() result = runner.invoke(main, ["search", "--help"]) assert result.exit_code == 0 def test_validate_help(self): runner = CliRunner() result = runner.invoke(main, ["validate", "--help"]) assert result.exit_code == 0 def test_interactive_help(self): runner = CliRunner() result = runner.invoke(main, ["interactive", "--help"]) assert result.exit_code == 0 def test_template_add_help(self): runner = CliRunner() result = runner.invoke(main, ["template-add", "--help"]) assert result.exit_code == 0 def test_template_remove_help(self): runner = CliRunner() result = runner.invoke(main, ["template-remove", "--help"]) assert result.exit_code == 0 def test_template_export_help(self): runner = CliRunner() result = runner.invoke(main, ["template-export", "--help"]) assert result.exit_code == 0 def test_info_help(self): runner = CliRunner() result = runner.invoke(main, ["info", "--help"]) assert result.exit_code == 0