Coverage for tests / test_tutorial / test_commands / test_help / test_tutorial002.py: 100%

36 statements  

« prev     ^ index     » next       coverage.py v7.13.1, created at 2026-03-26 21:46 +0000

1import subprocess 1abcdefg

2import sys 1abcdefg

3 

4from typer.testing import CliRunner 1abcdefg

5 

6from docs_src.commands.help import tutorial002_py310 as mod 1abcdefg

7 

8app = mod.app 1abcdefg

9 

10runner = CliRunner() 1abcdefg

11 

12 

13def test_help(): 1abcdefg

14 result = runner.invoke(app, ["--help"]) 1abcdefg

15 assert result.exit_code == 0 1abcdefg

16 assert "create" in result.output 1abcdefg

17 assert "Create a new user with USERNAME." in result.output 1abcdefg

18 assert "delete" in result.output 1abcdefg

19 assert "Delete a user with USERNAME." in result.output 1abcdefg

20 assert "Some internal utility function to create." not in result.output 1abcdefg

21 assert "Some internal utility function to delete." not in result.output 1abcdefg

22 

23 

24def test_help_create(): 1abcdefg

25 result = runner.invoke(app, ["create", "--help"]) 1abcdefg

26 assert result.exit_code == 0 1abcdefg

27 assert "Create a new user with USERNAME." in result.output 1abcdefg

28 assert "Some internal utility function to create." not in result.output 1abcdefg

29 

30 

31def test_help_delete(): 1abcdefg

32 result = runner.invoke(app, ["delete", "--help"]) 1abcdefg

33 assert result.exit_code == 0 1abcdefg

34 assert "Delete a user with USERNAME." in result.output 1abcdefg

35 assert "Some internal utility function to delete." not in result.output 1abcdefg

36 

37 

38def test_create(): 1abcdefg

39 result = runner.invoke(app, ["create", "Camila"]) 1abcdefg

40 assert result.exit_code == 0 1abcdefg

41 assert "Creating user: Camila" in result.output 1abcdefg

42 

43 

44def test_delete(): 1abcdefg

45 result = runner.invoke(app, ["delete", "Camila"]) 1abcdefg

46 assert result.exit_code == 0 1abcdefg

47 assert "Deleting user: Camila" in result.output 1abcdefg

48 

49 

50def test_script(): 1abcdefg

51 result = subprocess.run( 1abcdefg

52 [sys.executable, "-m", "coverage", "run", mod.__file__, "--help"], 

53 capture_output=True, 

54 encoding="utf-8", 

55 ) 

56 assert "Usage" in result.stdout 1abcdefg