Browse Source

Fixed test suite for Dj 1.7

Rafał Pitoń 11 years ago
parent
commit
c077ab8a0c

+ 3 - 3
misago/admin/hierarchy.py

@@ -107,9 +107,9 @@ class AdminHierarchyBuilder(object):
 
             for index, node in enumerate(self.nodes_record):
                 if node['parent'] in nodes_dict:
-                    node_obj = Node(link=node['link'],
-                                    name=node['name'],
-                                    icon=node['icon'])
+                    node_obj = Node(name=node['name'],
+                                    icon=node['icon'],
+                                    link=node['link'])
 
                     parent = nodes_dict[node['parent']]
                     if node['after']:

+ 8 - 8
misago/admin/tests/test_admin_hierarchy.py

@@ -5,21 +5,21 @@ from misago.admin.hierarchy import Node
 class NodeTests(TestCase):
     def test_add_node(self):
         """add_node added node"""
-        master = Node('misago:index', 'Apples')
+        master = Node(name='Apples', link='misago:index')
 
-        child = Node('misago:index', 'Oranges')
+        child = Node(name='Oranges', link='misago:index')
         master.add_node(child)
 
         self.assertTrue(child in master.children())
 
     def test_add_node_after(self):
         """add_node added node after specific node"""
-        master = Node('misago:index', 'Apples')
+        master = Node(name='Apples', link='misago:index')
 
-        child = Node('misago:index', 'Oranges')
+        child = Node(name='Oranges', link='misago:index')
         master.add_node(child)
 
-        test = Node('misago:index', 'Potatoes')
+        test = Node(name='Potatoes', link='misago:index')
         master.add_node(test, after='misago:index')
 
         all_nodes = master.children()
@@ -29,12 +29,12 @@ class NodeTests(TestCase):
 
     def test_add_node_before(self):
         """add_node added node  before specific node"""
-        master = Node('misago:index', 'Apples')
+        master = Node(name='Apples', link='misago:index')
 
-        child = Node('misago:index', 'Oranges')
+        child = Node(name='Oranges', link='misago:index')
         master.add_node(child)
 
-        test = Node('misago:index', 'Potatoes')
+        test = Node(name='Potatoes', link='misago:index')
         master.add_node(test, before='misago:index')
 
         all_nodes = master.children()

+ 9 - 33
misago/conf/tests/test_migrationutils.py

@@ -1,38 +1,12 @@
+from django.apps import apps
 from django.test import TestCase
 from misago.core import threadstore
 from misago.conf import migrationutils
 from misago.conf.models import SettingsGroup, Setting
 
 
-class MigrationUtilsTests(TestCase):
-    def test_with_conf_models(self):
-        """with_conf_models builds correct dict of models"""
-        models = {
-            u'core.cacheversion': {
-                'Meta': {'object_name': 'CacheVersion'},
-                'cache': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
-                u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-                'version': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
-            }
-        }
-
-        final_models = migrationutils.with_conf_models('0001_initial')
-        self.assertTrue('conf.settingsgroup' in final_models),
-        self.assertTrue('conf.setting' in final_models),
-
-        final_models = migrationutils.with_conf_models('0001_initial', models)
-        self.assertTrue('conf.settingsgroup' in final_models),
-        self.assertTrue('conf.setting' in final_models),
-        self.assertTrue('core.cacheversion' in final_models),
-
-
 class DBConfMigrationUtilsTests(TestCase):
     def setUp(self):
-        self.orm = {
-            'conf.SettingsGroup': SettingsGroup,
-            'conf.Setting': Setting,
-        }
-
         self.test_group = {
             'key': 'test_group',
             'name': "Test settings",
@@ -58,7 +32,7 @@ class DBConfMigrationUtilsTests(TestCase):
             )
         }
 
-        migrationutils.migrate_settings_group(self.orm, self.test_group)
+        migrationutils.migrate_settings_group(apps, self.test_group)
         self.groups_count = SettingsGroup.objects.count()
 
     def tearDown(self):
