def test_backward_compatibility(self): """Check if typical modeltranslation configuration is handled properly.""" self.clear_cache() # Registry changed - need to reload to recreate wrapper configuration from modeltranslation_wrapper import models import modeltranslation reload(models) reload(modeltranslation.settings) reload(modeltranslation) autodiscover() self.check_news() self.check_other()
def setUpClass(cls): """ Prepare database: * Include project translation (for Other model) * Autodiscover * Call syncdb to create tables for test_app.models (since during default testrunner's db creation test_app was not in INSTALLED_APPS """ super(TestManager, cls).setUpClass() sync_settings = SETTINGS.copy() sync_settings['MODELTRANSLATION_TRANSLATION_FILES'] = \ ('modeltranslation_wrapper.tests.project_translation','modeltranslation_wrapper.patch') with override_settings(**sync_settings): cls.reset_cache() import sys sys.modules.pop('modeltranslation_wrapper.patch', None) autodiscover() from django.db import connections, DEFAULT_DB_ALIAS connections[DEFAULT_DB_ALIAS].creation.create_test_db(0, autoclobber=True)
def test_manager_in_04(self): """ Check if using modeltranslation 0.4 MultilingualManager is present. Modeltranslation 0.4 changed the order of imports and autodiscover takes place before wrapper.models are imported - that's it, before MultilingualManager patch is enforced. This test shows whether fix in TranslatorWithManager.__init__ works. """ from modeltranslation_wrapper import models import modeltranslation reload(modeltranslation.translator) reload(modeltranslation) reload(models) import sys sys.modules.pop('modeltranslation_wrapper.patch', None) autodiscover() from test_app.models import News from modeltranslation_wrapper.manager import MultilingualManager self.assertTrue(isinstance(News.objects, MultilingualManager))
def test_simple(self): """Check if translation is imported for installed apps.""" autodiscover() self.check_news() self.check_other(present=False)
def test_duplication(self): """Check if there is no problem with duplicated names.""" autodiscover() self.check_news()
def test_global(self): """Check if translation is imported for global translation file.""" autodiscover() self.check_news() self.check_other()