import numpy as np import plotly.graph_objects as go import pytest from reflex.utils.serializers import serialize, serialize_figure @pytest.fixture def plotly_fig() -> go.Figure: """Get a plotly figure. Returns: A random plotly figure. """ # Generate random data. data = np.random.randint(0, 10, size=(10, 4)) trace = go.Scatter( x=list(range(len(data))), y=data[:, 0], mode="lines", name="Trace 1" ) # Create a graph. return go.Figure(data=[trace]) def test_serialize_plotly(plotly_fig: go.Figure): """Test that serializing a plotly figure works. Args: plotly_fig: The figure to serialize. """ value = serialize(plotly_fig) assert isinstance(value, list) assert value == serialize_figure(plotly_fig)