Esempio n. 1
0
 def test_datos_reporte_grafico_detalle_llamadas_manuales_coinciden_estadisticas_sistema(
         self):
     campana_manual = CampanaFactory(type=Campana.TYPE_MANUAL,
                                     estado=Campana.ESTADO_ACTIVA)
     self.generador_log_llamadas.generar_log(campana_manual,
                                             True,
                                             'COMPLETEAGENT',
                                             self.telefono1,
                                             agente=self.agente_profile)
     self.generador_log_llamadas.generar_log(campana_manual,
                                             True,
                                             'COMPLETEOUTNUM',
                                             self.telefono2,
                                             agente=self.agente_profile)
     self.generador_log_llamadas.generar_log(campana_manual,
                                             True,
                                             'FAIL',
                                             self.telefono3,
                                             agente=self.agente_profile)
     hoy_ahora = fecha_hora_local(timezone.now())
     fecha_desde = datetime_hora_minima_dia_utc(hoy_ahora)
     fecha_hasta = datetime_hora_maxima_dia_utc(hoy_ahora)
     estadisticas_service = EstadisticasService(campana_manual, fecha_desde,
                                                fecha_hasta)
     estadisticas_service.calcular_estadisticas_totales()
     reporte = estadisticas_service.reporte_detalle_llamadas.reporte
     self.assertEqual(reporte['Discadas'], 3)
     self.assertEqual(reporte['Discadas atendidas'], 2)
     self.assertEqual(reporte['Discadas no atendidas'], 1)
Esempio n. 2
0
 def test_datos_reporte_grafico_llamadas_entrantes_promedio_tiempo_espera(
         self):
     campana_entrante = CampanaFactory(type=Campana.TYPE_ENTRANTE,
                                       estado=Campana.ESTADO_ACTIVA)
     hoy = fecha_hora_local(timezone.now())
     self.generador_log_llamadas.generar_log(campana_entrante,
                                             False,
                                             'COMPLETEAGENT',
                                             self.telefono1,
                                             agente=self.agente_profile,
                                             time=hoy,
                                             bridge_wait_time=4,
                                             callid=1)
     self.generador_log_llamadas.generar_log(campana_entrante,
                                             False,
                                             'COMPLETEOUTNUM',
                                             self.telefono2,
                                             agente=self.agente_profile,
                                             time=hoy,
                                             bridge_wait_time=2,
                                             callid=2)
     hoy_ahora = fecha_hora_local(timezone.now())
     fecha_desde = datetime_hora_minima_dia_utc(hoy_ahora)
     fecha_hasta = datetime_hora_maxima_dia_utc(hoy_ahora)
     estadisticas_service = EstadisticasService(campana_entrante,
                                                fecha_desde, fecha_hasta)
     estadisticas_service.calcular_estadisticas_totales()
     self.assertEqual(
         estadisticas_service.reporte_totales_llamadas.
         tiempo_promedio_espera, 3)
Esempio n. 3
0
 def test_datos_reporte_grafico_llamadas_entrantes_promedio_tiempo_abandono(
         self):
     campana_entrante = CampanaFactory(type=Campana.TYPE_ENTRANTE,
                                       estado=Campana.ESTADO_ACTIVA)
     hoy = fecha_hora_local(timezone.now())
     self.generador_log_llamadas.generar_log(campana_entrante,
                                             False,
                                             'ABANDON',
                                             self.telefono1,
                                             agente=self.agente_profile,
                                             time=hoy,
                                             bridge_wait_time=4)
     LlamadaLogFactory(tipo_campana=Campana.TYPE_ENTRANTE,
                       tipo_llamada=LlamadaLog.LLAMADA_ENTRANTE,
                       campana_id=campana_entrante.pk,
                       event='ABANDONWEL',
                       bridge_wait_time=5,
                       time=hoy)
     hoy_ahora = fecha_hora_local(timezone.now())
     fecha_desde = datetime_hora_minima_dia_utc(hoy_ahora)
     fecha_hasta = datetime_hora_maxima_dia_utc(hoy_ahora)
     estadisticas_service = EstadisticasService(campana_entrante,
                                                fecha_desde, fecha_hasta)
     estadisticas_service.calcular_estadisticas_totales()
     self.assertEqual(
         estadisticas_service.reporte_totales_llamadas.
         tiempo_promedio_abandono, 4.5)
