diff --git a/tests/conftest_trades_usdt.py b/tests/conftest_trades_usdt.py
index 6f83bb8be..cc1b1a206 100644
--- a/tests/conftest_trades_usdt.py
+++ b/tests/conftest_trades_usdt.py
@@ -95,13 +95,14 @@ def mock_trade_usdt_2(fee, is_short: bool):
fee_close=fee.return_value,
open_rate=2.0,
close_rate=2.05,
- close_profit=5.0,
+ close_profit=0.05,
close_profit_abs=3.9875,
exchange='binance',
is_open=False,
open_order_id=f'12366_{direc(is_short)}',
strategy='StrategyTestV2',
timeframe=5,
+ enter_tag='TEST1',
exit_reason='exit_signal',
open_date=datetime.now(tz=timezone.utc) - timedelta(minutes=20),
close_date=datetime.now(tz=timezone.utc) - timedelta(minutes=2),
@@ -157,12 +158,13 @@ def mock_trade_usdt_3(fee, is_short: bool):
fee_close=fee.return_value,
open_rate=1.0,
close_rate=1.1,
- close_profit=10.0,
+ close_profit=0.1,
close_profit_abs=9.8425,
exchange='binance',
is_open=False,
strategy='StrategyTestV2',
timeframe=5,
+ enter_tag='TEST3',
exit_reason='roi',
open_date=datetime.now(tz=timezone.utc) - timedelta(minutes=20),
close_date=datetime.now(tz=timezone.utc),
diff --git a/tests/rpc/test_rpc_telegram.py b/tests/rpc/test_rpc_telegram.py
index 355a8b078..48acda47e 100644
--- a/tests/rpc/test_rpc_telegram.py
+++ b/tests/rpc/test_rpc_telegram.py
@@ -679,7 +679,8 @@ def test_profit_handle(default_conf_usdt, update, ticker_usdt, ticker_sell_up, f
# Update the ticker with a market going up
mocker.patch('freqtrade.exchange.Exchange.fetch_ticker', ticker_sell_up)
# Simulate fulfilled LIMIT_SELL order for trade
- oobj = Order.parse_from_ccxt_object(limit_sell_order_usdt, limit_sell_order_usdt['symbol'], 'sell')
+ oobj = Order.parse_from_ccxt_object(
+ limit_sell_order_usdt, limit_sell_order_usdt['symbol'], 'sell')
trade.update_trade(oobj)
trade.close_date = datetime.now(timezone.utc)
@@ -1235,71 +1236,43 @@ def test_force_enter_no_pair(default_conf, update, mocker) -> None:
assert fbuy_mock.call_count == 1
-def test_telegram_performance_handle(default_conf, update, ticker, fee,
- limit_buy_order, limit_sell_order, mocker) -> None:
+def test_telegram_performance_handle(default_conf_usdt, update, ticker, fee, mocker) -> None:
mocker.patch.multiple(
'freqtrade.exchange.Exchange',
fetch_ticker=ticker,
get_fee=fee,
)
- telegram, freqtradebot, msg_mock = get_telegram_testobject(mocker, default_conf)
- patch_get_signal(freqtradebot)
+ telegram, freqtradebot, msg_mock = get_telegram_testobject(mocker, default_conf_usdt)
# Create some test data
- freqtradebot.enter_positions()
- trade = Trade.query.first()
- assert trade
+ create_mock_trades_usdt(fee)
- # Simulate fulfilled LIMIT_BUY order for trade
- oobj = Order.parse_from_ccxt_object(limit_buy_order, limit_buy_order['symbol'], 'buy')
- trade.update_trade(oobj)
-
- # Simulate fulfilled LIMIT_SELL order for trade
- oobj = Order.parse_from_ccxt_object(limit_sell_order, limit_sell_order['symbol'], 'sell')
- trade.update_trade(oobj)
-
- trade.close_date = datetime.utcnow()
- trade.is_open = False
telegram._performance(update=update, context=MagicMock())
assert msg_mock.call_count == 1
assert 'Performance' in msg_mock.call_args_list[0][0][0]
- assert 'ETH/BTC\t0.00006217 BTC (6.20%) (1)
' in msg_mock.call_args_list[0][0][0]
+ assert 'XRP/USDT\t9.842 USDT (10.00%) (1)
' in msg_mock.call_args_list[0][0][0]
def test_telegram_entry_tag_performance_handle(
- default_conf, update, ticker, fee, limit_buy_order, limit_sell_order, mocker) -> None:
+ default_conf_usdt, update, ticker, fee, mocker) -> None:
mocker.patch.multiple(
'freqtrade.exchange.Exchange',
fetch_ticker=ticker,
get_fee=fee,
)
- telegram, freqtradebot, msg_mock = get_telegram_testobject(mocker, default_conf)
+ telegram, freqtradebot, msg_mock = get_telegram_testobject(mocker, default_conf_usdt)
patch_get_signal(freqtradebot)
- # Create some test data
- freqtradebot.enter_positions()
- trade = Trade.query.first()
- assert trade
+ create_mock_trades_usdt(fee)
- # Simulate fulfilled LIMIT_BUY order for trade
- oobj = Order.parse_from_ccxt_object(limit_buy_order, limit_buy_order['symbol'], 'buy')
- trade.update_trade(oobj)
-
- trade.enter_tag = "TESTBUY"
- # Simulate fulfilled LIMIT_SELL order for trade
- oobj = Order.parse_from_ccxt_object(limit_sell_order, limit_sell_order['symbol'], 'sell')
- trade.update_trade(oobj)
-
- trade.close_date = datetime.utcnow()
- trade.is_open = False
context = MagicMock()
telegram._enter_tag_performance(update=update, context=context)
assert msg_mock.call_count == 1
assert 'Entry Tag Performance' in msg_mock.call_args_list[0][0][0]
- assert 'TESTBUY\t0.00006217 BTC (6.20%) (1)
' in msg_mock.call_args_list[0][0][0]
+ assert 'TEST1\t3.987 USDT (5.00%) (1)
' in msg_mock.call_args_list[0][0][0]
- context.args = [trade.pair]
+ context.args = ['XRP/USDT']
telegram._enter_tag_performance(update=update, context=context)
assert msg_mock.call_count == 2
@@ -1312,37 +1285,24 @@ def test_telegram_entry_tag_performance_handle(
assert "Error" in msg_mock.call_args_list[0][0][0]
-def test_telegram_exit_reason_performance_handle(default_conf, update, ticker, fee,
- limit_buy_order, limit_sell_order, mocker) -> None:
+def test_telegram_exit_reason_performance_handle(default_conf_usdt, update, ticker, fee,
+ mocker) -> None:
mocker.patch.multiple(
'freqtrade.exchange.Exchange',
fetch_ticker=ticker,
get_fee=fee,
)
- telegram, freqtradebot, msg_mock = get_telegram_testobject(mocker, default_conf)
+ telegram, freqtradebot, msg_mock = get_telegram_testobject(mocker, default_conf_usdt)
patch_get_signal(freqtradebot)
- # Create some test data
- freqtradebot.enter_positions()
- trade = Trade.query.first()
- assert trade
- trade.exit_reason = 'TESTSELL'
- # Simulate fulfilled LIMIT_BUY order for trade
- oobj = Order.parse_from_ccxt_object(limit_buy_order, limit_buy_order['symbol'], 'buy')
- trade.update_trade(oobj)
+ create_mock_trades_usdt(fee)
- # Simulate fulfilled LIMIT_SELL order for trade
- oobj = Order.parse_from_ccxt_object(limit_sell_order, limit_sell_order['symbol'], 'sell')
- trade.update_trade(oobj)
-
- trade.close_date = datetime.utcnow()
- trade.is_open = False
context = MagicMock()
telegram._exit_reason_performance(update=update, context=context)
assert msg_mock.call_count == 1
assert 'Exit Reason Performance' in msg_mock.call_args_list[0][0][0]
- assert 'TESTSELL\t0.00006217 BTC (6.20%) (1)
' in msg_mock.call_args_list[0][0][0]
- context.args = [trade.pair]
+ assert 'roi\t9.842 USDT (10.00%) (1)
' in msg_mock.call_args_list[0][0][0]
+ context.args = ['XRP/USDT']
telegram._exit_reason_performance(update=update, context=context)
assert msg_mock.call_count == 2
@@ -1356,43 +1316,27 @@ def test_telegram_exit_reason_performance_handle(default_conf, update, ticker, f
assert "Error" in msg_mock.call_args_list[0][0][0]
-def test_telegram_mix_tag_performance_handle(default_conf, update, ticker, fee,
- limit_buy_order, limit_sell_order, mocker) -> None:
+def test_telegram_mix_tag_performance_handle(default_conf_usdt, update, ticker, fee,
+ mocker) -> None:
mocker.patch.multiple(
'freqtrade.exchange.Exchange',
fetch_ticker=ticker,
get_fee=fee,
)
- telegram, freqtradebot, msg_mock = get_telegram_testobject(mocker, default_conf)
+ telegram, freqtradebot, msg_mock = get_telegram_testobject(mocker, default_conf_usdt)
patch_get_signal(freqtradebot)
# Create some test data
- freqtradebot.enter_positions()
- trade = Trade.query.first()
- assert trade
-
- trade.enter_tag = "TESTBUY"
- trade.exit_reason = "TESTSELL"
-
- # Simulate fulfilled LIMIT_BUY order for trade
- oobj = Order.parse_from_ccxt_object(limit_buy_order, limit_buy_order['symbol'], 'buy')
- trade.update_trade(oobj)
-
- # Simulate fulfilled LIMIT_SELL order for trade
- oobj = Order.parse_from_ccxt_object(limit_sell_order, limit_sell_order['symbol'], 'sell')
- trade.update_trade(oobj)
-
- trade.close_date = datetime.utcnow()
- trade.is_open = False
+ create_mock_trades_usdt(fee)
context = MagicMock()
telegram._mix_tag_performance(update=update, context=context)
assert msg_mock.call_count == 1
assert 'Mix Tag Performance' in msg_mock.call_args_list[0][0][0]
- assert ('TESTBUY TESTSELL\t0.00006217 BTC (6.20%) (1)
'
+ assert ('TEST3 roi\t9.842 USDT (10.00%) (1)
'
in msg_mock.call_args_list[0][0][0])
- context.args = [trade.pair]
+ context.args = ['XRP/USDT']
telegram._mix_tag_performance(update=update, context=context)
assert msg_mock.call_count == 2