def test_import_add_and_obsolete_units(project0_nongnu, import_tps, site_users): from pytest_pootle.factories import StoreDBFactory, UnitDBFactory tp = import_tps user = site_users["user"] store = StoreDBFactory(translation_project=tp) unit = UnitDBFactory(store=store, state=TRANSLATED) filestore = create_store( store.pootle_path, "0", [(unit.source_f + " REPLACED", unit.target_f + " REPLACED", False)]) import_file(SimpleUploadedFile("import_add_and_obsolete.po", str(filestore), "text/x-gettext-translation"), user) allow_add_and_obsolete = ((tp.project.checkstyle == 'terminology' or tp.is_template_project) and check_user_permission(user, 'administrate', tp.directory)) if allow_add_and_obsolete: assert Unit.objects.filter(store=store, state=OBSOLETE).count() == 1 assert store.units.filter(state=TRANSLATED).count() == 1 unit_source = store.units[0].unit_source assert unit_source.created_with == SubmissionTypes.UPLOAD assert unit_source.created_by == user assert store.units[0].change.changed_with == SubmissionTypes.UPLOAD assert store.units[0].change.submitted_by == user assert Unit.objects.filter(store=store).count() == 2 else: assert store.units.all().count() == 1
def _add_template_stores(self, tp, n=(3, 2), parent=None): from pytest_pootle.factories import StoreDBFactory, UnitDBFactory for i_ in range(0, n[0]): # add 3 stores store = StoreDBFactory(translation_project=tp) store.filetype = tp.project.filetype_tool.choose_filetype( store.name) store.save() # add 8 units to each store for i_ in range(0, 4): UnitDBFactory(store=store, target="")
def _add_stores(self, tp, n=(3, 2), parent=None): from pytest_pootle.factories import StoreDBFactory, UnitDBFactory from pootle_store.models import UNTRANSLATED, TRANSLATED, FUZZY, OBSOLETE for i in range(0, n[0]): # add 3 stores if parent is None: store = StoreDBFactory(translation_project=tp) else: store = StoreDBFactory(translation_project=tp, parent=parent) # add 8 units to each store for state in [UNTRANSLATED, TRANSLATED, FUZZY, OBSOLETE]: for i in range(0, n[1]): UnitDBFactory(store=store, state=state)
def _add_stores(self, tp, n=(3, 2), parent=None): from pytest_pootle.factories import StoreDBFactory, UnitDBFactory from pootle_store.constants import UNTRANSLATED, TRANSLATED, FUZZY, OBSOLETE for i_ in range(0, n[0]): # add 3 stores if parent is None: store = StoreDBFactory(translation_project=tp) else: store = StoreDBFactory(translation_project=tp, parent=parent) store.filetype = tp.project.filetype_tool.choose_filetype( store.name) store.save() # add 8 units to each store for state in [UNTRANSLATED, TRANSLATED, FUZZY, OBSOLETE]: for i_ in range(0, n[1]): UnitDBFactory(store=store, state=state)
def setup_terminology(self): from pytest_pootle.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)