@@ -66,8 +40,9 @@ class DBConfMigrationUtilsTests(TestCase):
 
     def test_get_custom_group_and_settings(self):
         """tests setup created settings group"""
-        custom_group = migrationutils.get_group(self.orm,
-                                                self.test_group['key'])
+        custom_group = migrationutils.get_group(
+            apps.get_model('misago_conf', 'SettingsGroup'),
+            self.test_group['key'])
 
         self.assertEqual(custom_group.key, self.test_group['key'])
         self.assertEqual(custom_group.name, self.test_group['name'])
@@ -75,7 +50,7 @@ class DBConfMigrationUtilsTests(TestCase):
                          self.test_group['description'])
 
         custom_settings = migrationutils.get_custom_settings_values(
-            self.orm, custom_group)
+            custom_group)
 
         self.assertEqual(custom_settings['fish_name'], 'Eric')
         self.assertTrue('fish_license_no' not in custom_settings)
@@ -109,8 +84,9 @@ class DBConfMigrationUtilsTests(TestCase):
         }
 
         migrationutils.migrate_settings_group(
-            self.orm, new_group, old_group_key=self.test_group['key'])
-        db_group = migrationutils.get_group(self.orm, new_group['key'])
+            apps, new_group, old_group_key=self.test_group['key'])
+        db_group = migrationutils.get_group(
+            apps.get_model('misago_conf', 'SettingsGroup'), new_group['key'])
 
         self.assertEqual(SettingsGroup.objects.count(), self.groups_count)
         self.assertEqual(db_group.key, new_group['key'])

+ 2 - 6
misago/conf/tests/test_settings.py

@@ -1,3 +1,4 @@
+from django.apps import apps
 from django.conf import settings as dj_settings
 from django.test import TestCase
 from misago.core import threadstore
@@ -33,11 +34,6 @@ class GatewaySettingsTests(TestCase):
             gateway.LoremIpsum
 
     def test_setting_lazy(self):
-        orm = {
-            'conf.SettingsGroup': SettingsGroup,
-            'conf.Setting': Setting,
-        }
-
         test_group = {
             'key': 'test_group',
             'name': "Test settings",
@@ -75,7 +71,7 @@ class GatewaySettingsTests(TestCase):
             )
         }
 
-        migrate_settings_group(orm, test_group)
+        migrate_settings_group(apps, test_group)
 
         self.assertTrue(gateway.lazy_fish_name)
         self.assertTrue(db_settings.lazy_fish_name)

+ 5 - 71
misago/core/tests/test_migrationutils.py

@@ -1,82 +1,16 @@
+from django.apps import apps
 from django.test import TestCase
-from django.utils import translation
 from misago.core import migrationutils
 from misago.core.models import CacheVersion
 
 
-class LazyTranslationStringTests(TestCase):
-    def setUp(self):
-        translation.activate('de')
-
-    def tearDown(self):
-        translation.deactivate()
-
-    def test_ugettext_lazy(self):
-        """ugettext_lazy for migrations maintains untranslated message"""
-        string = migrationutils.ugettext_lazy('content type')
-        self.assertEqual(string.message, 'content type')
-        self.assertEqual(unicode(string), 'Inhaltstyp')
-
-
-class OriginalMessageTests(TestCase):
-    def test_original_message(self):
-        """original_message returns untranslated message for misago messages"""
-        string = migrationutils.ugettext_lazy('content type')
-
-        self.assertEqual(migrationutils.original_message(string),
-                         string.message)
-        self.assertEqual("Lorem ipsum", "Lorem ipsum")
-
-
 class CacheBusterUtilsTests(TestCase):
