diff --git a/freqtrade/tests/exchange/test_exchange.py b/freqtrade/tests/exchange/test_exchange.py index 9d1b284e9..84e3448ed 100644 --- a/freqtrade/tests/exchange/test_exchange.py +++ b/freqtrade/tests/exchange/test_exchange.py @@ -280,9 +280,9 @@ def test_get_name(default_conf, mocker): def test_get_fee(default_conf, mocker): api_mock = MagicMock() - api_mock.calculate_fee = MagicMock(return_value={'type': 'taker', 'currency': 'BTC', 'rate': 0.001, 'cost': 0.002}) + api_mock.calculate_fee = MagicMock(return_value={'type': 'taker', 'currency': 'BTC', 'rate': 0.025, 'cost': 0.05}) mocker.patch('freqtrade.exchange._API', api_mock) - assert get_fee() == 0.001 + assert get_fee() == 0.025 # TODO: disable until caching implemented diff --git a/freqtrade/tests/optimize/test_backtesting.py b/freqtrade/tests/optimize/test_backtesting.py index 6ac23f6db..3fb987248 100644 --- a/freqtrade/tests/optimize/test_backtesting.py +++ b/freqtrade/tests/optimize/test_backtesting.py @@ -47,7 +47,9 @@ def test_get_timeframe(default_strategy): def test_backtest(default_strategy, default_conf, mocker): mocker.patch.dict('freqtrade.main._CONF', default_conf) - exchange._API = ccxt.binance({'key': '', 'secret': ''}) + mocker.patch.multiple('freqtrade.optimize.backtesting.exchange', + get_fee=MagicMock(return_value=0.0025)) + exchange._API = ccxt.binance() data = optimize.load_data(None, ticker_interval=5, pairs=['ETH/BTC']) data = trim_dictlist(data, -200) @@ -60,7 +62,9 @@ def test_backtest(default_strategy, default_conf, mocker): def test_backtest_1min_ticker_interval(default_strategy, default_conf, mocker): mocker.patch.dict('freqtrade.main._CONF', default_conf) - exchange._API = ccxt.binance({'key': '', 'secret': ''}) + mocker.patch.multiple('freqtrade.optimize.backtesting.exchange', + get_fee=MagicMock(return_value=0.0025)) + exchange._API = ccxt.binance() # Run a backtesting for an exiting 5min ticker_interval data = optimize.load_data(None, ticker_interval=1, pairs=['UNITTEST/BTC']) @@ -133,6 +137,8 @@ def simple_backtest(config, contour, num_results): def test_backtest2(default_conf, mocker, default_strategy): mocker.patch.dict('freqtrade.main._CONF', default_conf) + mocker.patch.multiple('freqtrade.optimize.backtesting.exchange', + get_fee=MagicMock(return_value=0.0025)) data = optimize.load_data(None, ticker_interval=5, pairs=['ETH/BTC']) data = trim_dictlist(data, -200) results = backtest({'stake_amount': default_conf['stake_amount'], @@ -156,6 +162,8 @@ def test_processed(default_conf, mocker, default_strategy): def test_backtest_pricecontours(default_conf, mocker, default_strategy): mocker.patch.dict('freqtrade.main._CONF', default_conf) + mocker.patch.multiple('freqtrade.optimize.backtesting.exchange', + get_fee=MagicMock(return_value=0.0025)) tests = [['raise', 17], ['lower', 0], ['sine', 17]] for [contour, numres] in tests: simple_backtest(default_conf, contour, numres) diff --git a/freqtrade/tests/rpc/test_rpc_telegram.py b/freqtrade/tests/rpc/test_rpc_telegram.py index 930f558ec..23bde2404 100644 --- a/freqtrade/tests/rpc/test_rpc_telegram.py +++ b/freqtrade/tests/rpc/test_rpc_telegram.py @@ -164,6 +164,7 @@ def test_profit_handle( send_msg=msg_mock) mocker.patch.multiple('freqtrade.main.exchange', validate_pairs=MagicMock(), + get_fee=MagicMock(return_value=0.0025), get_ticker=ticker) mocker.patch.multiple('freqtrade.fiat_convert.Pymarketcap', ticker=MagicMock(return_value={'price_usd': 15000.0}), @@ -219,6 +220,7 @@ def test_forcesell_handle(default_conf, update, ticker, ticker_sell_up, mocker): send_msg=MagicMock()) mocker.patch.multiple('freqtrade.main.exchange', validate_pairs=MagicMock(), + get_fee=MagicMock(return_value=0.0025), get_ticker=ticker) mocker.patch('freqtrade.fiat_convert.CryptoToFiatConverter._find_price', return_value=15000.0) init(default_conf, create_engine('sqlite://')) @@ -232,6 +234,7 @@ def test_forcesell_handle(default_conf, update, ticker, ticker_sell_up, mocker): # Increase the price and sell it mocker.patch.multiple('freqtrade.main.exchange', validate_pairs=MagicMock(), + get_fee=MagicMock(return_value=0.0025), get_ticker=ticker_sell_up) update.message.text = '/forcesell 1' @@ -256,6 +259,7 @@ def test_forcesell_down_handle(default_conf, update, ticker, ticker_sell_down, m send_msg=MagicMock()) mocker.patch.multiple('freqtrade.main.exchange', validate_pairs=MagicMock(), + get_fee=MagicMock(return_value=0.0025), get_ticker=ticker) mocker.patch('freqtrade.fiat_convert.CryptoToFiatConverter._find_price', return_value=15000.0) init(default_conf, create_engine('sqlite://')) @@ -266,6 +270,7 @@ def test_forcesell_down_handle(default_conf, update, ticker, ticker_sell_down, m # Decrease the price and sell it mocker.patch.multiple('freqtrade.main.exchange', validate_pairs=MagicMock(), + get_fee=MagicMock(return_value=0.0025), get_ticker=ticker_sell_down) trade = Trade.query.first() @@ -317,6 +322,7 @@ def test_forcesell_all_handle(default_conf, update, ticker, mocker): send_msg=MagicMock()) mocker.patch.multiple('freqtrade.main.exchange', validate_pairs=MagicMock(), + get_fee=MagicMock(return_value=0.0025), get_ticker=ticker) mocker.patch('freqtrade.fiat_convert.CryptoToFiatConverter._find_price', return_value=15000.0) init(default_conf, create_engine('sqlite://')) @@ -384,6 +390,7 @@ def test_performance_handle( send_msg=msg_mock) mocker.patch.multiple('freqtrade.main.exchange', validate_pairs=MagicMock(), + get_fee=MagicMock(return_value=0.0025), get_ticker=ticker) init(default_conf, create_engine('sqlite://')) @@ -417,6 +424,7 @@ def test_daily_handle(default_conf, update, ticker, limit_buy_order, limit_sell_ send_msg=msg_mock) mocker.patch.multiple('freqtrade.main.exchange', validate_pairs=MagicMock(), + get_fee=MagicMock(return_value=0.0025), get_ticker=ticker) mocker.patch.multiple('freqtrade.fiat_convert.Pymarketcap', ticker=MagicMock(return_value={'price_usd': 15000.0}), diff --git a/freqtrade/tests/test_main.py b/freqtrade/tests/test_main.py index c941e9f95..5bd170a5c 100644 --- a/freqtrade/tests/test_main.py +++ b/freqtrade/tests/test_main.py @@ -281,6 +281,7 @@ def test_handle_trade(default_conf, limit_buy_order, limit_sell_order, mocker): 'ask': 0.00001173, 'last': 0.00001172 }), + get_fee=MagicMock(return_value=0.0025), buy=MagicMock(return_value='mocked_limit_buy'), sell=MagicMock(return_value='mocked_limit_sell')) mocker.patch.multiple('freqtrade.fiat_convert.Pymarketcap', @@ -598,6 +599,7 @@ def test_execute_sell_up(default_conf, ticker, ticker_sell_up, mocker): rpc_mock = mocker.patch('freqtrade.main.rpc.send_msg', MagicMock()) mocker.patch.multiple('freqtrade.main.exchange', validate_pairs=MagicMock(), + get_fee=MagicMock(return_value=0.0025), get_ticker=ticker) mocker.patch('freqtrade.fiat_convert.CryptoToFiatConverter._find_price', return_value=15000.0) init(default_conf, create_engine('sqlite://')) @@ -611,6 +613,7 @@ def test_execute_sell_up(default_conf, ticker, ticker_sell_up, mocker): # Increase the price and sell it mocker.patch.multiple('freqtrade.main.exchange', validate_pairs=MagicMock(), + get_fee=MagicMock(return_value=0.0025), get_ticker=ticker_sell_up) execute_sell(trade=trade, limit=ticker_sell_up()['bid']) @@ -636,6 +639,7 @@ def test_execute_sell_down(default_conf, ticker, ticker_sell_down, mocker): send_msg=MagicMock()) mocker.patch.multiple('freqtrade.main.exchange', validate_pairs=MagicMock(), + get_fee=MagicMock(return_value=0.0025), get_ticker=ticker) mocker.patch('freqtrade.fiat_convert.CryptoToFiatConverter._find_price', return_value=15000.0) init(default_conf, create_engine('sqlite://')) @@ -669,6 +673,7 @@ def test_execute_sell_without_conf_sell_down(default_conf, ticker, ticker_sell_d rpc_mock = mocker.patch('freqtrade.main.rpc.send_msg', MagicMock()) mocker.patch.multiple('freqtrade.main.exchange', validate_pairs=MagicMock(), + get_fee=MagicMock(return_value=0.0025), get_ticker=ticker) init(default_conf, create_engine('sqlite://')) @@ -681,6 +686,7 @@ def test_execute_sell_without_conf_sell_down(default_conf, ticker, ticker_sell_d # Decrease the price and sell it mocker.patch.multiple('freqtrade.main.exchange', validate_pairs=MagicMock(), + get_fee=MagicMock(return_value=0.0025), get_ticker=ticker_sell_down) mocker.patch('freqtrade.main._CONF', {}) @@ -700,6 +706,7 @@ def test_execute_sell_without_conf_sell_up(default_conf, ticker, ticker_sell_up, rpc_mock = mocker.patch('freqtrade.main.rpc.send_msg', MagicMock()) mocker.patch.multiple('freqtrade.main.exchange', validate_pairs=MagicMock(), + get_fee=MagicMock(return_value=0.0025), get_ticker=ticker) init(default_conf, create_engine('sqlite://')) @@ -712,6 +719,7 @@ def test_execute_sell_without_conf_sell_up(default_conf, ticker, ticker_sell_up, # Increase the price and sell it mocker.patch.multiple('freqtrade.main.exchange', validate_pairs=MagicMock(), + get_fee=MagicMock(return_value=0.0025), get_ticker=ticker_sell_up) mocker.patch('freqtrade.main._CONF', {}) @@ -743,6 +751,7 @@ def test_sell_profit_only_enable_profit(default_conf, limit_buy_order, mocker): 'ask': 0.00002173, 'last': 0.00002172 }), + get_fee=MagicMock(return_value=0.0025), buy=MagicMock(return_value='mocked_limit_buy')) init(default_conf, create_engine('sqlite://')) @@ -771,6 +780,7 @@ def test_sell_profit_only_disable_profit(default_conf, limit_buy_order, mocker): 'ask': 0.00002173, 'last': 0.00002172 }), + get_fee=MagicMock(return_value=0.0025), buy=MagicMock(return_value='mocked_limit_buy')) init(default_conf, create_engine('sqlite://')) @@ -799,6 +809,7 @@ def test_sell_profit_only_enable_loss(default_conf, limit_buy_order, mocker): 'ask': 0.00000173, 'last': 0.00000172 }), + get_fee=MagicMock(return_value=0.0025), buy=MagicMock(return_value='mocked_limit_buy')) init(default_conf, create_engine('sqlite://')) @@ -827,6 +838,7 @@ def test_sell_profit_only_disable_loss(default_conf, limit_buy_order, mocker): 'ask': 0.00000173, 'last': 0.00000172 }), + get_fee=MagicMock(return_value=0.0025), buy=MagicMock(return_value='mocked_limit_buy')) init(default_conf, create_engine('sqlite://'))