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

36 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2024-09-09 18:26 +0000

1import subprocess 1abcdefgh

2import sys 1abcdefgh

3 

4from typer.testing import CliRunner 1abcdefgh

5 

6from docs_src.commands.help import tutorial002 as mod 1abcdefgh

7 

8app = mod.app 1abcdefgh

9 

10runner = CliRunner() 1abcdefgh

11 

12 

13def test_help(): 1abcdefgh

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

15 assert result.exit_code == 0 1abcdefgh

16 assert "create" in result.output 1abcdefgh

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

18 assert "delete" in result.output 1abcdefgh

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

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

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

22 

23 

24def test_help_create(): 1abcdefgh

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

26 assert result.exit_code == 0 1abcdefgh

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

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

29 

30 

31def test_help_delete(): 1abcdefgh

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

33 assert result.exit_code == 0 1abcdefgh

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

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

36 

37 

38def test_create(): 1abcdefgh

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

40 assert result.exit_code == 0 1abcdefgh

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

42 

43 

44def test_delete(): 1abcdefgh

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

46 assert result.exit_code == 0 1abcdefgh

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

48 

49 

50def test_script(): 1abcdefgh

51 result = subprocess.run( 1abcdefgh

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

53 capture_output=True, 

54 encoding="utf-8", 

55 ) 

56 assert "Usage" in result.stdout 1abcdefgh