make format

This commit is contained in:
Suhas 2021-01-23 11:18:13 -05:00
parent 263c79cea6
commit 77646eaa1a
2 changed files with 47 additions and 40 deletions

View file

@ -212,32 +212,35 @@ def open_editor_and_enter(context, method, text=""):
# fmt: on # fmt: on
@then("the editor {editor} should have been called") @then("the editor {editor} should have been called")
def editor_override(context, editor): def editor_override(context, editor):
def _mock_editor(command_and_journal_file):
def _mock_editor(command_and_journal_file):
editor = command_and_journal_file[0] editor = command_and_journal_file[0]
context.tmpfile = command_and_journal_file[-1] tmpfile = command_and_journal_file[-1]
print("%s has been launched"%editor) context.tmpfile = tmpfile
print("%s has been launched" % editor)
return tmpfile return tmpfile
try : # fmt: off
# fmt: off # see: https://github.com/psf/black/issues/664
# see: https://github.com/psf/black/issues/664 with \
with \ patch("subprocess.call", side_effect=_mock_editor) as mock_editor, \
patch("subprocess.call", side_effect=_mock_editor) as mock_editor, \ patch("sys.stdin.isatty", return_value=True), \
patch("sys.stdin.isatty", return_value=True), \ patch("jrnl.time.parse", side_effect=_mock_time_parse(context)), \
patch("jrnl.time.parse", side_effect=_mock_time_parse(context)), \ patch("jrnl.config.get_config_path", side_effect=lambda: context.config_path), \
patch("jrnl.config.get_config_path", side_effect=lambda: context.config_path), \ patch("jrnl.install.get_config_path", side_effect=lambda: context.config_path) \
patch("jrnl.install.get_config_path", side_effect=lambda: context.config_path) \ :
: try :
cli(['--override','{"editor": "%s"}'%editor]) cli(['--override','{"editor": "%s"}'%editor])
context.exit_status = 0 context.exit_status = 0
context.editor = mock_editor context.editor = mock_editor
assert mock_editor.assert_called_once_with(editor, context.tmpfile) assert mock_editor.assert_called_once_with(editor, context.tmpfile)
except SystemExit as e: except SystemExit as e:
context.exit_status = e.code context.exit_status = e.code
# fmt: on
@then("the editor should have been called") @then("the editor should have been called")
@then("the editor should have been called with {num} arguments") @then("the editor should have been called with {num} arguments")
def count_editor_args(context, num=None): def count_editor_args(context, num=None):

View file

@ -12,31 +12,31 @@ from jrnl import install, editor
@pytest.fixture() @pytest.fixture()
def minimal_config(): def minimal_config():
with open("features/data/configs/editor.yaml", "r") as cfg_file: with open("features/data/configs/editor.yaml", "r") as cfg_file:
cfg = yaml.load(cfg_file.read()) cfg = yaml.load(cfg_file.read())
yield cfg yield cfg
@pytest.fixture() @pytest.fixture()
def expected_override(minimal_config): def expected_override(minimal_config):
exp_out_cfg = minimal_config.copy() exp_out_cfg = minimal_config.copy()
exp_out_cfg['editor'] = 'nano' exp_out_cfg["editor"] = "nano"
exp_out_cfg['journal'] = 'features/journals/simple.journal' exp_out_cfg["journal"] = "features/journals/simple.journal"
yield exp_out_cfg yield exp_out_cfg
from jrnl import jrnl from jrnl import jrnl
@mock.patch("sys.stdin.isatty")
@mock.patch('sys.stdin.isatty')
@mock.patch.object(install, "load_or_install_jrnl") @mock.patch.object(install, "load_or_install_jrnl")
@mock.patch('subprocess.call') @mock.patch("subprocess.call")
def test_override_configured_editor( def test_override_configured_editor(
mock_subprocess_call, mock_subprocess_call,
mock_load_or_install, mock_load_or_install,
mock_isatty, mock_isatty,
minimal_config, minimal_config,
expected_override, expected_override,
capsys capsys,
): ):
mock_load_or_install.return_value = minimal_config mock_load_or_install.return_value = minimal_config
mock_isatty.return_value = True mock_isatty.return_value = True
@ -44,11 +44,15 @@ def test_override_configured_editor(
cli_args = ["--override", '{"editor": "nano"}'] cli_args = ["--override", '{"editor": "nano"}']
parser = parse_args(cli_args) parser = parse_args(cli_args)
assert parser.config_override.__len__() == 1 assert parser.config_override.__len__() == 1
def mock_editor_launch(editor):
print("%s launched! Success!"%editor) def mock_editor_launch(editor):
with mock.patch.object(jrnl,'_write_in_editor', side_effect=mock_editor_launch(parser.config_override['editor']), return_value = 'note_contents') as mock_write_in_editor: print("%s launched! Success!" % editor)
with mock.patch.object(
jrnl,
"_write_in_editor",
side_effect=mock_editor_launch(parser.config_override["editor"]),
return_value="note_contents",
) as mock_write_in_editor:
run(parser) run(parser)
mock_write_in_editor.assert_called_once_with(expected_override) mock_write_in_editor.assert_called_once_with(expected_override)