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
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}
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