Coverage for src/app/controllers/get_dashboard_metrics_controller.py: 58%
12 statements
« prev ^ index » next coverage.py v7.7.0, created at 2025-04-03 00:51 +0200
« prev ^ index » next coverage.py v7.7.0, created at 2025-04-03 00:51 +0200
1from usecases.get_dashboard_metrics_useCase import GetDashboardMetricsUseCase
2from dto.metrics_dto import MetricsDTO
3from models.message_model import MessageModel
5class GetDashboardMetricsController:
7 def __init__(self, get_dashboard_metrics_use_case: GetDashboardMetricsUseCase):
8 self.get_dashboard_metrics_use_case = get_dashboard_metrics_use_case
10 def get_dashboard_metrics(self) -> MetricsDTO:
11 """
12 Get dashboard metrics.
13 Returns:
14 MetricsDTO: An object containing the dashboard metrics.
15 """
16 try:
17 metrics_result = self.get_dashboard_metrics_use_case.get_dashboard_metrics()
19 return MetricsDTO(
20 total_likes=metrics_result.get_total_likes(),
21 total_dislikes=metrics_result.get_total_dislikes(),
22 total_messages=metrics_result.get_total_messages(),
23 positive_rating=metrics_result.get_positive_rating()
24 )
26 except Exception as e:
27 raise e