-    def setUp(self):
-        self.orm = {
-            'core.CacheVersion': CacheVersion,
-        }
-
-    def test_with_core_models(self):
-        """with_core_models builds correct dict of models"""
-        models = {
-            u'conf.setting': {
-                'Meta': {'object_name': 'Setting'},
-                'default_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-                'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-                'dry_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-                'form_field': ('django.db.models.fields.CharField', [], {'max_length': '255', 'default': u"text"}),
-                'group': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['conf.SettingsGroup']"}),
-                u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-                'is_lazy': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-                'legend': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-                'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-                'order': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'}),
-                'pickled_field_extra': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-                'python_type': ('django.db.models.fields.CharField', [], {'max_length': '255', 'default': u"string"}),
-                'setting': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'})
-            },
-            u'conf.settingsgroup': {
-                'Meta': {'object_name': 'SettingsGroup'},
-                'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-                u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-                'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
-                'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-            }
-        }
-
-        final_models = migrationutils.with_core_models('0001_initial')
-        self.assertTrue('core.cacheversion' in final_models),
-
-        final_models = migrationutils.with_core_models('0001_initial', models)
-        self.assertTrue('core.cacheversion' in final_models),
-        self.assertTrue('conf.settingsgroup' in final_models),
-        self.assertTrue('conf.setting' in final_models),
-
     def test_cachebuster_register_cache(self):
         """
         cachebuster_register_cache registers cache on migration successfully
         """
-
         cache_name = 'eric_licenses'
-        migrationutils.cachebuster_register_cache(self.orm, cache_name)
+        migrationutils.cachebuster_register_cache(apps, cache_name)
         CacheVersion.objects.get(cache=cache_name)
 
     def test_cachebuster_unregister_cache(self):
