from django.test import TestCase from unittest.mock import patch, Mock # from data_pipeline.api_helper import MFList # class TestMFListExtract(TestCase): # @patch('requests.get') # def test_extract_successful_response(self, mock_get): # # Mock a successful response from the Morningstar API # mock_get.return_value = Mock(status_code=200, json=lambda: {'rows': [{'legalName': 'Test Fund 1', 'isin': '123456789012', 'secId': 'MST01234'}]}) # # Create an instance of the MFList class # mf_list = MFList() # # Call the extract method # mf_list.extract() # # Assert that the API response was set # self.assertIsNotNone(mf_list.api_response) # # Assert that the transformed data contains the extracted fund information # self.assertEqual(mf_list.transformed_data, [{'fund_name': 'Test Fund 1', 'isin_number': '123456789012', 'security_id': 'MST01234'}]) # @patch('requests.get') # def test_extract_unsuccessful_response(self, mock_get): # # Mock an unsuccessful response from the Morningstar API # mock_get.return_value = Mock(status_code=500, json=lambda: {'error': 'Internal Server Error'}) # # Create an instance of the MFList class # mf_list = MFList() # # Call the extract method # mf_list.extract() # # Assert that the API response was set # self.assertIsNone(mf_list.api_response)