Coverage for tests/test_tutorial/test_commands/test_help/test_tutorial001.py: 100%
77 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-04-14 00:18 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-04-14 00:18 +0000
1import subprocess 1abcdefghi
2import sys 1abcdefghi
4from typer.testing import CliRunner 1abcdefghi
6from docs_src.commands.help import tutorial001 as mod 1abcdefghi
8app = mod.app 1abcdefghi
10runner = CliRunner() 1abcdefghi
13def test_help(): 1abcdefghi
14 result = runner.invoke(app, ["--help"]) 1abcdefghi
15 assert result.exit_code == 0 1abcdefghi
16 assert "Awesome CLI user manager." in result.output 1abcdefghi
17 assert "create" in result.output 1abcdefghi
18 assert "Create a new user with USERNAME." in result.output 1abcdefghi
19 assert "delete" in result.output 1abcdefghi
20 assert "Delete a user with USERNAME." in result.output 1abcdefghi
21 assert "delete-all" in result.output 1abcdefghi
22 assert "Delete ALL users in the database." in result.output 1abcdefghi
23 assert "init" in result.output 1abcdefghi
24 assert "Initialize the users database." in result.output 1abcdefghi
27def test_help_create(): 1abcdefghi
28 result = runner.invoke(app, ["create", "--help"]) 1abcdefghi
29 assert result.exit_code == 0 1abcdefghi
30 assert "create [OPTIONS] USERNAME" in result.output 1abcdefghi
31 assert "Create a new user with USERNAME." in result.output 1abcdefghi
34def test_help_delete(): 1abcdefghi
35 result = runner.invoke(app, ["delete", "--help"]) 1abcdefghi
36 assert result.exit_code == 0 1abcdefghi
37 assert "delete [OPTIONS] USERNAME" in result.output 1abcdefghi
38 assert "Delete a user with USERNAME." in result.output 1abcdefghi
39 assert "--force" in result.output 1abcdefghi
40 assert "--no-force" in result.output 1abcdefghi
41 assert "Force deletion without confirmation." in result.output 1abcdefghi
44def test_help_delete_all(): 1abcdefghi
45 result = runner.invoke(app, ["delete-all", "--help"]) 1abcdefghi
46 assert result.exit_code == 0 1abcdefghi
47 assert "delete-all [OPTIONS]" in result.output 1abcdefghi
48 assert "Delete ALL users in the database." in result.output 1abcdefghi
49 assert "If --force is not used, will ask for confirmation." in result.output 1abcdefghi
50 assert "[required]" in result.output 1abcdefghi
51 assert "--force" in result.output 1abcdefghi
52 assert "--no-force" in result.output 1abcdefghi
53 assert "Force deletion without confirmation." in result.output 1abcdefghi
56def test_help_init(): 1abcdefghi
57 result = runner.invoke(app, ["init", "--help"]) 1abcdefghi
58 assert result.exit_code == 0 1abcdefghi
59 assert "init [OPTIONS]" in result.output 1abcdefghi
60 assert "Initialize the users database." in result.output 1abcdefghi
63def test_create(): 1abcdefghi
64 result = runner.invoke(app, ["create", "Camila"]) 1abcdefghi
65 assert result.exit_code == 0 1abcdefghi
66 assert "Creating user: Camila" in result.output 1abcdefghi
69def test_delete(): 1abcdefghi
70 result = runner.invoke(app, ["delete", "Camila"], input="y\n") 1abcdefghi
71 assert result.exit_code == 0 1abcdefghi
72 assert "Are you sure you want to delete the user? [y/n]:" in result.output 1abcdefghi
73 assert "Deleting user: Camila" in result.output 1abcdefghi
76def test_no_delete(): 1abcdefghi
77 result = runner.invoke(app, ["delete", "Camila"], input="n\n") 1abcdefghi
78 assert result.exit_code == 0 1abcdefghi
79 assert "Are you sure you want to delete the user? [y/n]:" in result.output 1abcdefghi
80 assert "Operation cancelled" in result.output 1abcdefghi
83def test_delete_all(): 1abcdefghi
84 result = runner.invoke(app, ["delete-all"], input="y\n") 1abcdefghi
85 assert result.exit_code == 0 1abcdefghi
86 assert "Are you sure you want to delete ALL users? [y/n]:" in result.output 1abcdefghi
87 assert "Deleting all users" in result.output 1abcdefghi
90def test_no_delete_all(): 1abcdefghi
91 result = runner.invoke(app, ["delete-all"], input="n\n") 1abcdefghi
92 assert result.exit_code == 0 1abcdefghi
93 assert "Are you sure you want to delete ALL users? [y/n]:" in result.output 1abcdefghi
94 assert "Operation cancelled" in result.output 1abcdefghi
97def test_init(): 1abcdefghi
98 result = runner.invoke(app, ["init"]) 1abcdefghi
99 assert result.exit_code == 0 1abcdefghi
100 assert "Initializing user database" in result.output 1abcdefghi
103def test_script(): 1abcdefghi
104 result = subprocess.run( 1abcdefghi
105 [sys.executable, "-m", "coverage", "run", mod.__file__, "--help"],
106 capture_output=True,
107 encoding="utf-8",
108 )
109 assert "Usage" in result.stdout 1abcdefghi