Coverage for tests/test_tutorial/test_commands/test_help/test_tutorial004.py: 100%
40 statements
« prev ^ index » next coverage.py v7.6.1, created at 2024-09-09 18:26 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2024-09-09 18:26 +0000
1import os 1abcdefgh
2import subprocess 1abcdefgh
3import sys 1abcdefgh
5from typer.testing import CliRunner 1abcdefgh
7from docs_src.commands.help import tutorial004 as mod 1abcdefgh
9app = mod.app 1abcdefgh
11runner = CliRunner() 1abcdefgh
14def test_help(): 1abcdefgh
15 result = runner.invoke(app, ["--help"]) 1abcdefgh
16 assert result.exit_code == 0 1abcdefgh
17 assert "create" in result.output 1abcdefgh
18 assert "Create a new shiny user. ✨" in result.output 1abcdefgh
19 assert "delete" in result.output 1abcdefgh
20 assert "Delete a user with USERNAME." in result.output 1abcdefgh
21 assert "Some internal utility function to create." not in result.output 1abcdefgh
22 assert "Some internal utility function to delete." not in result.output 1abcdefgh
25def test_help_create(): 1abcdefgh
26 result = runner.invoke(app, ["create", "--help"]) 1abcdefgh
27 assert result.exit_code == 0 1abcdefgh
28 assert "Create a new shiny user. ✨" in result.output 1abcdefgh
29 assert "The username to be created" in result.output 1abcdefgh
30 assert "Some internal utility function to create." not in result.output 1abcdefgh
33def test_help_delete(): 1abcdefgh
34 result = runner.invoke(app, ["delete", "--help"]) 1abcdefgh
35 assert result.exit_code == 0 1abcdefgh
36 assert "Delete a user with USERNAME." in result.output 1abcdefgh
37 assert "The username to be deleted" in result.output 1abcdefgh
38 assert "Force the deletion 💥" in result.output 1abcdefgh
39 assert "Some internal utility function to delete." not in result.output 1abcdefgh
42def test_create(): 1abcdefgh
43 result = runner.invoke(app, ["create", "Camila"]) 1abcdefgh
44 assert result.exit_code == 0 1abcdefgh
45 assert "Creating user: Camila" in result.output 1abcdefgh
48def test_delete(): 1abcdefgh
49 result = runner.invoke(app, ["delete", "Camila"]) 1abcdefgh
50 assert result.exit_code == 0 1abcdefgh
51 assert "Deleting user: Camila" in result.output 1abcdefgh
54def test_script(): 1abcdefgh
55 result = subprocess.run( 1abcdefgh
56 [sys.executable, "-m", "coverage", "run", mod.__file__, "--help"],
57 capture_output=True,
58 encoding="utf-8",
59 env={**os.environ, "PYTHONIOENCODING": "utf-8"},
60 )
61 assert "Usage" in result.stdout 1abcdefgh