mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-11-08 10:22:09 +00:00
[Feature] Generate settings menu from pydantic model (#6489)
* Generate settings menu from pydantic model * fix tests * fix test * undo changes --------- Co-authored-by: Henrique Joaquim <henriquecjoaquim@gmail.com>
This commit is contained in:
@@ -5,7 +5,7 @@ from unittest.mock import MagicMock, patch
|
||||
import pytest
|
||||
from openbb_cli.controllers.settings_controller import SettingsController
|
||||
|
||||
# pylint: disable=redefined-outer-name, unused-argument
|
||||
# pylint: disable=redefined-outer-name, unused-argument, no-member
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
@@ -14,7 +14,7 @@ def mock_session():
|
||||
mock.settings.USE_INTERACTIVE_DF = False
|
||||
mock.settings.ALLOWED_NUMBER_OF_ROWS = 20
|
||||
mock.settings.TIMEZONE = "UTC"
|
||||
|
||||
mock.style.available_styles = ["dark"]
|
||||
mock.settings.set_item = MagicMock()
|
||||
|
||||
yield mock
|
||||
@@ -35,7 +35,7 @@ def test_call_interactive(mock_session):
|
||||
)
|
||||
def test_call_n_rows(input_rows, expected, mock_session):
|
||||
controller = SettingsController()
|
||||
args = ["--rows", str(input_rows)]
|
||||
args = ["--value", str(input_rows)]
|
||||
controller.call_n_rows(args)
|
||||
mock_session.settings.set_item.assert_called_with(
|
||||
"ALLOWED_NUMBER_OF_ROWS", expected
|
||||
@@ -45,7 +45,7 @@ def test_call_n_rows(input_rows, expected, mock_session):
|
||||
def test_call_n_rows_no_args_provided(mock_session):
|
||||
controller = SettingsController()
|
||||
controller.call_n_rows([])
|
||||
mock_session.console.print.assert_called_with("Current number of rows: 20")
|
||||
mock_session.console.print.assert_called_with("[info]Current value:[/info] 20")
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
@@ -56,22 +56,18 @@ def test_call_n_rows_no_args_provided(mock_session):
|
||||
],
|
||||
)
|
||||
def test_call_timezone(timezone, valid, mock_session):
|
||||
with patch(
|
||||
"openbb_cli.controllers.settings_controller.is_timezone_valid",
|
||||
return_value=valid,
|
||||
):
|
||||
controller = SettingsController()
|
||||
args = ["--timezone", timezone]
|
||||
controller.call_timezone(args)
|
||||
if valid:
|
||||
mock_session.settings.set_item.assert_called_with("TIMEZONE", timezone)
|
||||
else:
|
||||
mock_session.settings.set_item.assert_not_called()
|
||||
controller = SettingsController()
|
||||
args = ["--value", timezone]
|
||||
controller.call_timezone(args)
|
||||
if valid:
|
||||
mock_session.settings.set_item.assert_called_with("TIMEZONE", timezone)
|
||||
else:
|
||||
mock_session.settings.set_item.assert_not_called()
|
||||
|
||||
|
||||
def test_call_console_style(mock_session):
|
||||
controller = SettingsController()
|
||||
args = ["--style", "dark"]
|
||||
args = ["--value", "dark"]
|
||||
controller.call_console_style(args)
|
||||
mock_session.console.print.assert_called()
|
||||
|
||||
@@ -80,25 +76,25 @@ def test_call_console_style_no_args(mock_session):
|
||||
mock_session.settings.RICH_STYLE = "default"
|
||||
controller = SettingsController()
|
||||
controller.call_console_style([])
|
||||
mock_session.console.print.assert_called_with("Current console style: default")
|
||||
mock_session.console.print.assert_called_with("[info]Current value:[/info] default")
|
||||
|
||||
|
||||
def test_call_flair(mock_session):
|
||||
controller = SettingsController()
|
||||
args = ["--flair", "rocket"]
|
||||
args = ["--value", "rocket"]
|
||||
controller.call_flair(args)
|
||||
|
||||
|
||||
def test_call_flair_no_args(mock_session):
|
||||
mock_session.settings.FLAIR = "star"
|
||||
mock_session.settings.FLAIR = "bug"
|
||||
controller = SettingsController()
|
||||
controller.call_flair([])
|
||||
mock_session.console.print.assert_called_with("Current flair: star")
|
||||
mock_session.console.print.assert_called_with("[info]Current value:[/info] bug")
|
||||
|
||||
|
||||
def test_call_obbject_display(mock_session):
|
||||
controller = SettingsController()
|
||||
args = ["--number", "5"]
|
||||
args = ["--value", "5"]
|
||||
controller.call_obbject_display(args)
|
||||
mock_session.settings.set_item.assert_called_once_with(
|
||||
"N_TO_DISPLAY_OBBJECT_REGISTRY", 5
|
||||
@@ -109,16 +105,14 @@ def test_call_obbject_display_no_args(mock_session):
|
||||
mock_session.settings.N_TO_DISPLAY_OBBJECT_REGISTRY = 10
|
||||
controller = SettingsController()
|
||||
controller.call_obbject_display([])
|
||||
mock_session.console.print.assert_called_with(
|
||||
"Current number of results to display from the OBBject registry: 10"
|
||||
)
|
||||
mock_session.console.print.assert_called_with("[info]Current value:[/info] 10")
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"args, expected",
|
||||
[
|
||||
(["--rows", "50"], 50),
|
||||
(["--rows", "100"], 100),
|
||||
(["--value", "50"], 50),
|
||||
(["--value", "100"], 100),
|
||||
([], 20),
|
||||
],
|
||||
)
|
||||
@@ -131,4 +125,4 @@ def test_call_n_rows_v2(args, expected, mock_session):
|
||||
"ALLOWED_NUMBER_OF_ROWS", expected
|
||||
)
|
||||
else:
|
||||
mock_session.console.print.assert_called_with("Current number of rows: 20")
|
||||
mock_session.console.print.assert_called_with("[info]Current value:[/info] 20")
|
||||
|
||||
Reference in New Issue
Block a user