def setup_disabled_project(self): from tests.factories import ( DirectoryFactory, ProjectDBFactory, TranslationProjectFactory, ) from pootle_language.models import Language source_language = Language.objects.get(code="en") project = ProjectDBFactory( code="disabled_project0", fullname="Disabled Project 0", source_language=source_language, ) project.disabled = True project.save() language = Language.objects.get(code="language0") tp = TranslationProjectFactory(project=project, language=language) tp_dir = tp.directory tp_dir.obsolete = False tp_dir.save() self._add_stores(tp, n=(1, 1)) subdir0 = DirectoryFactory(name="subdir0", parent=tp.directory) self._add_stores(tp, n=(1, 1), parent=subdir0)
def setup_terminology(self): from tests.factories import ( ProjectDBFactory, StoreDBFactory, TranslationProjectFactory, UnitDBFactory, ) from pootle_language.models import Language source_language = Language.objects.get(code="en") terminology = ProjectDBFactory( code="terminology", checkstyle="terminology", fullname="Terminology", source_language=source_language, ) for language in Language.objects.exclude(code="en"): tp = TranslationProjectFactory(project=terminology, language=language) store = StoreDBFactory(translation_project=tp, name="terminology.po") store.save() for i_ in range(0, 1): UnitDBFactory(store=store)
def tp_checker_tests(request, english, checkers): from tests.factories import ProjectDBFactory checker_name = checkers project = ProjectDBFactory(checkstyle=checker_name, source_language=english) return (checker_name, project)
def setup_site_matrix(self): from tests.factories import ProjectDBFactory, LanguageDBFactory from pootle_language.models import Language # add 2 languages for i_ in range(0, 2): LanguageDBFactory() source_language = Language.objects.get(code="en") for i_ in range(0, 2): # add 2 projects ProjectDBFactory(source_language=source_language)
def test_language_liveness(): language = LanguageDBFactory() # Test unused language is not live. assert language.translationproject_set.count() == 0 assert language not in Language.live.all() assert language not in Language.live.get_all_queryset() # Create obsolete TP. obsolete_tp = TranslationProjectFactory( language=language, project=ProjectDBFactory(source_language=language)) obsolete_tp.directory.makeobsolete() # Test language used only in obsolete TP is not live. assert obsolete_tp.directory.obsolete assert language.translationproject_set.count() == 1 assert language not in Language.live.all() assert language not in Language.live.get_all_queryset() # Create TP for disabled project. disabled_project = ProjectDBFactory(source_language=language) disabled_project.disabled = True disabled_project.save() disabled_project_tp = TranslationProjectFactory(language=language, project=disabled_project) # Test language used only in disabled project and obsolete TP is not live. assert disabled_project.disabled assert language.translationproject_set.count() == 2 assert language not in Language.live.all() # But live for admins. assert language in Language.live.get_all_queryset() # Create regular TP. TranslationProjectFactory( language=language, project=ProjectDBFactory(source_language=language)) # Test language used in regular and obsolete TPs and in TP on disabled # project is live. assert language.translationproject_set.count() == 3 assert language in Language.live.all() # But live for admins. assert language in Language.live.get_all_queryset() # Delete TP for disabled project. disabled_project_tp.delete() # Test language both in obsolete and regular TP is live. assert language.translationproject_set.count() == 2 assert language in Language.live.all() assert language in Language.live.get_all_queryset() # Create again TP for disabled project and delete obsolete TP. # Delete obsolete TP. disabled_project_tp = TranslationProjectFactory(language=language, project=disabled_project) obsolete_tp.delete() # Test language both in disabled project and regular TP is live. assert language.translationproject_set.count() == 2 assert language in Language.live.all() assert language in Language.live.get_all_queryset() # Delete TP for disabled project. disabled_project_tp.delete() # Last language is live. assert language.translationproject_set.count() == 1 assert language in Language.live.all() assert language in Language.live.get_all_queryset()