Coverage for src/app/controllers/save_conversation_title_controller.py: 58%

12 statements  

« prev     ^ index     » next       coverage.py v7.7.0, created at 2025-04-03 00:51 +0200

1from usecases.save_conversation_title_useCase import SaveConversationTitleUseCase 

2from dto.conversation_dto import ConversationDTO 

3from models.conversation_model import ConversationModel 

4 

5class SaveConversationTitleController: 

6 

7 def __init__(self, save_conversation_title_usecase: SaveConversationTitleUseCase): 

8 self.save_conversation_title_usecase = save_conversation_title_usecase 

9 

10 def save_conversation_title(self, conversation_dto: ConversationDTO) -> int: 

11 """ 

12 Save a conversation title to the database. 

13 Args: 

14 conversation (ConversationDTO): The data transfer object containing conversation details. 

15 Returns: 

16 int: The ID of the saved conversation. 

17 """ 

18 try: 

19 conversation_model = ConversationModel( 

20 id=conversation_dto.get_id(), 

21 title=conversation_dto.get_title(), 

22 user_id=conversation_dto.get_user_id() 

23 ) 

24 

25 return self.save_conversation_title_usecase.save_conversation_title(conversation_model) 

26 

27 except Exception as e: 

28 raise e