Esempio n. 4
0
 def test_datos_reporte_grafico_llamadas_entrantes_realizadas_muestran_solo_dia_actual(
         self):
     campana_entrante = CampanaFactory(type=Campana.TYPE_ENTRANTE,
                                       estado=Campana.ESTADO_ACTIVA)
     hoy = fecha_hora_local(timezone.now())
     ayer = hoy - timedelta(days=1)
     self.generador_log_llamadas.generar_log(campana_entrante,
                                             True,
                                             'COMPLETEAGENT',
                                             self.telefono1,
                                             agente=self.agente_profile,
                                             time=ayer)
     self.generador_log_llamadas.generar_log(campana_entrante,
                                             True,
                                             'COMPLETEOUTNUM',
                                             self.telefono2,
                                             agente=self.agente_profile,
                                             time=hoy)
     hoy_ahora = fecha_hora_local(timezone.now())
     fecha_desde = datetime_hora_minima_dia_utc(hoy_ahora)
     fecha_hasta = datetime_hora_maxima_dia_utc(hoy_ahora)
     estadisticas_service = EstadisticasService(campana_entrante,
                                                fecha_desde, fecha_hasta)
     estadisticas_service.calcular_estadisticas_totales()
     self.assertEqual(
         estadisticas_service.reporte_totales_llamadas.llamadas_realizadas,
         1)
 def test_datos_reporte_grafico_total_llamadas_entrantes_coinciden_estadisticas_sistema(self):
     campana_entrante = CampanaFactory(type=Campana.TYPE_ENTRANTE, estado=Campana.ESTADO_ACTIVA)
     self.generador_log_llamadas.generar_log(
         campana_entrante, False, 'COMPLETEAGENT', self.telefono1, agente=self.agente_profile)
     self.generador_log_llamadas.generar_log(
         campana_entrante, False, 'COMPLETEOUTNUM', self.telefono2, agente=self.agente_profile)
     self.generador_log_llamadas.generar_log(
         campana_entrante, False, 'EXITWITHTIMEOUT', self.telefono3, agente=self.agente_profile)
     self.generador_log_llamadas.generar_log(
         campana_entrante, False, 'ABANDON', self.telefono4, agente=self.agente_profile)
     self.generador_log_llamadas.generar_log(
         campana_entrante, True, 'COMPLETEAGENT', self.telefono1, agente=self.agente_profile)
     self.generador_log_llamadas.generar_log(
         campana_entrante, True, 'COMPLETEOUTNUM', self.telefono2, agente=self.agente_profile)
     hoy_ahora = fecha_hora_local(timezone.now())
     fecha_desde = datetime_hora_minima_dia_utc(hoy_ahora)
     fecha_hasta = datetime_hora_maxima_dia_utc(hoy_ahora)
     estadisticas_service = EstadisticasService(campana_entrante, fecha_desde, fecha_hasta)
     estadisticas_service.calcular_estadisticas_totales()
     reporte = estadisticas_service.reporte_detalle_llamadas.reporte
     self.assertEqual(reporte['Recibidas'], 4)
     self.assertEqual(reporte['Atendidas'], 2)
     self.assertEqual(reporte['Expiradas'], 1)
     self.assertEqual(reporte['Abandonadas'], 1)
     self.assertEqual(reporte['Manuales'], 2)
     self.assertEqual(reporte['Manuales atendidas'], 2)
     self.assertEqual(reporte['Manuales no atendidas'], 0)
 def test_datos_reporte_grafico_detalle_llamadas_dialer_coinciden_estadisticas_sistema(
         self, obtener_dato_campana_run):
     obtener_dato_campana_run.return_value = {'n_est_remaining_calls': 0}
     campana_dialer = CampanaFactory(type=Campana.TYPE_DIALER, estado=Campana.ESTADO_ACTIVA)
     self.generador_log_llamadas.generar_log(
         campana_dialer, False, 'COMPLETEAGENT', self.telefono1, agente=self.agente_profile)
     self.generador_log_llamadas.generar_log(
         campana_dialer, False, 'COMPLETEOUTNUM', self.telefono2, agente=self.agente_profile)
     self.generador_log_llamadas.generar_log(
         campana_dialer, False, 'ABANDON', self.telefono3, agente=self.agente_profile)
     self.generador_log_llamadas.generar_log(
         campana_dialer, False, 'EXITWITHTIMEOUT', self.telefono4, agente=self.agente_profile)
     self.generador_log_llamadas.generar_log(
         campana_dialer, False, 'CANCEL', self.telefono4, agente=self.agente_profile)
     self.generador_log_llamadas.generar_log(
         campana_dialer, True, 'COMPLETEAGENT', self.telefono1, agente=self.agente_profile)
     self.generador_log_llamadas.generar_log(
         campana_dialer, True, 'COMPLETEOUTNUM', self.telefono2, agente=self.agente_profile)
     self.generador_log_llamadas.generar_log(
         campana_dialer, True, 'NOANSWER', self.telefono2, agente=self.agente_profile)
     hoy_ahora = fecha_hora_local(timezone.now())
     fecha_desde = datetime_hora_minima_dia_utc(hoy_ahora)
     fecha_hasta = datetime_hora_maxima_dia_utc(hoy_ahora)
     estadisticas_service = EstadisticasService(campana_dialer, fecha_desde, fecha_hasta)
     estadisticas_service.calcular_estadisticas_totales()
     reporte = estadisticas_service.reporte_detalle_llamadas.reporte
     self.assertEqual(reporte['Discadas'], 5)
     self.assertEqual(reporte['Conectadas al agente'], 2)
     self.assertEqual(reporte['Atendidas'], 4)
     self.assertEqual(reporte['Perdidas'], 2)
     self.assertEqual(reporte['Manuales'], 3)
     self.assertEqual(reporte['Manuales atendidas'], 2)
     self.assertEqual(reporte['Manuales no atendidas'], 1)
 def test_datos_reporte_grafico_detalle_llamadas_preview_coinciden_estadisticas_sistema(self):
     hoy_ahora = fecha_hora_local(timezone.now())
     fecha_desde = datetime_hora_minima_dia_utc(hoy_ahora)
     fecha_hasta = datetime_hora_maxima_dia_utc(hoy_ahora)
     estadisticas_service = EstadisticasService(self.campana_activa, fecha_desde, fecha_hasta)
     estadisticas_service.calcular_estadisticas_totales()
     reporte = estadisticas_service.reporte_detalle_llamadas.reporte
     # se usan los logs de llamadas del setUp pues la campaña usada es preview
     self.assertEqual(reporte['Discadas'], 2)
     self.assertEqual(reporte['Conectadas'], 2)
     self.assertEqual(reporte['No conectadas'], 0)
     self.assertEqual(reporte['Manuales'], 2)
     self.assertEqual(reporte['Manuales atendidas'], 1)
     self.assertEqual(reporte['Manuales no atendidas'], 1)
 def test_calificaciones_agenda_se_adicionan_a_llamadas_pendientes(self):
     campana_manual = CampanaFactory(type=Campana.TYPE_MANUAL, estado=Campana.ESTADO_ACTIVA)
     opcion_calificacion_agenda = OpcionCalificacionFactory(
         nombre=settings.CALIFICACION_REAGENDA, campana=campana_manual,
         tipo=OpcionCalificacion.AGENDA)
     log = LlamadaLogFactory(campana_id=campana_manual.pk)
     CalificacionClienteFactory(
         callid=log.callid,
         opcion_calificacion=opcion_calificacion_agenda, agente=self.agente_profile)
     hoy_ahora = fecha_hora_local(timezone.now())
     fecha_desde = datetime_hora_minima_dia_utc(hoy_ahora)
     fecha_hasta = datetime_hora_maxima_dia_utc(hoy_ahora)
     estadisticas_service = EstadisticasService(campana_manual, fecha_desde, fecha_hasta)
     estadisticas_service.calcular_estadisticas_totales()
     self.assertEqual(estadisticas_service.reporte_totales_llamadas.llamadas_pendientes, 1)