From 74f8b1ce1fbad9c334e2a276b2d69b816869dcaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=BE=D0=BA=D1=83=D1=80=D0=BE=D0=B2=20=D0=98=D0=B4?= =?UTF-8?q?=D0=B0=D1=80?= Date: Thu, 13 May 2021 04:57:51 +0000 Subject: [PATCH] Add profile tests --- fixtures/profile.json | 59 ++++++++++++++++++++++++++++++++++++++++++ main/tests.py | 60 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 119 insertions(+) create mode 100644 fixtures/profile.json diff --git a/fixtures/profile.json b/fixtures/profile.json new file mode 100644 index 0000000..8ce02db --- /dev/null +++ b/fixtures/profile.json @@ -0,0 +1,59 @@ +[ + { + "model": "auth.user", + "pk": 1, + "fields": { + "password": "pbkdf2_sha256$216000$gHBBCr1jBELf$ZkEDW3IEd8Wij7u8vkv+0Eze32CS01bcaYWhcD9OIC4=", + "last_login": null, + "is_superuser": true, + "username": "idar.sokurov.05@mail.ru", + "first_name": "", + "last_name": "", + "email": "idar.sokurov.05@mail.ru", + "is_staff": true, + "is_active": true, + "date_joined": "2021-03-10T16:38:56.303Z", + "groups": [], + "user_permissions": [ + 33 + ] + } + }, + { + "model": "main.userprofile", + "pk": 1, + "fields": { + "name": "ZendeskAdmin", + "user": 1, + "role": "admin" + } + }, + { + "model": "auth.user", + "pk": 2, + "fields": { + "password": "pbkdf2_sha256$216000$5qLJgrm2Quq9$KDBNNymVZXkUx0HKBPFst2m83kLe0egPBnkW7KnkORU=", + "last_login": null, + "is_superuser": false, + "username": "krav-88@mail.ru", + "first_name": "", + "last_name": "", + "email": "krav-88@mail.ru", + "is_staff": false, + "is_active": true, + "date_joined": "2021-03-10T16:38:56.303Z", + "groups": [], + "user_permissions": [] + } + }, + { + "model": "main.userprofile", + "pk": 2, + "fields": { + "name": "UserForAccessTest", + "user": 2, + "role": "agent", + "custom_role_id": "360005209000" + } + } +] diff --git a/main/tests.py b/main/tests.py index 59df965..b086488 100644 --- a/main/tests.py +++ b/main/tests.py @@ -352,3 +352,63 @@ class GetTicketsTestCase(TestCase): self.client.post(reverse('work_get_tickets'), data={'count_tickets': 'asd'}) tickets = ZenpyMock.update_tickets.call_args self.assertIsNone(tickets) + + +class ProfileTestCase(TestCase): + """ + Класс тестов для проверки синхронизации профиля пользователя. + """ + fixtures = ['fixtures/profile.json'] + + def setUp(self): + """ + Предустановленные значения для проведения тестов. + """ + self.zendesk_agent_email = 'krav-88@mail.ru' + self.zendesk_admin_email = 'idar.sokurov.05@mail.ru' + self.client = Client() + self.client.force_login(User.objects.get(email=self.zendesk_agent_email)) + self.admin_client = Client() + self.admin_client.force_login(User.objects.get(email=self.zendesk_admin_email)) + + def test_correct_username(self): + """ + Функция проверки синхронизации имени пользователя. + """ + resp = self.client.get(reverse('profile')) + self.assertEqual(resp.context['profile'].name, zenpy.get_user(self.zendesk_agent_email).name) + + def test_correct_email(self): + """ + Функция проверки синхронизации почты пользователя. + """ + resp = self.client.get(reverse('profile')) + self.assertEqual(resp.context['profile'].user.email, zenpy.get_user(self.zendesk_agent_email).email) + + def test_correct_role(self): + """ + Функция проверки синхронизации роли пользователя. + """ + resp = self.client.get(reverse('profile')) + self.assertEqual(resp.context['profile'].role, zenpy.get_user(self.zendesk_agent_email).role) + resp = self.admin_client.get(reverse('profile')) + self.assertEqual(resp.context['profile'].role, zenpy.get_user(self.zendesk_admin_email).role) + + def test_correct_custom_role_id(self): + """ + Функция проверки синхронизации рабочей роли пользователя. + """ + resp = self.client.get(reverse('profile')) + user = zenpy.get_user(self.zendesk_agent_email) + self.assertEqual(resp.context['profile'].custom_role_id, user.custom_role_id if user.custom_role_id else 0) + resp = self.admin_client.get(reverse('profile')) + user = zenpy.get_user(self.zendesk_admin_email) + self.assertEqual(resp.context['profile'].custom_role_id, user.custom_role_id if user.custom_role_id else 0) + + def test_correct_image(self): + """ + Функция проверки синхронизации изображения пользователя. + """ + resp = self.client.get(reverse('profile')) + user = zenpy.get_user(self.zendesk_agent_email) + self.assertEqual(resp.context['profile'].image, user.photo['content_url'] if user.photo else None)