Files
freqtrade/tests/persistence/test_trade_custom_data.py
2024-02-13 07:10:11 +01:00

35 lines
1.2 KiB
Python

import pytest
from sqlalchemy import select
from freqtrade.persistence import Trade
from tests.conftest import create_mock_trades_usdt
@pytest.mark.usefixtures("init_persistence")
def test_trade_custom_data(fee):
create_mock_trades_usdt(fee)
trade1 = Trade.session.scalars(select(Trade)).first()
assert trade1.get_all_custom_data() == []
trade1.set_custom_data('test_str', 'test_value')
trade1.set_custom_data('test_int', 1)
trade1.set_custom_data('test_float', 1.55)
trade1.set_custom_data('test_bool', True)
trade1.set_custom_data('test_dict', {'test': 'dict'})
assert trade1.get_custom_data('test_str') == 'test_value'
assert trade1.get_custom_data('test_int') == 1
assert isinstance(trade1.get_custom_data('test_int'), int)
assert trade1.get_custom_data('test_float') == 1.55
assert isinstance(trade1.get_custom_data('test_float'), float)
assert trade1.get_custom_data('test_bool') is True
assert isinstance(trade1.get_custom_data('test_bool'), bool)
assert trade1.get_custom_data('test_dict') == {'test': 'dict'}
assert isinstance(trade1.get_custom_data('test_dict'), dict)
assert len(trade1.get_all_custom_data()) == 5