test_online_utils.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. from unittest.mock import Mock
  2. from django.contrib.auth import get_user_model
  3. from misago.users.online.utils import get_user_status
  4. from misago.users.testutils import AuthenticatedUserTestCase
  5. User = get_user_model()
  6. class GetUserStatusTests(AuthenticatedUserTestCase):
  7. def setUp(self):
  8. super().setUp()
  9. self.other_user = User.objects.create_user('Tyrael', 't123@test.com', 'pass123')
  10. def test_user_hiding_presence(self):
  11. """get_user_status has no showstopper for hidden user"""
  12. self.other_user.is_hiding_presence = True
  13. self.other_user.save()
  14. request = Mock(
  15. user=self.user,
  16. user_acl={'can_see_hidden_users': False},
  17. cache_versions={"bans": "abcdefgh"},
  18. )
  19. get_user_status(request, self.other_user)
  20. def test_user_visible_hidden_presence(self):
  21. """get_user_status has no showstopper forvisible hidden user"""
  22. self.other_user.is_hiding_presence = True
  23. self.other_user.save()
  24. request = Mock(
  25. user=self.user,
  26. user_acl={'can_see_hidden_users': True},
  27. cache_versions={"bans": "abcdefgh"},
  28. )
  29. get_user_status(request, self.other_user)
  30. def test_user_not_hiding_presence(self):
  31. """get_user_status has no showstoppers for non-hidden user"""
  32. request = Mock(
  33. user=self.user,
  34. user_acl={'can_see_hidden_users': False},
  35. cache_versions={"bans": "abcdefgh"},
  36. )
  37. get_user_status(request, self.other_user)