From 35714c469b99b156ca45f522ec037b285472cb62 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 15 Jul 2023 17:12:29 +0200 Subject: [PATCH] Add explicit dry_wallet test --- tests/test_wallets.py | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/tests/test_wallets.py b/tests/test_wallets.py index c3ff4ccd0..478993058 100644 --- a/tests/test_wallets.py +++ b/tests/test_wallets.py @@ -8,7 +8,8 @@ from sqlalchemy import select from freqtrade.constants import UNLIMITED_STAKE_AMOUNT from freqtrade.exceptions import DependencyException from freqtrade.persistence import Trade -from tests.conftest import EXMS, create_mock_trades, get_patched_freqtradebot, patch_wallet +from tests.conftest import (EXMS, create_mock_trades, create_mock_trades_usdt, + get_patched_freqtradebot, patch_wallet) def test_sync_wallet_at_boot(mocker, default_conf): @@ -341,6 +342,33 @@ def test_sync_wallet_futures_live(mocker, default_conf): assert 'ETH/USDT:USDT' not in freqtrade.wallets._positions +def test_sync_wallet_dry(mocker, default_conf_usdt, fee): + default_conf_usdt['dry_run'] = True + freqtrade = get_patched_freqtradebot(mocker, default_conf_usdt) + assert len(freqtrade.wallets._wallets) == 1 + assert len(freqtrade.wallets._positions) == 0 + assert freqtrade.wallets.get_total('USDT') == 1000 + + create_mock_trades_usdt(fee, is_short=None) + + freqtrade.wallets.update() + + assert len(freqtrade.wallets._wallets) == 5 + assert len(freqtrade.wallets._positions) == 0 + bal = freqtrade.wallets.get_all_balances() + assert bal['NEO'].total == 10 + assert bal['XRP'].total == 10 + assert bal['LTC'].total == 2 + assert bal['USDT'].total == 922.74 + + assert freqtrade.wallets.get_starting_balance() == default_conf_usdt['dry_run_wallet'] + total = freqtrade.wallets.get_total('LTC') + free = freqtrade.wallets.get_free('LTC') + used = freqtrade.wallets.get_used('LTC') + assert free != 0 + assert free + used == total + + def test_sync_wallet_futures_dry(mocker, default_conf, fee): default_conf['dry_run'] = True default_conf['trading_mode'] = 'futures'