Changeset View
Changeset View
Standalone View
Standalone View
profiles/tests/test_context_processors.py
| from unittest.mock import ANY | from unittest.mock import ANY, patch, Mock | ||||
| from django.contrib.auth.models import Group, AnonymousUser | from django.contrib.auth.models import Group, AnonymousUser | ||||
| from django.template import engines | from django.template import engines | ||||
| from django.test import RequestFactory, TestCase | from django.test import RequestFactory, TestCase | ||||
| from common.tests.factories.users import UserFactory | from common.tests.factories.users import UserFactory | ||||
| from profiles.context_processors import user_dict | from profiles.context_processors import user_dict | ||||
| template_engine = engines['django'] | template_engine = engines['django'] | ||||
| @patch('storages.backends.s3boto3.S3Boto3Storage.url', Mock(return_value='s3://file')) | |||||
| class ContextProcessorsTest(TestCase): | class ContextProcessorsTest(TestCase): | ||||
| maxDiff = None | maxDiff = None | ||||
| def setUp(self): | def setUp(self): | ||||
| self.request = RequestFactory().get('/') | self.request = RequestFactory().get('/') | ||||
| self.request.user = AnonymousUser() | self.request.user = AnonymousUser() | ||||
| def test_user_dict_anonymous_user(self): | def test_user_dict_anonymous_user(self): | ||||
| Show All 15 Lines | def test_user_dict_anonymous_user(self): | ||||
| }, | }, | ||||
| ) | ) | ||||
| def test_user_dict_authenticated_user_with_oauth_info(self): | def test_user_dict_authenticated_user_with_oauth_info(self): | ||||
| user = UserFactory( | user = UserFactory( | ||||
| email='mail@example.com', username='ⅉanedoe', oauth_info__oauth_user_id='2' | email='mail@example.com', username='ⅉanedoe', oauth_info__oauth_user_id='2' | ||||
| ) | ) | ||||
| user.profile.full_name = 'ⅉane Doe' | user.profile.full_name = 'ⅉane Doe' | ||||
| user.profile.image = 'path/to/file' | |||||
| for group_name in ('subscriber', 'has_subscription'): | for group_name in ('subscriber', 'has_subscription'): | ||||
| group, _ = Group.objects.get_or_create(name=group_name) | group, _ = Group.objects.get_or_create(name=group_name) | ||||
| user.groups.add(group) | user.groups.add(group) | ||||
| self.request.user = user | self.request.user = user | ||||
| context = user_dict(self.request) | context = user_dict(self.request) | ||||
| self.assertDictEqual( | self.assertDictEqual( | ||||
| context['user_dict'], | context['user_dict'], | ||||
| { | { | ||||
| 'is_anonymous': False, | 'is_anonymous': False, | ||||
| 'is_authenticated': True, | 'is_authenticated': True, | ||||
| 'date_joined': ANY, | 'date_joined': ANY, | ||||
| 'last_login': ANY, | 'last_login': ANY, | ||||
| 'groups': [{'name': 'subscriber'}, {'name': 'has_subscription'}], | 'groups': [{'name': 'subscriber'}, {'name': 'has_subscription'}], | ||||
| 'is_active': True, | 'is_active': True, | ||||
| 'is_staff': False, | 'is_staff': False, | ||||
| 'is_superuser': False, | 'is_superuser': False, | ||||
| 'profile': { | 'profile': { | ||||
| 'image_url': 'http://id.local:8000/api/user/2/avatar', | 'image_url': 's3://file', | ||||
| 'full_name': 'ⅉane Doe', | 'full_name': 'ⅉane Doe', | ||||
| }, | }, | ||||
| 'username': 'ⅉanedoe', | 'username': 'ⅉanedoe', | ||||
| }, | }, | ||||
| ) | ) | ||||
| def test_user_dict_authenticated_user_without_oauth_info(self): | def test_user_dict_authenticated_user_without_oauth_info(self): | ||||
| user = UserFactory(email='mail@example.com', username='ⅉanedoe', oauth_info=None) | user = UserFactory(email='mail@example.com', username='ⅉanedoe', oauth_info=None) | ||||
| self.request.user = user | self.request.user = user | ||||
| context = user_dict(self.request) | context = user_dict(self.request) | ||||
| self.assertDictEqual( | self.assertDictEqual( | ||||
| context['user_dict'], | context['user_dict'], | ||||
| { | { | ||||
| 'is_anonymous': False, | 'is_anonymous': False, | ||||
| 'is_authenticated': True, | 'is_authenticated': True, | ||||
| 'date_joined': ANY, | 'date_joined': ANY, | ||||
| 'last_login': None, | 'last_login': None, | ||||
| 'groups': [], | 'groups': [], | ||||
| 'is_active': True, | 'is_active': True, | ||||
| 'is_staff': False, | 'is_staff': False, | ||||
| 'is_superuser': False, | 'is_superuser': False, | ||||
| 'profile': {'image_url': None, 'full_name': ''}, | 'profile': { | ||||
| 'image_url': '/static/common/images/blank-profile-pic.png', | |||||
| 'full_name': '', | |||||
| }, | |||||
| 'username': 'ⅉanedoe', | 'username': 'ⅉanedoe', | ||||
| }, | }, | ||||
| ) | ) | ||||