2024-08-31 18:25:43 +00:00
|
|
|
from django.test import TestCase
|
|
|
|
from django.urls import reverse
|
|
|
|
|
|
|
|
from bookmarks.models import UserProfile, GlobalSettings
|
|
|
|
from bookmarks.tests.helpers import BookmarkFactoryMixin
|
|
|
|
from bookmarks.middlewares import standard_profile
|
|
|
|
|
|
|
|
|
2024-09-14 09:32:19 +00:00
|
|
|
class LinkdingMiddlewareTestCase(TestCase, BookmarkFactoryMixin):
|
2024-08-31 18:25:43 +00:00
|
|
|
def test_unauthenticated_user_should_use_standard_profile_by_default(self):
|
|
|
|
response = self.client.get(reverse("login"))
|
|
|
|
|
|
|
|
self.assertEqual(standard_profile, response.wsgi_request.user_profile)
|
|
|
|
|
|
|
|
def test_unauthenticated_user_should_use_custom_configured_profile(self):
|
|
|
|
guest_user = self.setup_user()
|
|
|
|
guest_user_profile = guest_user.profile
|
|
|
|
guest_user_profile.theme = UserProfile.THEME_DARK
|
|
|
|
guest_user_profile.save()
|
|
|
|
|
|
|
|
global_settings = GlobalSettings.get()
|
|
|
|
global_settings.guest_profile_user = guest_user
|
|
|
|
global_settings.save()
|
|
|
|
|
|
|
|
response = self.client.get(reverse("login"))
|
|
|
|
|
|
|
|
self.assertEqual(guest_user_profile, response.wsgi_request.user_profile)
|
|
|
|
|
|
|
|
def test_authenticated_user_should_use_own_profile(self):
|
|
|
|
guest_user = self.setup_user()
|
|
|
|
guest_user_profile = guest_user.profile
|
|
|
|
guest_user_profile.theme = UserProfile.THEME_DARK
|
|
|
|
guest_user_profile.save()
|
|
|
|
|
|
|
|
global_settings = GlobalSettings.get()
|
|
|
|
global_settings.guest_profile_user = guest_user
|
|
|
|
global_settings.save()
|
|
|
|
|
|
|
|
user = self.get_or_create_test_user()
|
|
|
|
user_profile = user.profile
|
|
|
|
user_profile.theme = UserProfile.THEME_LIGHT
|
|
|
|
user_profile.save()
|
|
|
|
self.client.force_login(user)
|
|
|
|
|
|
|
|
response = self.client.get(reverse("login"), follow=True)
|
|
|
|
|
|
|
|
self.assertEqual(user_profile, response.wsgi_request.user_profile)
|