test_views.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. from django.contrib.auth import get_user_model
  2. from django.core.urlresolvers import reverse
  3. from django.utils.translation import ugettext as _
  4. from misago.forums.models import Forum
  5. from misago.users.testutils import AuthenticatedUserTestCase
  6. from misago.threads import testutils
  7. from misago.readtracker.forumstracker import make_read_aware
  8. class AuthenticatedTests(AuthenticatedUserTestCase):
  9. def test_read_all_threads(self):
  10. """read_all view updates reads cutoff on user model"""
  11. forum = Forum.objects.all_forums().filter(role="forum")[:1][0]
  12. threads = [testutils.post_thread(forum) for t in xrange(10)]
  13. forum = Forum.objects.get(id=forum.id)
  14. make_read_aware(self.user, [forum])
  15. self.assertFalse(forum.is_read)
  16. response = self.client.post(reverse('misago:read_all'))
  17. self.assertEqual(response.status_code, 302)
  18. forum = Forum.objects.get(id=forum.id)
  19. user = get_user_model().objects.get(id=self.user.id)
  20. make_read_aware(user, [forum])
  21. self.assertTrue(forum.is_read)
  22. def test_read_forum(self):
  23. """read_forum view updates reads cutoff on forum tracker"""
  24. forum = Forum.objects.all_forums().filter(role="forum")[:1][0]
  25. threads = [testutils.post_thread(forum) for t in xrange(10)]
  26. forum = Forum.objects.get(id=forum.id)
  27. make_read_aware(self.user, [forum])
  28. self.assertFalse(forum.is_read)
  29. response = self.client.post(
  30. reverse('misago:read_forum', kwargs={'forum_id': forum.id}))
  31. self.assertEqual(response.status_code, 302)
  32. self.assertTrue(
  33. response['location'].endswith(forum.get_absolute_url()))
  34. forum = Forum.objects.get(id=forum.id)
  35. user = get_user_model().objects.get(id=self.user.id)
  36. make_read_aware(user, [forum])
  37. self.assertTrue(forum.is_read)