Browse Source

Fixed test suite

Rafał Pitoń 10 years ago
parent
commit
4bc167fd08

+ 50 - 0
misago/threads/tests/test_label_model.py

@@ -0,0 +1,50 @@
+from django.test import TestCase
+
+from misago.forums.models import Forum
+
+from misago.threads.models import Label
+
+
+class LabelsManagerTests(TestCase):
+    def setUp(self):
+        Label.objects.clear_cache()
+
+    def test_get_cached_labels(self):
+        """get_cached_labels and get_cached_labels_dict work as intented"""
+        test_labels = (
+            Label.objects.create(name="Label 1"),
+            Label.objects.create(name="Label 2"),
+            Label.objects.create(name="Label 3"),
+            Label.objects.create(name="Label 4"),
+        )
+
+        db_labels = Label.objects.get_cached_labels()
+        self.assertEqual(len(db_labels), len(test_labels))
+        for label in db_labels:
+            self.assertIn(label, test_labels)
+
+        db_labels = Label.objects.get_cached_labels_dict()
+        self.assertEqual(len(db_labels), len(test_labels))
+        for label in test_labels:
+            self.assertEqual(db_labels[label.pk], label)
+
+    def test_get_forum_labels(self):
+        """get_forum_labels returns labels for forum"""
+        forum = Forum.objects.all_forums().filter(role='forum')[:1][0]
+
+        test_labels = (
+            Label.objects.create(name="Label 1"),
+            Label.objects.create(name="Label 2"),
+            Label.objects.create(name="Label 3"),
+            Label.objects.create(name="Label 4"),
+        )
+
+        test_labels[0].forums.add(forum)
+        test_labels[2].forums.add(forum)
+
+        forum_labels = Label.objects.get_forum_labels(forum)
+        self.assertEqual(len(forum_labels), 2)
+        self.assertIn(test_labels[0], forum_labels)
+        self.assertIn(test_labels[2], forum_labels)
+        self.assertNotIn(test_labels[1], forum_labels)
+        self.assertNotIn(test_labels[3], forum_labels)

+ 109 - 0
misago/threads/tests/test_labelsadmin_views.py

@@ -0,0 +1,109 @@
+from django.core.urlresolvers import reverse
+
+from misago.admin.testutils import AdminTestCase
+from misago.forums.models import Forum
+
+from misago.threads.models import Label
+
+
+class LabelAdminViewsTests(AdminTestCase):
+    def test_link_registered(self):
+        """admin nav contains labels link"""
+        response = self.client.get(
+            reverse('misago:admin:forums:nodes:index'))
+        self.assertIn(reverse('misago:admin:forums:labels:index'),
+                      response.content)
+
+    def test_list_view(self):
+        """labels list view returns 200"""
+        response = self.client.get(
+            reverse('misago:admin:forums:labels:index'))
+
+        self.assertEqual(response.status_code, 200)
+        self.assertIn('No thread labels', response.content)
+
+    def test_new_view(self):
+        """new label view has no showstoppers"""
+        response = self.client.get(
+            reverse('misago:admin:forums:labels:new'))
+        self.assertEqual(response.status_code, 200)
+
+        response = self.client.post(
+            reverse('misago:admin:forums:labels:new'),
+            data={
+                'name': 'Test Label',
+                'css_class': 'test_label',
+                'forums': [f.pk for f in Forum.objects.all_forums()],
+            })
+        self.assertEqual(response.status_code, 302)
+
+        response = self.client.get(
+            reverse('misago:admin:forums:labels:index'))
+        self.assertEqual(response.status_code, 200)
+        self.assertIn('Test Label', response.content)
+        self.assertIn('test_label', response.content)
+
+        test_label = Label.objects.get(slug='test-label')
+        self.assertEqual(len(test_label.forums.all()),
+                         len(Forum.objects.all_forums()))
+        for forum in Forum.objects.all_forums():
+            self.assertIn(forum, test_label.forums.all())
+
+    def test_edit_view(self):
+        """edit label view has no showstoppers"""
+        self.client.post(
+            reverse('misago:admin:forums:labels:new'),
+            data={
+                'name': 'Test Label',
+                'css_class': 'test_label',
+                'forums': [f.pk for f in Forum.objects.all_forums()],
+            })
+        test_label = Label.objects.get(slug='test-label')
+
+        response = self.client.get(
+            reverse('misago:admin:forums:labels:edit',
+                    kwargs={'label_id': test_label.pk}))
+        self.assertEqual(response.status_code, 200)
+        self.assertIn(test_label.name, response.content)
+        self.assertIn(test_label.css_class, response.content)
+
+        response = self.client.post(
+            reverse('misago:admin:forums:labels:edit',
+                    kwargs={'label_id': test_label.pk}),
+            data={
+                'name': 'Top Lel',
+                'css_class': 'test_lel',
+                'forums': [f.pk for f in Forum.objects.all_forums()],
+            })
+        self.assertEqual(response.status_code, 302)
+
+        test_label = Label.objects.get(slug='top-lel')
+        response = self.client.get(
+            reverse('misago:admin:forums:labels:index'))
+        self.assertEqual(response.status_code, 200)
+        self.assertIn(test_label.name, response.content)
+        self.assertIn(test_label.css_class, response.content)
+
+    def test_delete_view(self):
+        """delete label view has no showstoppers"""
+        self.client.post(
+            reverse('misago:admin:forums:labels:new'),
+            data={
+                'name': 'Test Label',
+                'css_class': 'test_label',
+                'forums': [f.pk for f in Forum.objects.all_forums()],
+            })
+        test_label = Label.objects.get(slug='test-label')
+
+        response = self.client.post(
+            reverse('misago:admin:forums:labels:delete',
+                    kwargs={'label_id': test_label.pk}))
+        self.assertEqual(response.status_code, 302)
+
+        self.client.get(reverse('misago:admin:forums:labels:index'))
+        response = self.client.get(
+            reverse('misago:admin:forums:labels:index'))
+        self.assertEqual(response.status_code, 200)
+
+        self.assertNotIn(test_label.name, response.content)
+        self.assertNotIn(test_label.css_class, response.content)

