test_views.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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.categories.models import Category
  5. from misago.users.testutils import AuthenticatedUserTestCase
  6. from misago.threads import testutils
  7. from misago.readtracker.categoriestracker 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. category = Category.objects.all_categories().filter(role='forum')[:1][0]
  12. threads = [testutils.post_thread(category) for t in xrange(10)]
  13. category = Category.objects.get(id=category.id)
  14. make_read_aware(self.user, [category])
  15. self.assertFalse(category.is_read)
  16. response = self.client.post(reverse('misago:read_all'))
  17. self.assertEqual(response.status_code, 302)
  18. category = Category.objects.get(id=category.id)
  19. user = get_user_model().objects.get(id=self.user.id)
  20. make_read_aware(user, [category])
  21. self.assertTrue(category.is_read)
  22. def test_read_category(self):
  23. """read_category view updates reads cutoff on category tracker"""
  24. category = Category.objects.all_categories().filter(role='forum')[:1][0]
  25. threads = [testutils.post_thread(category) for t in xrange(10)]
  26. category = Category.objects.get(id=category.id)
  27. make_read_aware(self.user, [category])
  28. self.assertFalse(category.is_read)
  29. response = self.client.post(everse('misago:read_category', kwargs={
  30. 'category_id': category.id
  31. }))
  32. self.assertEqual(response.status_code, 302)
  33. self.assertTrue(
  34. response['location'].endswith(category.get_absolute_url()))
  35. category = Category.objects.get(id=category.id)
  36. user = get_user_model().objects.get(id=self.user.id)
  37. make_read_aware(user, [category])
  38. self.assertTrue(category.is_read)