diff --git a/tests/test_cli.py b/tests/test_cli.py index 217da74dd472459376a93afa866ac21e5d398bfa..14e4d3bc70d612e149ac35aa8d585a2f665cf0a8 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -48,3 +48,37 @@ def test_main_invokes_argument_parsing(mock_get_parser): gimmecert.cli.main() mock_parser.parse_args.assert_called_once_with() + + +def test_cli_parser_has_description(): + parser = gimmecert.cli.get_parser() + + assert parser.description + + +def test_parser_sets_up_default_callback_function(): + parser = gimmecert.cli.get_parser() + + assert callable(parser.get_default('func')) + + +@mock.patch('gimmecert.cli.argparse.ArgumentParser.print_usage') +def test_parser_default_callback_function_calls_print_usage(mock_print_usage): + parser = gimmecert.cli.get_parser() + func = parser.get_default('func') + func(mock.Mock()) + + assert mock_print_usage.called + + +@mock.patch('gimmecert.cli.get_parser') +def test_main_invokes_parser_function(mock_get_parser): + mock_parser = mock.Mock() + mock_args = mock.Mock() + + mock_parser.parse_args.return_value = mock_args + mock_get_parser.return_value = mock_parser + + gimmecert.cli.main() + + mock_args.func.assert_called_once_with(mock_args)