Skip to content

Commit 89ba1db

Browse files
committed
✅ test(typer-CLI): add some tests for typer CLI
1 parent 3a69704 commit 89ba1db

4 files changed

Lines changed: 20 additions & 2 deletions

File tree

template/src/{{project_slug}}/{% if with_typer_cli %}cli{% endif %}/commands/version.py.jinja

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ app = typer.Typer()
88

99
@app.command(rich_help_panel="Help and Others", help="Show the CLI's version.")
1010
def version() -> None:
11-
rprint(f"{{ cli_name }} Version: [green]{__version__}[/green]")
11+
rprint(f"{{ cli_name }} version: [green]{__version__}[/green]")

template/src/{{project_slug}}/{% if with_typer_cli %}cli{% endif %}/main.py.jinja

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def callback(
2020
version: Annotated[bool, typer.Option("--version", help="Show the CLI's version.")] = False,
2121
) -> None:
2222
if version:
23-
rprint(f"{{ cli_name }} Version: [green]{__version__}[/green]")
23+
rprint(f"{{ cli_name }} version: [green]{__version__}[/green]")
2424
raise typer.Exit()
2525

2626

template/tests/__init__.py

Whitespace-only changes.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from typer.testing import CliRunner
2+
3+
from {{ project_slug }} import __version__
4+
from {{ project_slug }}.cli.main import app
5+
6+
runner = CliRunner()
7+
8+
9+
def test_version_as_command() -> None:
10+
result = runner.invoke(app, ["version"])
11+
assert result.exit_code == 0
12+
assert f"{{ cli_name }} version: {__version__}" in result.stdout
13+
14+
15+
def test_version_as_option() -> None:
16+
result = runner.invoke(app, ["--version"])
17+
assert result.exit_code == 0
18+
assert f"{{ cli_name }} version: {__version__}" in result.stdout

0 commit comments

Comments
 (0)