Browse Source

Tests for synchronizeforums management command

Rafał Pitoń 10 years ago
parent
commit
de43bfd79d

+ 32 - 0
misago/forums/tests/test_synchronizeforums.py

@@ -0,0 +1,32 @@
+from django.test import TestCase
+from django.utils.six import StringIO
+
+from misago.threads import testutils
+
+from misago.forums.management.commands import synchronizeforums
+from misago.forums.models import Forum
+
+
+class SynchronizeForumsTests(TestCase):
+    def test_forumss_sync(self):
+        """command synchronizes forums"""
+        forum = Forum.objects.all_forums().filter(role="forum")[:1][0]
+
+        threads = [testutils.post_thread(forum) for t in xrange(10)]
+        for thread in threads:
+            [testutils.reply_thread(thread) for r in xrange(5)]
+
+        forum.threads = 0
+        forum.posts = 0
+
+        command = synchronizeforums.Command()
+
+        out = StringIO()
+        command.execute(stdout=out)
+
+        forum = Forum.objects.get(id=forum.id)
+        self.assertEqual(forum.threads, 10)
+        self.assertEqual(forum.posts, 60)
+
+        command_output = out.getvalue().splitlines()[-1].strip()
+        self.assertEqual(command_output, 'Synchronized 5 forums')

+ 0 - 1
misago/threads/tests/test_synchronizethreads.py

@@ -1,4 +1,3 @@
-from django.core.management import call_command
 from django.test import TestCase
 from django.test import TestCase
 from django.utils.six import StringIO
 from django.utils.six import StringIO