예제 #1
0
def test_efecto_diferencia_1(db, caplog):
    fiscal_1 = nuevo_fiscal()
    fiscal_2 = nuevo_fiscal()
    mesa_categoria = MesaCategoriaFactory()
    carga_1 = nueva_carga(mesa_categoria, fiscal_1, [30, 20, 10])
    carga_1.actualizar_firma()
    mesa_categoria.carga_testigo = carga_1
    mesa_categoria.save()

    # incompatible
    carga_2 = nueva_carga(mesa_categoria, fiscal_2, [30, 20, 9])
    carga_2.actualizar_firma()
    efecto_scoring_troll_confirmacion_carga(mesa_categoria)
    # hay un solo evento troll del fiscal 2, y la diferencia es 1
    assert EventoScoringTroll.objects.filter(
        fiscal_afectado=fiscal_2).get().variacion == carga_1 - carga_2 == 1
예제 #2
0
def test_datos_previos_parcial(db):
    o1 = OpcionFactory(tipo=Opcion.TIPOS.metadata)
    o2 = OpcionFactory()
    cat1 = CategoriaFactory(opciones=[o1, o2])
    cat1o1 = CategoriaOpcionFactory(categoria=cat1, opcion=o1, orden=1)
    cat1o2 = CategoriaOpcionFactory(categoria=cat1, opcion=o2, orden=2)

    # tengo una consolidación parcial
    mc = MesaCategoriaFactory(
        categoria=cat1, status=MesaCategoria.STATUS.parcial_consolidada_dc)
    carga = CargaFactory(mesa_categoria=mc, tipo='total')
    VotoMesaReportadoFactory(carga=carga, opcion=o1, votos=10)
    VotoMesaReportadoFactory(carga=carga, opcion=o2, votos=12)
    mc.carga_testigo = carga
    mc.save()

    # si pedimos datos previos para realizar una carga total, los de consolidados parciales vienen
    assert mc.datos_previos('total') == {o1.id: 10, o2.id: 12}
예제 #3
0
def test_efecto_ignora_cargas_incompatibles(db, caplog):
    with override_config(SCORING_TROLL_DESCUENTO_ACCION_CORRECTA=28):
        fiscal_1 = nuevo_fiscal()
        fiscal_2 = nuevo_fiscal()
        mesa_categoria = MesaCategoriaFactory()
        carga_1 = nueva_carga(mesa_categoria, fiscal_1, [30, 20, 10])
        carga_1.actualizar_firma()
        mesa_categoria.carga_testigo = carga_1
        mesa_categoria.save()

        # incompatible
        carga_2 = nueva_carga(mesa_categoria, fiscal_2, [30, 20])
        carga_2.actualizar_firma()
        efecto_scoring_troll_confirmacion_carga(mesa_categoria)

        # se ignoran las diferencias, sólo se genera evento con variación negativa para la carga testigo
        assert EventoScoringTroll.objects.count() == 1
        assert EventoScoringTroll.objects.get().variacion == -28