Пример #1
0
def test_vfolder_unit_priorities():

    # remove the default vfolders and update units to reset priorities
    VirtualFolder.objects.all().delete()
    [unit.save() for unit in Unit.objects.all()]

    assert all(
        priority == 1
        for priority
        in Unit.objects.values_list("priority", flat=True))

    vfolder0 = VirtualFolderDBFactory(filter_rules="store0.po", priority=3)

    assert all(
        priority == 3
        for priority
        in vfolder0.units.values_list("priority", flat=True))

    assert all(
        priority == 1.0
        for priority
        in Unit.objects.filter(vfolders__isnull=True)
                       .values_list("priority", flat=True))

    vfolder0.filter_rules = "store1.po"
    vfolder0.save()

    assert all(
        priority == 3
        for priority
        in vfolder0.units.values_list("priority", flat=True))

    assert all(
        priority == 1.0
        for priority
        in Unit.objects.filter(vfolders__isnull=True)
                       .values_list("priority", flat=True))

    vfolder1 = VirtualFolderDBFactory(
        location='/{LANG}/project0/',
        filter_rules="store1.po",
        priority=4)
    vf1_pks = vfolder1.units.values_list("pk", flat=True)

    assert all(
        priority == 4.0
        for priority
        in vfolder1.units.values_list("priority", flat=True))

    assert all(
        priority == 3.0
        for priority
        in vfolder0.units.exclude(pk__in=vf1_pks)
                         .values_list("priority", flat=True))

    assert all(
        priority == 1.0
        for priority
        in Unit.objects.filter(vfolders__isnull=True)
                       .values_list("priority", flat=True))
Пример #2
0
def test_vfolder_store_priorities():

    # remove the default vfolders and update units to reset priorities
    VirtualFolder.objects.all().delete()
    [store.save() for store in Store.objects.all()]

    assert all(
        priority == 1
        for priority in Store.objects.values_list("priority", flat=True))

    vfolder0 = VirtualFolderDBFactory(filter_rules="store0.po")
    vfolder0.priority = 3
    vfolder0.save()
    vfolder0_stores = vfolder0.units.values_list("store", flat=True).distinct()
    assert all(priority == 3 for priority in Store.objects.filter(
        id__in=vfolder0_stores).values_list("priority", flat=True))
    assert all(priority == 1.0 for priority in Store.objects.exclude(
        id__in=vfolder0_stores).values_list("priority", flat=True))

    vfolder0.filter_rules = "store1.po"
    vfolder0.save()
    vfolder0_stores = vfolder0.units.values_list("store", flat=True).distinct()
    assert all(priority == 3 for priority in Store.objects.filter(
        id__in=vfolder0_stores).values_list("priority", flat=True))
    assert all(priority == 1.0 for priority in Store.objects.exclude(
        id__in=vfolder0_stores).values_list("priority", flat=True))

    vfolder1 = VirtualFolderDBFactory(location='/{LANG}/project0/',
                                      filter_rules="store1.po")
    vfolder1.priority = 4
    vfolder1.save()
    vfolder1_stores = vfolder1.units.values_list("store", flat=True).distinct()

    assert all(priority == 4.0 for priority in Store.objects.filter(
        id__in=vfolder1_stores).values_list("priority", flat=True))

    assert all(
        priority == 3.0
        for priority in Store.objects.filter(id__in=vfolder0_stores).exclude(
            id__in=vfolder1_stores).values_list("priority", flat=True))

    assert all(
        priority == 1.0
        for priority in Store.objects.exclude(id__in=vfolder0_stores).exclude(
            id__in=vfolder1_stores).values_list("priority", flat=True))
