Coverage for tests/test_tutorial/test_options/test_help/test_tutorial001_an.py: 100%

30 statements  

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

1import subprocess 1abcdefgh

2import sys 1abcdefgh

3 

4import typer 1abcdefgh

5from typer.testing import CliRunner 1abcdefgh

6 

7from docs_src.options.help import tutorial001_an as mod 1abcdefgh

8 

9runner = CliRunner() 1abcdefgh

10 

11app = typer.Typer() 1abcdefgh

12app.command()(mod.main) 1abcdefgh

13 

14 

15def test_help(): 1abcdefgh

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

17 assert result.exit_code == 0 1abcdefgh

18 assert "Say hi to NAME, optionally with a --lastname." in result.output 1abcdefgh

19 assert "If --formal is used, say hi very formally." in result.output 1abcdefgh

20 assert "Last name of person to greet." in result.output 1abcdefgh

21 assert "Say hi formally." in result.output 1abcdefgh

22 

23 

24def test_1(): 1abcdefgh

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

26 assert result.exit_code == 0 1abcdefgh

27 assert "Hello Camila" in result.output 1abcdefgh

28 

29 

30def test_option_lastname(): 1abcdefgh

31 result = runner.invoke(app, ["Camila", "--lastname", "Gutiérrez"]) 1abcdefgh

32 assert result.exit_code == 0 1abcdefgh

33 assert "Hello Camila Gutiérrez" in result.output 1abcdefgh

34 

35 

36def test_formal(): 1abcdefgh

37 result = runner.invoke(app, ["Camila", "--lastname", "Gutiérrez", "--formal"]) 1abcdefgh

38 assert result.exit_code == 0 1abcdefgh

39 assert "Good day Ms. Camila Gutiérrez." in result.output 1abcdefgh

40 

41 

42def test_script(): 1abcdefgh

43 result = subprocess.run( 1abcdefgh

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

45 capture_output=True, 

46 encoding="utf-8", 

47 ) 

48 assert "Usage" in result.stdout 1abcdefgh