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

40 statements  

« 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

4 

5from typer.testing import CliRunner 1abcdefgh

6 

7from docs_src.commands.help import tutorial004_an as mod 1abcdefgh

8 

9app = mod.app 1abcdefgh

10 

11runner = CliRunner() 1abcdefgh

12 

13 

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 shinny 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

23 

24 

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 shinny 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

31 

32 

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

40 

41 

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

46 

47 

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

52 

53 

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