Exemple #1
0
    def test_devuelve_correctamente_no_contactacion(self):
        """
        este test testea todos los resultados las cantidad de los no
        contactdos chequeando que devuelva correctamente
        """
        contactos = self.campana.bd_contacto.contactos.all()
        generador = GeneradorDeLlamadaLogs()
        cant_llamados = 100
        for _ in range(0, cant_llamados):
            contacto = random.choice(contactos)
            estado = random.choice(self.estados)
            generador.generar_log(self.campana, False, estado,
                                  contacto.telefono, self.agente, contacto)

        cantidades = {}
        for estado in self.estados:
            cantidades[EstadisticasContactacion.MAP_ESTADO_ID[estado]] = 0

        no_llamados = cant_llamados
        for contacto in contactos:
            logs = LlamadaLog.objects.filter(
                contacto_id=contacto.id).order_by('-id')
            if logs:
                log = logs[0]
                self.assertIn(log.event, self.estados)
                cantidades[EstadisticasContactacion.MAP_ESTADO_ID[
                    log.event]] += 1
                no_llamados -= 1

        estadisticas = EstadisticasContactacion()
        no_contactados = estadisticas.obtener_cantidad_no_contactados(
            self.campana)
        for key, value in no_contactados.items():
            self.assertEqual(cantidades[key], value.cantidad)
Exemple #2
0
    def get_form_kwargs(self):
        kwargs = super(ReciclarCampanaDialerFormView, self).get_form_kwargs()
        estadisticas = EstadisticasContactacion()
        campana = Campana.objects.get(pk=self.kwargs['pk_campana'])

        contactados = estadisticas.obtener_cantidad_calificacion(campana)
        contactados_choice = [(contactacion.id, contactacion.label_checkbox)
                              for contactacion in contactados]
        no_contactados = estadisticas.obtener_cantidad_no_contactados(campana)
        no_contactados_choice = [(value.id, value.label_checkbox)
                                 for key, value in no_contactados.items()]
        kwargs['reciclado_choice'] = contactados_choice
        kwargs['no_contactados_choice'] = no_contactados_choice
        return kwargs
Exemple #3
0
 def get_context_data(self, **kwargs):
     context = super(ReciclarCampanaMixin, self).get_context_data(**kwargs)
     estadisticas = EstadisticasContactacion()
     campana = Campana.objects.get(pk=self.kwargs['pk_campana'])
     contactados = estadisticas.obtener_cantidad_calificacion(campana)
     contactados_choice = [(contactacion.id, contactacion.nombre,
                            contactacion.cantidad)
                           for contactacion in contactados]
     no_contactados = estadisticas.obtener_cantidad_no_contactados(campana)
     no_contactados_choice = [(value.id, value.nombre, value.cantidad)
                              for key, value in no_contactados.items()]
     context['contactados'] = contactados_choice
     context['no_contactados'] = no_contactados_choice
     return context