Skip to content

Commit

Permalink
✅ Add extra tests just for coverage because monkeypatching with stran…
Browse files Browse the repository at this point in the history
…ge imports confuses coverage (tiangolo#490)
  • Loading branch information
tiangolo authored and alexreg committed Nov 9, 2022
1 parent a793a35 commit 6078960
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions tests/test_tutorial/test_subcommands/test_tutorial003.py
Expand Up @@ -4,6 +4,7 @@
from typer.testing import CliRunner

from docs_src.subcommands import tutorial003
from docs_src.subcommands.tutorial003 import items, users

runner = CliRunner()

Expand Down Expand Up @@ -46,18 +47,30 @@ def test_items_create(app):
result = runner.invoke(app, ["items", "create", "Wand"])
assert result.exit_code == 0
assert "Creating item: Wand" in result.output
# For coverage, becauses the monkeypatch above sometimes confuses coverage
result = runner.invoke(items.app, ["create", "Wand"])
assert result.exit_code == 0
assert "Creating item: Wand" in result.output


def test_items_sell(app):
result = runner.invoke(app, ["items", "sell", "Vase"])
assert result.exit_code == 0
assert "Selling item: Vase" in result.output
# For coverage, becauses the monkeypatch above sometimes confuses coverage
result = runner.invoke(items.app, ["sell", "Vase"])
assert result.exit_code == 0
assert "Selling item: Vase" in result.output


def test_items_delete(app):
result = runner.invoke(app, ["items", "delete", "Vase"])
assert result.exit_code == 0
assert "Deleting item: Vase" in result.output
# For coverage, becauses the monkeypatch above sometimes confuses coverage
result = runner.invoke(items.app, ["delete", "Vase"])
assert result.exit_code == 0
assert "Deleting item: Vase" in result.output


def test_help_users(app):
Expand All @@ -74,12 +87,20 @@ def test_users_create(app):
result = runner.invoke(app, ["users", "create", "Camila"])
assert result.exit_code == 0
assert "Creating user: Camila" in result.output
# For coverage, becauses the monkeypatch above sometimes confuses coverage
result = runner.invoke(users.app, ["create", "Camila"])
assert result.exit_code == 0
assert "Creating user: Camila" in result.output


def test_users_delete(app):
result = runner.invoke(app, ["users", "delete", "Camila"])
assert result.exit_code == 0
assert "Deleting user: Camila" in result.output
# For coverage, becauses the monkeypatch above sometimes confuses coverage
result = runner.invoke(users.app, ["delete", "Camila"])
assert result.exit_code == 0
assert "Deleting user: Camila" in result.output


def test_help_lands(app):
Expand Down

0 comments on commit 6078960

Please sign in to comment.