Exemplo n.º 1
0
def test_vfolder_calc_priority(settings, store0):
    vf = VirtualFolderDBFactory(filter_rules=store0.name)
    vf.priority = 5
    vf.save()
    assert store0.calculate_priority() == 5.0
    settings.INSTALLED_APPS.remove("virtualfolder")
    assert store0.calculate_priority() == 1.0
Exemplo n.º 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))
Exemplo n.º 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))
Exemplo n.º 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))