tests fixed
This commit is contained in:
parent
27a6dcf3fc
commit
a9f04609d3
@ -337,8 +337,6 @@ class FreqtradeBot(object):
|
||||
else:
|
||||
stake_amount = self.config['stake_amount']
|
||||
|
||||
# TODO: should come from the wallet
|
||||
#avaliable_amount = self.exchange.get_balance(self.config['stake_currency'])
|
||||
avaliable_amount = self.wallets.wallets[self.config['stake_currency']].free
|
||||
|
||||
if stake_amount == constants.UNLIMITED_STAKE_AMOUNT:
|
||||
|
@ -14,6 +14,7 @@ from telegram import Chat, Message, Update
|
||||
from freqtrade.exchange.exchange_helpers import parse_ticker_dataframe
|
||||
from freqtrade.exchange import Exchange
|
||||
from freqtrade.edge import Edge
|
||||
from freqtrade.wallets import Wallet
|
||||
from freqtrade.freqtradebot import FreqtradeBot
|
||||
|
||||
logging.getLogger('').setLevel(logging.INFO)
|
||||
@ -45,6 +46,12 @@ def get_patched_exchange(mocker, config, api_mock=None) -> Exchange:
|
||||
return exchange
|
||||
|
||||
|
||||
def patch_wallet(mocker, currency='BTC', free=999.9) -> None:
|
||||
mocker.patch('freqtrade.wallets.Wallet', MagicMock(
|
||||
return_value=Wallet('bittrex', currency, free, 100, 1000)
|
||||
))
|
||||
|
||||
|
||||
def patch_edge(mocker) -> None:
|
||||
# "ETH/BTC",
|
||||
# "LTC/BTC",
|
||||
|
@ -18,7 +18,7 @@ from freqtrade.persistence import Trade
|
||||
from freqtrade.rpc import RPCMessageType
|
||||
from freqtrade.state import State
|
||||
from freqtrade.strategy.interface import SellType, SellCheckTuple
|
||||
from freqtrade.tests.conftest import log_has, patch_exchange, patch_edge
|
||||
from freqtrade.tests.conftest import log_has, patch_exchange, patch_edge, patch_wallet
|
||||
|
||||
|
||||
# Functions for recurrent object patching
|
||||
@ -188,10 +188,7 @@ def test_get_trade_stake_amount_no_stake_amount(default_conf,
|
||||
mocker) -> None:
|
||||
patch_RPCManager(mocker)
|
||||
patch_exchange(mocker)
|
||||
mocker.patch.multiple(
|
||||
'freqtrade.exchange.Exchange',
|
||||
get_balance=MagicMock(return_value=default_conf['stake_amount'] * 0.5)
|
||||
)
|
||||
patch_wallet(mocker, free=default_conf['stake_amount'] * 0.5)
|
||||
freqtrade = FreqtradeBot(default_conf)
|
||||
|
||||
with pytest.raises(DependencyException, match=r'.*stake amount.*'):
|
||||
@ -206,12 +203,12 @@ def test_get_trade_stake_amount_unlimited_amount(default_conf,
|
||||
mocker) -> None:
|
||||
patch_RPCManager(mocker)
|
||||
patch_exchange(mocker)
|
||||
patch_wallet(mocker, free=default_conf['stake_amount'])
|
||||
mocker.patch.multiple(
|
||||
'freqtrade.exchange.Exchange',
|
||||
validate_pairs=MagicMock(),
|
||||
get_ticker=ticker,
|
||||
buy=MagicMock(return_value={'id': limit_buy_order['id']}),
|
||||
get_balance=MagicMock(return_value=default_conf['stake_amount']),
|
||||
get_fee=fee,
|
||||
get_markets=markets
|
||||
)
|
||||
@ -521,11 +518,11 @@ def test_create_trade_no_stake_amount(default_conf, ticker, limit_buy_order,
|
||||
fee, markets, mocker) -> None:
|
||||
patch_RPCManager(mocker)
|
||||
patch_exchange(mocker)
|
||||
patch_wallet(mocker, free=default_conf['stake_amount'] * 0.5)
|
||||
mocker.patch.multiple(
|
||||
'freqtrade.exchange.Exchange',
|
||||
get_ticker=ticker,
|
||||
buy=MagicMock(return_value={'id': limit_buy_order['id']}),
|
||||
get_balance=MagicMock(return_value=default_conf['stake_amount'] * 0.5),
|
||||
get_fee=fee,
|
||||
get_markets=markets
|
||||
)
|
||||
|
@ -4,6 +4,7 @@ from unittest.mock import MagicMock
|
||||
|
||||
|
||||
def test_sync_wallet_at_boot(mocker, default_conf):
|
||||
default_conf['dry_run'] = False
|
||||
mocker.patch.multiple(
|
||||
'freqtrade.exchange.Exchange',
|
||||
get_balances=MagicMock(return_value={
|
||||
@ -58,6 +59,7 @@ def test_sync_wallet_at_boot(mocker, default_conf):
|
||||
|
||||
|
||||
def test_sync_wallet_missing_data(mocker, default_conf):
|
||||
default_conf['dry_run'] = False
|
||||
mocker.patch.multiple(
|
||||
'freqtrade.exchange.Exchange',
|
||||
get_balances=MagicMock(return_value={
|
||||
|
@ -26,7 +26,10 @@ class Wallets(object):
|
||||
|
||||
def __init__(self, exchange: Exchange) -> None:
|
||||
self.exchange = exchange
|
||||
self.wallets: Dict[str, Any] = {}
|
||||
if self.exchange._conf['dry_run']:
|
||||
self.wallets: Dict[str, Any] = {'BTC': Wallet('Bittrex', 'BTC', 999.99, 100, 1000)}
|
||||
else:
|
||||
self.wallets: Dict[str, Any] = {}
|
||||
self.update()
|
||||
|
||||
def update(self) -> None:
|
||||
|
Loading…
Reference in New Issue
Block a user