Add initial plotting test
This commit is contained in:
52
freqtrade/tests/test_plotting.py
Normal file
52
freqtrade/tests/test_plotting.py
Normal file
@@ -0,0 +1,52 @@
|
||||
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
import plotly.graph_objs as go
|
||||
|
||||
from freqtrade.arguments import Arguments, TimeRange
|
||||
from freqtrade.data import history
|
||||
from freqtrade.plot.plotting import (generate_graph, generate_plot_file,
|
||||
generate_row, plot_trades)
|
||||
|
||||
|
||||
def fig_generating_mock(fig, *args, **kwargs):
|
||||
""" Return Fig - used to mock generate_row and plot_trades"""
|
||||
return fig
|
||||
|
||||
|
||||
def test_generate_row():
|
||||
# TODO: implement me
|
||||
pass
|
||||
|
||||
|
||||
def test_plot_trades():
|
||||
# TODO: implement me
|
||||
pass
|
||||
|
||||
|
||||
def test_generate_graph(default_conf, mocker):
|
||||
row_mock = mocker.patch('freqtrade.plot.plotting.generate_row',
|
||||
MagicMock(side_effect=fig_generating_mock))
|
||||
trades_mock = mocker.patch('freqtrade.plot.plotting.plot_trades',
|
||||
MagicMock(side_effect=fig_generating_mock))
|
||||
|
||||
timerange = TimeRange(None, 'line', 0, -100)
|
||||
data = history.load_pair_history(pair='UNITTEST/BTC', ticker_interval='1m',
|
||||
datadir=None, timerange=timerange)
|
||||
|
||||
indicators1 = []
|
||||
indicators2 = []
|
||||
fig = generate_graph(pair="UNITTEST/BTC", data=data, trades=None,
|
||||
indicators1=indicators1, indicators2=indicators2)
|
||||
assert isinstance(fig, go.Figure)
|
||||
assert fig.layout.title.text == "UNITTEST/BTC"
|
||||
figure = fig.layout.figure
|
||||
# Candlesticks are plotted first
|
||||
assert isinstance(figure.data[0], go.Candlestick)
|
||||
assert figure.data[0].name == "Price"
|
||||
|
||||
assert isinstance(figure.data[1], go.Bar)
|
||||
assert figure.data[1].name == "Volume"
|
||||
|
||||
assert row_mock.call_count == 2
|
||||
assert trades_mock.call_count == 1
|
Reference in New Issue
Block a user