示例#1
0
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
示例#2
0
文件: env.py 项目: rmoch/pootle
    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="")
示例#3
0
    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)
示例#4
0
文件: env.py 项目: rmoch/pootle
    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)
示例#5
0
    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)