diff --git a/src/pyOutlook/core/folder.py b/src/pyOutlook/core/folder.py index af0238a..63538c6 100644 --- a/src/pyOutlook/core/folder.py +++ b/src/pyOutlook/core/folder.py @@ -86,7 +86,8 @@ def _json_to_folder(cls, account, json_value: dict) -> 'Folder': :rtype: Folder """ from pyOutlook.services.folder import FolderService - return FolderService._json_to_folder(account, json_value) + service = FolderService(account) + return service._json_to_folder(json_value) @classmethod def _json_to_folders(cls, account, json_value: dict) -> list['Folder']: @@ -105,7 +106,8 @@ def _json_to_folders(cls, account, json_value: dict) -> list['Folder']: :rtype: list[Folder] """ from pyOutlook.services.folder import FolderService - return FolderService._json_to_folders(account, json_value) + service = FolderService(account) + return service._json_to_folders(json_value) def rename(self, new_folder_name: str) -> 'Folder': """Renames the folder to the provided name. diff --git a/tests/core/test_folder.py b/tests/core/test_folder.py index 1703f42..9f5b00b 100644 --- a/tests/core/test_folder.py +++ b/tests/core/test_folder.py @@ -80,11 +80,13 @@ def test_headers__with_different_token(self): def test_json_to_folder__delegates_to_folder_service(self, mock_folder_service): """Test that _json_to_folder delegates to FolderService""" mock_json = {'Id': 'test_id', 'DisplayName': 'Test'} - mock_folder_service._json_to_folder.return_value = self.test_folder + mock_service_instance = mock_folder_service.return_value + mock_service_instance._json_to_folder.return_value = self.test_folder result = Folder._json_to_folder(self.mock_account, mock_json) - mock_folder_service._json_to_folder.assert_called_once_with(self.mock_account, mock_json) + mock_folder_service.assert_called_once_with(self.mock_account) + mock_service_instance._json_to_folder.assert_called_once_with(mock_json) self.assertEqual(result, self.test_folder) @patch('pyOutlook.services.folder.FolderService') @@ -92,11 +94,13 @@ def test_json_to_folders__delegates_to_folder_service(self, mock_folder_service) """Test that _json_to_folders delegates to FolderService""" mock_json = {'value': [{'Id': 'test_id', 'DisplayName': 'Test'}]} mock_folders = [self.test_folder] - mock_folder_service._json_to_folders.return_value = mock_folders + mock_service_instance = mock_folder_service.return_value + mock_service_instance._json_to_folders.return_value = mock_folders result = Folder._json_to_folders(self.mock_account, mock_json) - mock_folder_service._json_to_folders.assert_called_once_with(self.mock_account, mock_json) + mock_folder_service.assert_called_once_with(self.mock_account) + mock_service_instance._json_to_folders.assert_called_once_with(mock_json) self.assertEqual(result, mock_folders) @patch('pyOutlook.core.folder.requests.patch')