import sys import os sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../..'))) import pytest from unittest.mock import patch from utils import currency_utils def test_get_usd_sgd_rate_success(): with patch('yfinance.download') as mock_download: import pandas as pd df = pd.DataFrame({'Close': [1.3, 1.35]}, index=pd.date_range('2020-01-01', periods=2)) mock_download.return_value = df rate = currency_utils.get_usd_sgd_rate() assert rate == 1.35 def test_get_usd_sgd_rate_fail(): with patch('yfinance.download') as mock_download: mock_download.side_effect = Exception('fail') rate = currency_utils.get_usd_sgd_rate() assert rate == 1.0