brighter-trading/tests/test_BrighterTrades.py

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()