+ 0 - 50
misago/threads/tests/test_prefix_model.py

@@ -1,50 +0,0 @@
-from django.test import TestCase
-
-from misago.forums.models import Forum
-
-from misago.threads.models import Prefix
-
-
-class PrefixesManagerTests(TestCase):
-    def setUp(self):
-        Prefix.objects.clear_cache()
-
-    def test_get_cached_prefixes(self):
-        """get_cached_prefixes and get_cached_prefixes_dict work as intented"""
-        test_prefixes = (
-            Prefix.objects.create(name="Prefix 1"),
-            Prefix.objects.create(name="Prefix 2"),
-            Prefix.objects.create(name="Prefix 3"),
-            Prefix.objects.create(name="Prefix 4"),
-        )
-
-        db_prefixes = Prefix.objects.get_cached_prefixes()
-        self.assertEqual(len(db_prefixes), len(test_prefixes))
-        for prefix in db_prefixes:
-            self.assertIn(prefix, test_prefixes)
-
-        db_prefixes = Prefix.objects.get_cached_prefixes_dict()
-        self.assertEqual(len(db_prefixes), len(test_prefixes))
-        for prefix in test_prefixes:
-            self.assertEqual(db_prefixes[prefix.pk], prefix)
-
-    def test_get_forum_prefixes(self):
-        """get_forum_prefixes returns prefixes for forum"""
-        forum = Forum.objects.all_forums().filter(role='forum')[:1][0]
-
-        test_prefixes = (
-            Prefix.objects.create(name="Prefix 1"),
-            Prefix.objects.create(name="Prefix 2"),
-            Prefix.objects.create(name="Prefix 3"),
-            Prefix.objects.create(name="Prefix 4"),
-        )
-
-        test_prefixes[0].forums.add(forum)
-        test_prefixes[2].forums.add(forum)
-
-        forum_prefixes = Prefix.objects.get_forum_prefixes(forum)
-        self.assertEqual(len(forum_prefixes), 2)
-        self.assertIn(test_prefixes[0], forum_prefixes)
-        self.assertIn(test_prefixes[2], forum_prefixes)
-        self.assertNotIn(test_prefixes[1], forum_prefixes)
-        self.assertNotIn(test_prefixes[3], forum_prefixes)

+ 0 - 109
misago/threads/tests/test_prefixesadmin_views.py

