Ejemplo n.º 1
0
def test_elegir_acta_prioriza_por_tamaño_circuito(db, fiscal_client):
    e1 = EleccionFactory()

    m1 = AttachmentFactory(mesa__eleccion=[e1]).mesa
    m2 = AttachmentFactory(mesa__eleccion=[e1]).mesa
    m3 = AttachmentFactory(mesa__eleccion=[e1]).mesa
    # creo otras mesas asociadas a los circuitos
    c1 = m1.lugar_votacion.circuito
    c2 = m2.lugar_votacion.circuito
    c3 = m3.lugar_votacion.circuito

    MesaFactory.create_batch(3, eleccion=[e1], lugar_votacion__circuito=c1)
    MesaFactory.create_batch(10, eleccion=[e1], lugar_votacion__circuito=c2)
    MesaFactory.create_batch(5, eleccion=[e1], lugar_votacion__circuito=c3)
    assert c1.electores == 400
    assert c2.electores == 1100
    assert c3.electores == 600
    assert m1.orden_de_carga == m2.orden_de_carga == m3.orden_de_carga == 1
    response = fiscal_client.get(reverse('elegir-acta-a-cargar'))
    assert response.status_code == 302
    assert response.url == reverse('mesa-cargar-resultados',
                                   args=[e1.id, m2.numero])
    response = fiscal_client.get(reverse('elegir-acta-a-cargar'))
    assert response.status_code == 302
    assert response.url == reverse('mesa-cargar-resultados',
                                   args=[e1.id, m3.numero])
    response = fiscal_client.get(reverse('elegir-acta-a-cargar'))
    assert response.status_code == 302
    assert response.url == reverse('mesa-cargar-resultados',
                                   args=[e1.id, m1.numero])
Ejemplo n.º 2
0
def test_siguiente_accion_balancea_sin_scheduler(fiscal_client,
                                                 cant_attachments, cant_mcs,
                                                 coeficiente, expect):
    attachments = AttachmentFactory.create_batch(cant_attachments,
                                                 status='sin_identificar')
    mesas = MesaFactory.create_batch(cant_mcs)
    for i in range(cant_mcs):
        attachment_identificado = AttachmentFactory(mesa=mesas[i],
                                                    status='identificada')
        MesaCategoriaFactory(mesa=mesas[i],
                             coeficiente_para_orden_de_carga=1,
                             categoria__sensible=True)

    # Como la URL de identificación pasa un id no predictible
    # y no nos importa acá saber exactamente a que instancia se relaciona la acción
    # lo que evalúo es que redirija a una url que empiece así.
    beginning = reverse(expect, args=[0])[:10]

    with override_config(COEFICIENTE_IDENTIFICACION_VS_CARGA=coeficiente):
        response = fiscal_client.get(reverse('siguiente-accion'))
    assert response.status_code == HTTPStatus.FOUND
    assert response.url.startswith(beginning)