[BugFix] Charting Integration Tests (#6569)

* fixing charting tests

* lint
This commit is contained in:
Henrique Joaquim
2024-07-09 12:14:49 +01:00
committed by GitHub
parent b116df2b54
commit 8ac72c6189
5 changed files with 23 additions and 18 deletions

View File

@@ -1,17 +1,10 @@
"""OpenBB Core Chart model."""
from enum import Enum
from typing import Any, Dict, Optional
from pydantic import BaseModel, ConfigDict, Field
class ChartFormat(str, Enum):
"""Chart format."""
plotly = "plotly"
class Chart(BaseModel):
"""Model for Chart."""
@@ -19,8 +12,8 @@ class Chart(BaseModel):
default=None,
description="Raw textual representation of the chart.",
)
format: Optional[ChartFormat] = Field(
default=ChartFormat.plotly,
format: Optional[str] = Field(
default=None,
description="Complementary attribute to the `content` attribute. It specifies the format of the chart.",
)
fig: Optional[Any] = Field(

View File

@@ -1,7 +1,7 @@
"""Test the chart model."""
import pytest
from openbb_core.app.model.charts.chart import Chart, ChartFormat
from openbb_core.app.model.charts.chart import Chart
def test_charting_default_values():
@@ -11,14 +11,14 @@ def test_charting_default_values():
# Assert
assert chart.content is None
assert chart.format == ChartFormat.plotly
assert chart.format is None
def test_charting_custom_values():
"""Test the charting custom values."""
# Arrange
content = {"data": [1, 2, 3]}
chart_format = ChartFormat.plotly
chart_format = "plotly"
# Act
chart = Chart(content=content, format=chart_format)
@@ -42,7 +42,7 @@ def test_charting_config_validation():
"""Test the charting config validation."""
# Arrange
content = {"data": [1, 2, 3]}
chart_format = ChartFormat.plotly
chart_format = "plotly"
chart = Chart(content=content, format=chart_format)

View File

@@ -799,13 +799,17 @@ def test_charting_derivatives_futures_historical(params, headers):
(
{
"provider": "yfinance",
"symbol": "VX",
"symbol": "ES",
"date": None,
"chart": True,
}
),
(
{
"provider": "cboe",
"symbol": "VX",
"date": "2024-06-25",
"chart": True,
}
),
],

View File

@@ -654,7 +654,9 @@ def test_charting_derivatives_futures_historical(params, obb):
(
{
"provider": "yfinance",
"symbol": "VX",
"symbol": "ES",
"date": None,
"chart": True,
}
),
(
@@ -662,6 +664,7 @@ def test_charting_derivatives_futures_historical(params, obb):
"provider": "cboe",
"symbol": "VX",
"date": "2024-06-25",
"chart": True,
}
),
],

View File

@@ -64,6 +64,7 @@ class Charting:
entry_point.load()
for entry_point in entry_points(group="openbb_charting_extension")
]
_format = "plotly" # the charts computed by this extension will be in plotly format
def __init__(self, obbject):
"""Initialize Charting extension."""
@@ -361,7 +362,7 @@ class Charting:
fig, content = charting_function(**kwargs)
fig = self._set_chart_style(fig)
content = fig.show(external=True, **kwargs).to_plotly_json()
self._obbject.chart = Chart(fig=fig, content=content)
self._obbject.chart = Chart(fig=fig, content=content, format=self._format)
if render:
fig.show(**kwargs)
except Exception: # pylint: disable=W0718
@@ -369,7 +370,9 @@ class Charting:
fig = self.create_line_chart(data=self._obbject.results, render=False, **kwargs) # type: ignore
fig = self._set_chart_style(fig)
content = fig.show(external=True, **kwargs).to_plotly_json() # type: ignore
self._obbject.chart = Chart(fig=fig, content=content)
self._obbject.chart = Chart(
fig=fig, content=content, format=self._format
)
if render:
return fig.show(**kwargs) # type: ignore
except Exception as e:
@@ -480,7 +483,9 @@ class Charting:
fig = self.create_line_chart(data=data_as_df, render=False, **kwargs)
fig = self._set_chart_style(fig)
content = fig.show(external=True, **kwargs).to_plotly_json() # type: ignore
self._obbject.chart = Chart(fig=fig, content=content)
self._obbject.chart = Chart(
fig=fig, content=content, format=self._format
)
if render:
return fig.show(**kwargs) # type: ignore
except Exception as e: # pylint: disable=W0718