70 lines
3.3 KiB
Python
70 lines
3.3 KiB
Python
import unittest
|
|
from unittest.mock import patch, MagicMock
|
|
from src.BrighterTrades import BrighterTrades # Ensure you have the correct import path
|
|
|
|
|
|
class TestBrighterTrades(unittest.TestCase):
|
|
|
|
def setUp(self):
|
|
self.brighter_trades = BrighterTrades()
|
|
|
|
@patch('brighter_trades.Configuration')
|
|
def test_create_new_user(self, MockConfiguration):
|
|
mock_config = MockConfiguration.return_value
|
|
mock_config.users.create_new_user.return_value = True
|
|
mock_config.users.log_in_user.return_value = True
|
|
|
|
result = self.brighter_trades.create_new_user('test@example.com', 'testuser', 'password')
|
|
self.assertTrue(result)
|
|
mock_config.users.create_new_user.assert_called_with(email='test@example.com', username='testuser',
|
|
password='password')
|
|
mock_config.users.log_in_user.assert_called_with(username='testuser', password='password')
|
|
|
|
@patch('brighter_trades.Configuration')
|
|
def test_log_user_in_out_login(self, MockConfiguration):
|
|
mock_config = MockConfiguration.return_value
|
|
mock_config.users.log_in_user.return_value = True
|
|
|
|
result = self.brighter_trades.log_user_in_out('testuser', 'login', 'password')
|
|
self.assertTrue(result)
|
|
mock_config.users.log_in_user.assert_called_with(username='testuser', password='password')
|
|
|
|
@patch('brighter_trades.Configuration')
|
|
def test_log_user_in_out_logout(self, MockConfiguration):
|
|
mock_config = MockConfiguration.return_value
|
|
mock_config.users.log_out_user.return_value = True
|
|
|
|
result = self.brighter_trades.log_user_in_out('testuser', 'logout')
|
|
self.assertTrue(result)
|
|
mock_config.users.log_out_user.assert_called_with(username='testuser')
|
|
|
|
@patch('brighter_trades.Configuration')
|
|
def test_get_user_info(self, MockConfiguration):
|
|
mock_config = MockConfiguration.return_value
|
|
mock_config.users.get_chart_view.return_value = {'timeframe': '1d', 'exchange': 'binance', 'market': 'BTC/USDT'}
|
|
|
|
result = self.brighter_trades.get_user_info('testuser', 'Chart View')
|
|
self.assertEqual(result, {'timeframe': '1d', 'exchange': 'binance', 'market': 'BTC/USDT'})
|
|
mock_config.users.get_chart_view.assert_called_with(user_name='testuser')
|
|
|
|
@patch('brighter_trades.Candles')
|
|
@patch('brighter_trades.Configuration')
|
|
def test_get_market_info(self, MockConfiguration, MockCandles):
|
|
mock_candles = MockCandles.return_value
|
|
mock_candles.get_candle_history.return_value = [
|
|
{'open': 1, 'high': 2, 'low': 0.5, 'close': 1.5, 'volume': 1000}]
|
|
|
|
chart_view = {'market': 'BTC/USDT', 'timeframe': '1d', 'exchange': 'binance'}
|
|
result = self.brighter_trades.get_market_info('Candle History', chart_view=chart_view, num_records=10,
|
|
user_name='testuser')
|
|
|
|
self.assertEqual(result, [{'open': 1, 'high': 2, 'low': 0.5, 'close': 1.5, 'volume': 1000}])
|
|
mock_candles.get_candle_history.assert_called_with(num_records=10, symbol='BTC/USDT', interval='1d',
|
|
exchange_name='binance', user_name='testuser')
|
|
|
|
# Add more tests for other methods
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|