From 9d60911a14dbc1473e9e37c41ee117a2e8b1a810 Mon Sep 17 00:00:00 2001 From: Suhas Date: Sat, 6 Feb 2021 21:28:50 -0500 Subject: [PATCH] update unittest --- tests/test_display.py | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/tests/test_display.py b/tests/test_display.py index e0764484..931d084f 100644 --- a/tests/test_display.py +++ b/tests/test_display.py @@ -2,22 +2,39 @@ import argparse import jrnl import pytest import mock -from jrnl.jrnl import _export_journal, _display_search_results +from jrnl.jrnl import _export_journal @pytest.mark.parametrize( "export_format", [ "pretty", "short", - "markdown", - "json" ] ) -@mock.patch.object(argparse,'Namespace',autospec=True) -@mock.patch.object(jrnl,'Journal',autospec=True) -def test_export_format(mock_journal, mock_args, export_format): +@mock.patch.object(argparse,'Namespace',return_value={"export":None,"filename":None}) +def test_export_format(mock_args,export_format): + + test_journal = jrnl.Journal.Journal mock_args.export = export_format mock_args.filename = "foo.jrnl" - with mock.patch('builtins.print', wraps=print) as print_spy: - _export_journal(mock_args,mock_journal) - print_spy.assert_called_once() + with mock.patch('builtins.print') as print_spy, \ + mock.patch('jrnl.Journal.Journal.pprint') as mock_pprint: + _export_journal(mock_args,test_journal) + print_spy.call_args_list = mock_pprint + + + +@mock.patch.object(argparse,'Namespace',return_value={"export":None,"filename":None}) +def test_export_plugin(mock_args): + export_format = "markdown" + + test_journal = jrnl.Journal.Journal + mock_args.export = export_format + mock_args.filename = "foo.jrnl" + with mock.patch('builtins.print') as print_spy, \ + mock.patch('jrnl.plugins.get_exporter') as mock_get_exporter,\ + mock.patch('jrnl.Journal.Journal.pprint') as mock_pprint: + _export_journal(mock_args,test_journal) + print_spy.call_args_list = mock_pprint + mock_get_exporter.assert_called_once_with(export_format) + \ No newline at end of file