Coverage for src/app/controllers/update_message_rating_controller.py: 100%

12 statements  

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

1from dto.message_dto import MessageDTO 

2from models.message_model import MessageModel 

3from usecases.update_message_rating_useCase import UpdateMessageRatingUseCase 

4 

5class UpdateMessageRatingController: 

6 """ 

7 Controller for updating the rating of a message. 

8 """ 

9 

10 def __init__(self, update_message_rating_usecase: UpdateMessageRatingUseCase): 

11 self.update_message_rating_usecase = update_message_rating_usecase 

12 

13 def update_message_rating(self, message_dto: MessageDTO) -> bool: 

14 """ 

15 Updates the rating of a message in the database. 

16 

17 Args: 

18 message_dto (MessageDTO): The data transfer object containing message details. 

19 Returns: 

20 bool: True if the rating was successfully updated, False otherwise. 

21 """ 

22 try: 

23 message_model = MessageModel( 

24 id=message_dto.get_id(), 

25 rating=message_dto.get_rating(), 

26 ) 

27 

28 return self.update_message_rating_usecase.update_message_rating(message_model) 

29 

30 except Exception as e: 

31 raise e