@@ -85,12 +19,12 @@ class CacheBusterUtilsTests(TestCase):
         """
 
         cache_name = 'eric_licenses'
-        migrationutils.cachebuster_register_cache(self.orm, cache_name)
+        migrationutils.cachebuster_register_cache(apps, cache_name)
         CacheVersion.objects.get(cache=cache_name)
 
-        migrationutils.cachebuster_unregister_cache(self.orm, cache_name)
+        migrationutils.cachebuster_unregister_cache(apps, cache_name)
         with self.assertRaises(CacheVersion.DoesNotExist):
             CacheVersion.objects.get(cache=cache_name)
 
         with self.assertRaises(ValueError):
-            migrationutils.cachebuster_unregister_cache(self.orm, cache_name)
+            migrationutils.cachebuster_unregister_cache(apps, cache_name)

+ 1 - 1
misago/forums/migrations/0002_default_forums.py

@@ -33,7 +33,7 @@ def create_default_forums_tree(apps, schema_editor):
 
     category_name = _("First category")
     forum_name = _("First forum")
-    redirect_name = _("Misago support forum")
+    redirect_name = _("Misago support forums")
     redirect_link = _("http://misago-project.org")
 
     category = Forum.objects.create(

+ 2 - 15
misago/forums/tests/test_forum_model.py

@@ -30,20 +30,7 @@ class ForumManagerTests(TestCase):
                                position='last-child',
                                save=True)
 
-        all_forums = [root, test_forum_a, test_forum_b]
-        no_root = [test_forum_a, test_forum_b]
-
-        self.assertEqual(Forum.objects.all_forums(True).count(),
-                         len(all_forums))
-
-        self.assertEqual(Forum.objects.all_forums().count(),
-                         len(no_root))
-
         all_forums_from_db = [f for f in Forum.objects.all_forums(True)]
-        no_root_from_db = [f for f in Forum.objects.all_forums()]
-
-        self.assertEqual(len(all_forums_from_db),
-                         len(all_forums))
 
-        self.assertEqual(len(no_root),
-                         len(no_root_from_db))
+        self.assertIn(test_forum_a, all_forums_from_db)
+        self.assertIn(test_forum_b, all_forums_from_db)

+ 17 - 5
misago/forums/tests/test_forums_admin_views.py

@@ -16,6 +16,18 @@ class ForumAdminViewsTests(AdminTestCase):
         response = self.client.get(reverse('misago:admin:forums:nodes:index'))
 
         self.assertEqual(response.status_code, 200)
+        self.assertIn('First category', response.content)
+        self.assertIn('First forum', response.content)
+        self.assertIn('Misago support forums', response.content)
+
+        # Now test that empty forums list contains message
+        root = Forum.objects.root_category()
+        for descendant in root.get_descendants():
+            descendant.delete()
+
+        response = self.client.get(reverse('misago:admin:forums:nodes:index'))
+
+        self.assertEqual(response.status_code, 200)
         self.assertIn('No forums', response.content)
 
     def test_new_view(self):
@@ -169,7 +181,7 @@ class ForumAdminViewsTests(AdminTestCase):
         self.assertEqual(response.status_code, 200)
         position_a = response.content.find('Category A')
         position_b = response.content.find('Category B')
-        self.assertTrue(position_a < position_b)
+        self.assertTrue(position_a > position_b)
 
         response = self.client.post(
             reverse('misago:admin:forums:nodes:down',
@@ -268,7 +280,7 @@ class ForumAdminDeleteViewTests(AdminTestCase):
                     kwargs={'forum_id': self.subforum_d.pk}),
             data={'move_children_to': '', 'move_threads_to': '',})
         self.assertEqual(response.status_code, 302)
-        self.assertEqual(Forum.objects.all_forums().count(), 5)
+        self.assertEqual(Forum.objects.all_forums().count(), 8)
 
     def test_delete_forum_move_threads(self):
         """forum was deleted and its contents were moved"""
@@ -285,7 +297,7 @@ class ForumAdminDeleteViewTests(AdminTestCase):
                 'move_threads_to': self.subforum_d.pk,
             })
         self.assertEqual(response.status_code, 302)
-        self.assertEqual(Forum.objects.all_forums().count(), 5)
+        self.assertEqual(Forum.objects.all_forums().count(), 8)
 
     def test_delete_all(self):
         """forum and its contents were deleted"""
@@ -299,7 +311,7 @@ class ForumAdminDeleteViewTests(AdminTestCase):
                     kwargs={'forum_id': self.forum_b.pk}),
             data={'move_children_to': self.root.pk, 'move_threads_to': '',})
         self.assertEqual(response.status_code, 200)
-        self.assertEqual(Forum.objects.all_forums().count(), 6)
+        self.assertEqual(Forum.objects.all_forums().count(), 9)
 
         response = self.client.post(
             reverse('misago:admin:forums:nodes:delete',
@@ -307,4 +319,4 @@ class ForumAdminDeleteViewTests(AdminTestCase):
             data={'move_children_to': '', 'move_threads_to': '',})
         self.assertEqual(response.status_code, 302)
 
-        self.assertEqual(Forum.objects.all_forums().count(), 3)
+        self.assertEqual(Forum.objects.all_forums().count(), 6)

+ 4 - 0
misago/forums/tests/test_permissions_admin_views.py

@@ -94,6 +94,10 @@ class ForumRoleAdminViewsTests(AdminTestCase):
 
         test_role = Role.objects.get(name='Test ForumRole')
 
+        root = Forum.objects.root_category()
+        for descendant in root.get_descendants():
+            descendant.delete()
+
         self.assertEqual(Forum.objects.count(), 2)
         response = self.client.get(
             reverse('misago:admin:permissions:users:forums',

+ 1 - 3
runtests.py

@@ -50,15 +50,13 @@ TEST_NAME = 'travis_ci_test'
 DATABASES = {
     'default': {
         'ENGINE': 'django.db.backends.postgresql_psycopg2',
-        'NAME': 'misago',
+        'NAME': 'misago_postgres',
         'USER': '%s',
         'PASSWORD': '',
         'HOST': '',
         'PORT': '',
     }
 }
-
-TEST_NAME = 'misagotestdb'
 """ % pwd.getpwuid(os.getuid())[0]
 
         with open(settings_path, "w") as py_file: