mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-20 04:58:32 +02:00
unittest multiple overrides
This commit is contained in:
parent
36623c1100
commit
bd61a78fba
3 changed files with 28 additions and 2 deletions
|
@ -52,7 +52,7 @@ def config_override(context, key_as_dots: str, override_value: str):
|
|||
:
|
||||
run(context.parser)
|
||||
|
||||
assert mock_recurse.call_count == 2
|
||||
assert mock_recurse.call_count >= 2
|
||||
mock_recurse.call_args_list = expected_call_args_list
|
||||
|
||||
except SystemExit as e :
|
||||
|
|
|
@ -9,6 +9,10 @@ def minimal_config():
|
|||
"colors": {"body": "red", "date": "green"},
|
||||
"default": "/tmp/journal.jrnl",
|
||||
"editor": "vim",
|
||||
"journals": {
|
||||
"default": "/tmp/journals/journal.jrnl"
|
||||
}
|
||||
|
||||
}
|
||||
yield cfg
|
||||
|
||||
|
@ -26,6 +30,17 @@ def test_override_dot_notation(minimal_config):
|
|||
cfg = apply_overrides(overrides=overrides, base_config=cfg)
|
||||
assert cfg["colors"] == {"body": "blue", "date": "green"}
|
||||
|
||||
def test_multiple_overrides(minimal_config):
|
||||
overrides = {
|
||||
"colors.title": "magenta",
|
||||
"editor": "nano",
|
||||
"journals.burner": "/tmp/journals/burner.jrnl"
|
||||
} # as returned by parse_args, saved in parser.config_override
|
||||
cfg = apply_overrides(overrides, minimal_config.copy())
|
||||
assert cfg["editor"] == "nano"
|
||||
assert cfg["colors"]["title"] == "magenta"
|
||||
assert "burner" in cfg["journals"]
|
||||
assert cfg["journals"]["burner"] == "/tmp/journals/burner.jrnl"
|
||||
|
||||
def test_recursively_apply():
|
||||
cfg = {"colors": {"body": "red", "title": "green"}}
|
||||
|
@ -34,6 +49,6 @@ def test_recursively_apply():
|
|||
|
||||
|
||||
def test_get_config_node(minimal_config):
|
||||
assert len(minimal_config.keys()) == 3
|
||||
assert len(minimal_config.keys()) == 4
|
||||
assert _get_config_node(minimal_config, "editor") == "vim"
|
||||
assert _get_config_node(minimal_config, "display_format") == None
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
from features.steps.override import config_override
|
||||
import shlex
|
||||
|
||||
import pytest
|
||||
|
@ -218,6 +219,16 @@ def test_color_override():
|
|||
'--config-override \'{"colors.body": "blue"}\''
|
||||
) == expected_args(config_override={"colors.body": "blue"})
|
||||
|
||||
def test_multiple_overrides():
|
||||
assert cli_as_dict(
|
||||
'--config-override \'{"colors.title": "green", "editor":"", "journal.scratchpad": "/tmp/scratchpad"}\''
|
||||
) == expected_args(
|
||||
config_override={
|
||||
"colors.title": "green",
|
||||
"journal.scratchpad": "/tmp/scratchpad",
|
||||
"editor": ""
|
||||
}
|
||||
)
|
||||
|
||||
# @see https://github.com/jrnl-org/jrnl/issues/520
|
||||
@pytest.mark.parametrize(
|
||||
|
|
Loading…
Add table
Reference in a new issue