diff --git a/test/test_configuration.py b/test/test_configuration.py new file mode 100644 index 0000000..b40223f --- /dev/null +++ b/test/test_configuration.py @@ -0,0 +1,32 @@ +from pathlib import Path + +import pytest + +from topen import OPTIONS, parse_cli, parse_env, parse_rc + + +class TestCli: + def test_cli_minimum_id(self, monkeypatch): + monkeypatch.setattr("sys.argv", ["topen", "42"]) + assert parse_cli() == {"task_id": "42"} + + def test_cli_options(self, monkeypatch): + monkeypatch.setattr( + "sys.argv", + [ + "topen", + "123", + "--extension", + "txt", + "--editor", + "vim", + "--quiet", + "True", + ], + ) + assert parse_cli() == { + "task_id": "123", + "notes_ext": "txt", + "notes_editor": "vim", + "notes_quiet": True, + } diff --git a/topen.py b/topen.py index b829745..90f99e6 100755 --- a/topen.py +++ b/topen.py @@ -295,6 +295,7 @@ you view the task. dest=key, metavar=opt.metavar, help=opt.help_text, + type=opt.cast or str, default=None, ) args = parser.parse_args()