Files
OpenBB/tests/openbb_terminal/test_terminal_controller.py
James Maslek 07d9ed2c9e Feature/featflags destroy (#4822)
* Remove ION from prefs

* Remove featflag rich

* remove cmdloc and watermark

* remove color featflag
2023-04-18 20:20:58 +00:00

78 lines
2.0 KiB
Python

# IMPORTATION STANDARD
from contextlib import contextmanager
# IMPORTATION THIRDPARTY
import pytest
# IMPORTATION INTERNAL
from openbb_terminal import terminal_controller
from openbb_terminal.core.session.current_user import (
PreferencesModel,
copy_user,
)
@pytest.mark.skip
@pytest.mark.block_network
@pytest.mark.vcr(record_mode="none")
@pytest.mark.record_stdout
def test_terminal_quick_exit(mocker):
preferences = PreferencesModel(
ENABLE_QUICK_EXIT=True,
USE_PROMPT_TOOLKIT=True,
)
mock_current_user = copy_user(preferences=preferences)
mocker.patch(
target="openbb_terminal.core.session.current_user.__current_user",
new=mock_current_user,
)
mocker.patch("sys.stdin")
terminal_controller.terminal()
@pytest.mark.skip
@pytest.mark.vcr(record_mode="none")
@pytest.mark.record_stdout
def test_terminal_quit(mocker):
preferences = PreferencesModel(
ENABLE_QUICK_EXIT=True,
USE_PROMPT_TOOLKIT=True,
)
mock_current_user = copy_user(preferences=preferences)
mocker.patch(
target="openbb_terminal.core.session.current_user.__current_user",
new=mock_current_user,
)
mocker.patch("sys.stdin")
mocker.patch("builtins.input", return_value="e")
mocker.patch("terminal_controller.session")
mocker.patch("terminal_controller.session.prompt", return_value="e")
mocker.patch("terminal_controller.print_goodbye")
spy_print_goodbye = mocker.spy(terminal_controller, "print_goodbye")
terminal_controller.terminal()
spy_print_goodbye.assert_called_once()
@contextmanager
def no_suppress():
yield
@pytest.mark.skip
@pytest.mark.vcr(record_mode="none")
@pytest.mark.record_stdout
@pytest.mark.parametrize(
"debug, path",
[(True, None), (False, ["scripts/test_alt_covid.openbb"])],
)
def test_menu(mocker, debug, path):
mocker.patch(target="terminal_controller.terminal")
mocker.patch(target="terminal_controller.suppress_stdout", side_effect=no_suppress)
terminal_controller.main(debug, path)