test_forums_admin_views.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. from django.core.urlresolvers import reverse
  2. from misago.admin.testutils import AdminTestCase
  3. from misago.forums.models import Forum
  4. class ForumAdminViewsTests(AdminTestCase):
  5. def test_link_registered(self):
  6. """admin nav contains forums link"""
  7. response = self.client.get(
  8. reverse('misago:admin:forums:nodes:index'))
  9. self.assertIn(reverse('misago:admin:forums:nodes:index'),
  10. response.content)
  11. def test_list_view(self):
  12. """forums list view returns 200"""
  13. response = self.client.get(reverse('misago:admin:forums:nodes:index'))
  14. self.assertEqual(response.status_code, 200)
  15. self.assertIn('No forums', response.content)
  16. def test_new_view(self):
  17. """new forum view has no showstoppers"""
  18. root = Forum.objects.root_category()
  19. response = self.client.get(
  20. reverse('misago:admin:forums:nodes:new'))
  21. self.assertEqual(response.status_code, 200)
  22. response = self.client.post(
  23. reverse('misago:admin:forums:nodes:new'),
  24. data={
  25. 'name': 'Test Category',
  26. 'description': 'Lorem ipsum dolor met',
  27. 'new_parent': root.pk,
  28. 'role': 'category',
  29. 'prune_started_after': 0,
  30. 'prune_replied_after': 0,
  31. })
  32. self.assertEqual(response.status_code, 302)
  33. response = self.client.get(reverse('misago:admin:forums:nodes:index'))
  34. self.assertEqual(response.status_code, 200)
  35. self.assertIn('Test Category', response.content)
  36. test_category = Forum.objects.all_forums().get(slug='test-category')
  37. response = self.client.post(
  38. reverse('misago:admin:forums:nodes:new'),
  39. data={
  40. 'name': 'Test Forum',
  41. 'new_parent': test_category.pk,
  42. 'role': 'forum',
  43. 'copy_permissions': test_category.pk,
  44. 'prune_started_after': 0,
  45. 'prune_replied_after': 0,
  46. })
  47. self.assertEqual(response.status_code, 302)
  48. response = self.client.get(reverse('misago:admin:forums:nodes:index'))
  49. self.assertEqual(response.status_code, 200)
  50. self.assertIn('Test Forum', response.content)
  51. def test_edit_view(self):
  52. """edit forum view has no showstoppers"""
  53. private_threads = Forum.objects.private_threads()
  54. root = Forum.objects.root_category()
  55. response = self.client.get(
  56. reverse('misago:admin:forums:nodes:edit',
  57. kwargs={'forum_id': private_threads.pk}))
  58. self.assertEqual(response.status_code, 302)