Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions src/pyOutlook/core/folder.py
Original file line number Diff line number Diff line change
Expand Up @@ -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']:
Expand All @@ -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.
Expand Down
12 changes: 8 additions & 4 deletions tests/core/test_folder.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,23 +80,27 @@ 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')
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')
Expand Down