@@ -1,109 +0,0 @@
-from django.core.urlresolvers import reverse
-
-from misago.admin.testutils import AdminTestCase
-from misago.forums.models import Forum
-
-from misago.threads.models import Prefix
-
-
-class PrefixAdminViewsTests(AdminTestCase):
-    def test_link_registered(self):
-        """admin nav contains prefixes link"""
-        response = self.client.get(
-            reverse('misago:admin:forums:nodes:index'))
-        self.assertIn(reverse('misago:admin:forums:prefixes:index'),
-                      response.content)
-
-    def test_list_view(self):
-        """prefixes list view returns 200"""
-        response = self.client.get(
-            reverse('misago:admin:forums:prefixes:index'))
-
-        self.assertEqual(response.status_code, 200)
-        self.assertIn('No thread prefixes', response.content)
-
-    def test_new_view(self):
-        """new prefix view has no showstoppers"""
-        response = self.client.get(
-            reverse('misago:admin:forums:prefixes:new'))
-        self.assertEqual(response.status_code, 200)
-
-        response = self.client.post(
-            reverse('misago:admin:forums:prefixes:new'),
-            data={
-                'name': 'Test Prefix',
-                'css_class': 'test_prefix',
-                'forums': [f.pk for f in Forum.objects.all_forums()],
-            })
-        self.assertEqual(response.status_code, 302)
-
-        response = self.client.get(
-            reverse('misago:admin:forums:prefixes:index'))
-        self.assertEqual(response.status_code, 200)
-        self.assertIn('Test Prefix', response.content)
-        self.assertIn('test_prefix', response.content)
-
-        test_prefix = Prefix.objects.get(slug='test-prefix')
-        self.assertEqual(len(test_prefix.forums.all()),
-                         len(Forum.objects.all_forums()))
-        for forum in Forum.objects.all_forums():
-            self.assertIn(forum, test_prefix.forums.all())
-
-    def test_edit_view(self):
-        """edit prefix view has no showstoppers"""
-        self.client.post(
-            reverse('misago:admin:forums:prefixes:new'),
-            data={
-                'name': 'Test Prefix',
-                'css_class': 'test_prefix',
-                'forums': [f.pk for f in Forum.objects.all_forums()],
-            })
-        test_prefix = Prefix.objects.get(slug='test-prefix')
-
-        response = self.client.get(
-            reverse('misago:admin:forums:prefixes:edit',
-                    kwargs={'prefix_id': test_prefix.pk}))
-        self.assertEqual(response.status_code, 200)
-        self.assertIn(test_prefix.name, response.content)
-        self.assertIn(test_prefix.css_class, response.content)
-
-        response = self.client.post(
-            reverse('misago:admin:forums:prefixes:edit',
-                    kwargs={'prefix_id': test_prefix.pk}),
-            data={
-                'name': 'Top Lel',
-                'css_class': 'test_lel',
-                'forums': [f.pk for f in Forum.objects.all_forums()],
-            })
-        self.assertEqual(response.status_code, 302)
-
-        test_prefix = Prefix.objects.get(slug='top-lel')
-        response = self.client.get(
-            reverse('misago:admin:forums:prefixes:index'))
-        self.assertEqual(response.status_code, 200)
-        self.assertIn(test_prefix.name, response.content)
-        self.assertIn(test_prefix.css_class, response.content)
-
-    def test_delete_view(self):
-        """delete prefix view has no showstoppers"""
-        self.client.post(
-            reverse('misago:admin:forums:prefixes:new'),
-            data={
-                'name': 'Test Prefix',
-                'css_class': 'test_prefix',
-                'forums': [f.pk for f in Forum.objects.all_forums()],
-            })
-        test_prefix = Prefix.objects.get(slug='test-prefix')
-
-        response = self.client.post(
-            reverse('misago:admin:forums:prefixes:delete',
-                    kwargs={'prefix_id': test_prefix.pk}))
-        self.assertEqual(response.status_code, 302)
-
-        self.client.get(reverse('misago:admin:forums:prefixes:index'))
-        response = self.client.get(
-            reverse('misago:admin:forums:prefixes:index'))
-        self.assertEqual(response.status_code, 200)
-
-        self.assertNotIn(test_prefix.name, response.content)
-        self.assertNotIn(test_prefix.css_class, response.content)

+ 3 - 3
misago/threads/tests/test_thread_model.py

@@ -115,15 +115,15 @@ class ThreadModelTests(TestCase):
             is_hidden=True)
             is_hidden=True)
 
 
         self.thread.synchronize()
         self.thread.synchronize()
-        self.assertEqual(self.thread.last_post, post)
-        self.assertEqual(self.thread.last_post_on, post.posted_on)
+        self.assertEqual(self.thread.last_post, hidden_post)
+        self.assertEqual(self.thread.last_post_on, hidden_post.posted_on)
         self.assertEqual(self.thread.last_poster, user)
         self.assertEqual(self.thread.last_poster, user)
         self.assertEqual(self.thread.last_poster_name, user.username)
         self.assertEqual(self.thread.last_poster_name, user.username)
         self.assertEqual(self.thread.last_poster_slug, user.slug)
         self.assertEqual(self.thread.last_poster_slug, user.slug)
         self.assertFalse(self.thread.has_reported_posts)
         self.assertFalse(self.thread.has_reported_posts)
         self.assertTrue(self.thread.has_moderated_posts)
         self.assertTrue(self.thread.has_moderated_posts)
         self.assertTrue(self.thread.has_hidden_posts)
         self.assertTrue(self.thread.has_hidden_posts)
-        self.assertEqual(self.thread.replies, 1)
+        self.assertEqual(self.thread.replies, 2)
 
 
         # unhide post
         # unhide post
         hidden_post.is_hidden = False
         hidden_post.is_hidden = False