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])
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)