def test_contabiliza_atendidas(self, _obtener_llamadas_en_espera_raw): self.generador.generar_log(self.entrante1, False, 'COMPLETEAGENT', '35100001111', agente=self.agente1, contacto=None, bridge_wait_time=-1, duracion_llamada=10, archivo_grabacion='', time=None) # No debe contar esta manual self.generador.generar_log(self.entrante1, True, 'COMPLETEAGENT', '35100001112', agente=self.agente1, contacto=None, bridge_wait_time=-1, duracion_llamada=10, archivo_grabacion='', time=None) reporte = ReporteDeLLamadasEntrantesDeSupervision(self.supervisor.user) self.assertEqual(reporte.estadisticas[self.entrante1.id]['recibidas'], 1) self.assertEqual(reporte.estadisticas[self.entrante1.id]['atendidas'], 1) self.assertEqual(reporte.estadisticas[self.entrante1.id]['expiradas'], 0) self.assertEqual( reporte.estadisticas[self.entrante1.id]['abandonadas'], 0) self.assertEqual(reporte.estadisticas[self.entrante1.id]['gestiones'], 0)
def test_reporte_vacio(self, obtener_estadisticas_campanas_entrantes, keys): obtener_estadisticas_campanas_entrantes.return_value = {} keys.return_value = [] reporte = ReporteDeLLamadasEntrantesDeSupervision(self.supervisor.user) keys.assert_called() self.assertNotIn(self.entrante1.id, reporte.estadisticas) self.assertNotIn(self.entrante2.id, reporte.estadisticas)
def test_contabilizar_agentes_activos_reporte_vacio( self, obtener_estadisticas_campanas_entrantes, obtener_agentes_activos): obtener_agentes_activos.return_value = [] obtener_estadisticas_campanas_entrantes.return_value = {} reporte = ReporteDeLLamadasEntrantesDeSupervision(self.supervisor.user) self.assertNotIn(self.entrante1.id, reporte.estadisticas) self.assertNotIn(self.entrante2.id, reporte.estadisticas)
def test_contabilizar_agentes_llamada( self, obtener_agentes_activos, obtener_estadisticas_campanas_entrantes): obtener_agentes_activos.return_value = self._obtener_agentes_activos() obtener_estadisticas_campanas_entrantes.return_value = self._obtener_estadisticas_redis( ) QueueMemberFactory.create(member=self.agente2, queue_name=self.queue) reporte = ReporteDeLLamadasEntrantesDeSupervision(self.supervisor.user) self.assertEqual( reporte.estadisticas[self.entrante1.id]['agentes_llamada'], 1)
def test_contabilizar_estadisticas_campanas( self, obtener_agentes_activos, obtener_estadisticas_campanas_entrantes): obtener_agentes_activos.return_value = [] obtener_estadisticas_campanas_entrantes.return_value = self._obtener_estadisticas_redis( ) reporte = ReporteDeLLamadasEntrantesDeSupervision(self.supervisor.user) self.assertNotIn(self.entrante2.id, reporte.estadisticas) self.assertEqual(reporte.estadisticas[self.entrante1.id]['atendidas'], 0) self.assertEqual( reporte.estadisticas[self.entrante1.id]['abandonadas'], 1) self.assertEqual(reporte.estadisticas[self.entrante1.id]['expiradas'], 1) self.assertEqual(reporte.estadisticas[self.entrante1.id]['gestiones'], 0) self.assertEqual( reporte.estadisticas[self.entrante1.id]['t_promedio_abandono'], 12.5) self.assertEqual( reporte.estadisticas[self.entrante1.id]['t_promedio_espera'], 1) self.assertEqual( reporte.estadisticas[self.entrante1.id]['llamadas_en_espera'], 1)
def get(self, request): reporte = ReporteDeLLamadasEntrantesDeSupervision(request.user) return Response(data={'errors': None, 'data': reporte.estadisticas})
def get_context_data(self, **kwargs): context = super(SupervisionCampanasEntrantesView, self).get_context_data(**kwargs) reporte = ReporteDeLLamadasEntrantesDeSupervision(self.request.user) context['estadisticas'] = reporte.estadisticas return context
def test_reporte_vacio(self, _obtener_llamadas_en_espera_raw): reporte = ReporteDeLLamadasEntrantesDeSupervision(self.supervisor.user) self.assertNotIn(self.entrante1.id, reporte.estadisticas) self.assertNotIn(self.entrante2.id, reporte.estadisticas)