diff --git a/tests/data/test_dataprovider.py b/tests/data/test_dataprovider.py index c8a801744..97d5c29d8 100644 --- a/tests/data/test_dataprovider.py +++ b/tests/data/test_dataprovider.py @@ -61,6 +61,42 @@ def test_historic_ohlcv(mocker, default_conf, ohlcv_history): assert historymock.call_args_list[0][1]["timeframe"] == "5m" +def test_historic_trades(mocker, default_conf, trades_history_df): + historymock = MagicMock(return_value=trades_history_df) + mocker.patch( + "freqtrade.data.history.datahandlers.featherdatahandler.FeatherDataHandler._trades_load", + historymock + ) + + dp = DataProvider(default_conf, None) + # Live mode.. + with pytest.raises(OperationalException, match=r"Exchange is not available to DataProvider\."): + dp.trades("UNITTEST/BTC", "5m") + + exchange = get_patched_exchange(mocker, default_conf) + dp = DataProvider(default_conf, exchange) + data = dp.trades("UNITTEST/BTC", "5m") + + assert isinstance(data, DataFrame) + assert len(data) == 0 + + # Switch to backtest mode + default_conf['runmode'] = RunMode.BACKTEST + default_conf['dataformat_trades'] = 'feather' + exchange = get_patched_exchange(mocker, default_conf) + dp = DataProvider(default_conf, exchange) + data = dp.trades("UNITTEST/BTC", "5m") + assert isinstance(data, DataFrame) + assert len(data) == len(trades_history_df) + + # Random other runmode + default_conf['runmode'] = RunMode.UTIL_EXCHANGE + dp = DataProvider(default_conf, None) + data = dp.trades("UNITTEST/BTC", "5m") + assert isinstance(data, DataFrame) + assert len(data) == 0 + + def test_historic_ohlcv_dataformat(mocker, default_conf, ohlcv_history): hdf5loadmock = MagicMock(return_value=ohlcv_history) featherloadmock = MagicMock(return_value=ohlcv_history)