Пример #3
0
def test_vfolder_store_priorities(project0):

    # remove the default vfolders and update units to reset priorities
    VirtualFolder.objects.all().delete()
    assert all(
        priority == 1
        for priority in Store.objects.values_list("priority", flat=True))

    vfolder0 = VirtualFolderDBFactory(filter_rules="store0.po", name="FOO")
    vfolder0.priority = 3
    vfolder0.save()
    vfolder0_stores = vfolder0.stores.values_list("pk", flat=True)
    assert all(priority == 3 for priority in Store.objects.filter(
        id__in=vfolder0_stores).values_list("priority", flat=True))
    assert all(priority == 1.0 for priority in Store.objects.exclude(
        id__in=vfolder0_stores).values_list("priority", flat=True))

    vfolder0.filter_rules = "store1.po"
    vfolder0.save()
    vfolder0_stores = vfolder0.stores.values_list("pk", flat=True)
    assert all(priority == 3 for priority in Store.objects.filter(
        id__in=vfolder0_stores).values_list("priority", flat=True))
    assert all(priority == 1.0 for priority in Store.objects.exclude(
        id__in=vfolder0_stores).values_list("priority", flat=True))

    vfolder1 = VirtualFolderDBFactory(filter_rules="store1.po")
    vfolder1.languages.add(*Language.objects.all())
    vfolder1.projects.add(project0)
    vfolder1.priority = 4
    vfolder1.save()
    vfolder1_stores = vfolder1.stores.values_list("pk", flat=True)

    assert all(priority == 4.0 for priority in Store.objects.filter(
        id__in=vfolder1_stores).values_list("priority", flat=True))

    assert all(
        priority == 3.0
        for priority in Store.objects.filter(id__in=vfolder0_stores).exclude(
            id__in=vfolder1_stores).values_list("priority", flat=True))

    assert all(
        priority == 1.0
        for priority in Store.objects.exclude(id__in=vfolder0_stores).exclude(
            id__in=vfolder1_stores).values_list("priority", flat=True))
Пример #4
0
def test_vfolder_store_priorities(project0):

    # remove the default vfolders and update units to reset priorities
    VirtualFolder.objects.all().delete()
    assert all(
        priority == 1
        for priority
        in Store.objects.values_list("priority", flat=True))

    vfolder0 = VirtualFolderDBFactory(filter_rules="store0.po", name="FOO")
    vfolder0.priority = 3
    vfolder0.save()
    vfolder0_stores = vfolder0.stores.values_list("pk", flat=True)
    assert all(
        priority == 3
        for priority
        in Store.objects.filter(id__in=vfolder0_stores)
                        .values_list("priority", flat=True))
    assert all(
        priority == 1.0
        for priority
        in Store.objects.exclude(id__in=vfolder0_stores)
                        .values_list("priority", flat=True))

    vfolder0.filter_rules = "store1.po"
    vfolder0.save()
    vfolder0_stores = vfolder0.stores.values_list("pk", flat=True)
    assert all(
        priority == 3
        for priority
        in Store.objects.filter(id__in=vfolder0_stores)
                        .values_list("priority", flat=True))
    assert all(
        priority == 1.0
        for priority
        in Store.objects.exclude(id__in=vfolder0_stores)
                        .values_list("priority", flat=True))

    vfolder1 = VirtualFolderDBFactory(
        filter_rules="store1.po")
    vfolder1.languages.add(*Language.objects.all())
    vfolder1.projects.add(project0)
    vfolder1.priority = 4
    vfolder1.save()
    vfolder1_stores = vfolder1.stores.values_list("pk", flat=True)

    assert all(
        priority == 4.0
        for priority
        in Store.objects.filter(id__in=vfolder1_stores)
                        .values_list("priority", flat=True))

    assert all(
        priority == 3.0
        for priority
        in Store.objects.filter(id__in=vfolder0_stores)
                        .exclude(id__in=vfolder1_stores)
                        .values_list("priority", flat=True))

    assert all(
        priority == 1.0
        for priority
        in Store.objects.exclude(id__in=vfolder0_stores)
                        .exclude(id__in=vfolder1_stores)
                        .values_list("priority", flat=True))