def test_plot_profit(default_conf, mocker, testdatadir, caplog): default_conf['trade_source'] = 'file' default_conf['datadir'] = testdatadir default_conf[ 'exportfilename'] = testdatadir / 'backtest-result_test_nofile.json' default_conf['pairs'] = ['ETH/BTC', 'LTC/BTC'] profit_mock = MagicMock() store_mock = MagicMock() mocker.patch.multiple("freqtrade.plot.plotting", generate_profit_graph=profit_mock, store_plot_file=store_mock) with pytest.raises( OperationalException, match=r"No trades found, cannot generate Profit-plot.*"): plot_profit(default_conf) default_conf['exportfilename'] = testdatadir / "backtest-result_test.json" plot_profit(default_conf) # Plot-profit generates one combined plot assert profit_mock.call_count == 1 assert store_mock.call_count == 1 assert profit_mock.call_args_list[0][0][0] == default_conf['pairs'] assert store_mock.call_args_list[0][1]['auto_open'] is True
def start_plot_profit(args: Dict[str, Any]) -> None: """ Entrypoint for plot_profit """ # Import here to avoid errors if plot-dependencies are not installed. from freqtrade.plot.plotting import plot_profit validate_plot_args(args) config = setup_utils_configuration(args, RunMode.PLOT) plot_profit(config)
def test_plot_profit(default_conf, mocker, testdatadir, caplog): default_conf['trade_source'] = 'file' default_conf["datadir"] = testdatadir default_conf['exportfilename'] = testdatadir / "backtest-result_test.json" default_conf['pairs'] = ["ETH/BTC", "LTC/BTC"] profit_mock = MagicMock() store_mock = MagicMock() mocker.patch.multiple("freqtrade.plot.plotting", generate_profit_graph=profit_mock, store_plot_file=store_mock) plot_profit(default_conf) # Plot-profit generates one combined plot assert profit_mock.call_count == 1 assert store_mock.call_count == 1 assert profit_mock.call_args_list[0][0][0] == default_conf['pairs'] assert store_mock.call_args_list[0][1]['auto_open'] is True