From 9721a612cdf686d85ced11e1bd24f6e9fcdd7ba4 Mon Sep 17 00:00:00 2001 From: AlanJaeger Date: Wed, 5 Jul 2023 17:13:38 -0300 Subject: [PATCH 1/2] feature: more unit tests for dashboard --- .../apps/dashboard/tests/test_serializers.py | 57 ++++++++++++------- 1 file changed, 35 insertions(+), 22 deletions(-) diff --git a/chats/apps/dashboard/tests/test_serializers.py b/chats/apps/dashboard/tests/test_serializers.py index 7ab7a5d3..d840a658 100644 --- a/chats/apps/dashboard/tests/test_serializers.py +++ b/chats/apps/dashboard/tests/test_serializers.py @@ -1,8 +1,9 @@ -from unittest.mock import patch - from django.test import TestCase -from chats.apps.api.v1.dashboard.serializers import DashboardRoomsSerializer +from chats.apps.api.v1.dashboard.serializers import ( + dashboard_general_data, + dashboard_agents_data, +) from chats.apps.projects.models import Project @@ -22,29 +23,41 @@ class SerializerTests(TestCase): def setUp(self): self.project = Project.objects.get(pk="34a93b52-231e-11ed-861d-0242ac120002") - @patch("chats.apps.api.v1.dashboard.serializers.get_redis_connection") - def test_init_function(self, mock): - """ - Verify if the init function its working properly. - """ - mock.return_value = RedisMock() - serializer = DashboardRoomsSerializer() - self.assertTrue(isinstance(serializer.redis_connection, RedisMock)) - def test_active_chats_function_passing_sector(self): - serializer = DashboardRoomsSerializer.get_active_chats( - self=DashboardRoomsSerializer( - context={ - "sector": "d49049f0-c601-4e05-a293-98c1dea5fe4f", - } - ), + serializer = dashboard_general_data( + context={"sector": "d49049f0-c601-4e05-a293-98c1dea5fe4f"}, project=self.project, ) - self.assertEqual(serializer, 0) + self.assertEqual(serializer["active_chats"], 0) def test_active_chats_function_without_filter(self): - serializer = DashboardRoomsSerializer.get_active_chats( - self=DashboardRoomsSerializer(context={}), + serializer = dashboard_general_data( + context={}, project=self.project, ) - self.assertEqual(serializer, 1) + self.assertEqual(serializer["active_chats"], 1) + + def test_returned_fields_from_dashboard_agent_serializer(self): + project = Project.objects.get(uuid="34a93b52-231e-11ed-861d-0242ac120002") + instance = dashboard_agents_data( + project=project, + context={"is_weni_admin": True}, + ) + self.assertEqual(list(instance[0].keys())[0], "first_name") + self.assertEqual(list(instance[0].keys())[1], "email") + self.assertEqual(list(instance[0].keys())[2], "agent_status") + self.assertEqual(list(instance[0].keys())[3], "closed_rooms") + self.assertEqual(list(instance[0].keys())[4], "opened_rooms") + + def test_field_value_from_dashboard_agent_serializer(self): + project = Project.objects.get(uuid="34a93b52-231e-11ed-861d-0242ac120002") + instance = dashboard_agents_data( + project=project, + context={"is_weni_admin": True}, + ) + + self.assertEqual(instance[0]["first_name"], "") + self.assertEqual(instance[0]["email"], "amywong@chats.weni.ai") + self.assertEqual(instance[0]["agent_status"], "OFFLINE") + self.assertEqual(instance[0]["closed_rooms"], 0) + self.assertEqual(instance[0]["opened_rooms"], 1) From 70e4a65fa8e98f277ff63be3b6f7a031f7351b62 Mon Sep 17 00:00:00 2001 From: AlanJaeger Date: Wed, 26 Jul 2023 17:39:20 -0300 Subject: [PATCH 2/2] feature: resolving duplicity in unit tests --- .../apps/dashboard/tests/test_serializers.py | 27 ------------------- 1 file changed, 27 deletions(-) diff --git a/chats/apps/dashboard/tests/test_serializers.py b/chats/apps/dashboard/tests/test_serializers.py index 147618cb..e8add10c 100644 --- a/chats/apps/dashboard/tests/test_serializers.py +++ b/chats/apps/dashboard/tests/test_serializers.py @@ -1,10 +1,8 @@ from django.test import TestCase - from chats.apps.api.v1.dashboard.serializers import ( dashboard_general_data, dashboard_agents_data, ) - from chats.apps.projects.models import Project @@ -50,31 +48,6 @@ def test_returned_fields_from_dashboard_agent_serializer(self): self.assertEqual(list(instance[0].keys())[3], "closed_rooms") self.assertEqual(list(instance[0].keys())[4], "opened_rooms") - def test_field_value_from_dashboard_agent_serializer(self): - project = Project.objects.get(uuid="34a93b52-231e-11ed-861d-0242ac120002") - instance = dashboard_agents_data( - project=project, - context={"is_weni_admin": True}, - ) - - self.assertEqual(instance[0]["first_name"], "") - self.assertEqual(instance[0]["email"], "amywong@chats.weni.ai") - self.assertEqual(instance[0]["agent_status"], "OFFLINE") - self.assertEqual(instance[0]["closed_rooms"], 0) - self.assertEqual(instance[0]["opened_rooms"], 1) - - def test_returned_fields_from_dashboard_agent_serializer(self): - project = Project.objects.get(uuid="34a93b52-231e-11ed-861d-0242ac120002") - instance = dashboard_agents_data( - project=project, - context={"is_weni_admin": True}, - ) - self.assertEqual(list(instance[0].keys())[0], "first_name") - self.assertEqual(list(instance[0].keys())[1], "email") - self.assertEqual(list(instance[0].keys())[2], "agent_status") - self.assertEqual(list(instance[0].keys())[3], "closed_rooms") - self.assertEqual(list(instance[0].keys())[4], "opened_rooms") - def test_field_value_from_dashboard_agent_serializer(self): project = Project.objects.get(uuid="34a93b52-231e-11ed-861d-0242ac120002") instance = dashboard_agents_data(