def setUp(self): self.supervisor1 = self.crear_supervisor_profile(rol=User.SUPERVISOR) self.supervisor2 = self.crear_supervisor_profile(rol=User.SUPERVISOR) self.agente1 = self.crear_agente_profile() self.agente2 = self.crear_agente_profile() self.campana1 = CampanaFactory(estado=Campana.ESTADO_ACTIVA) self.queue_campana_1 = QueueFactory(campana=self.campana1) QueueMemberFactory(member=self.agente1, queue_name=self.queue_campana_1) self.campana1.supervisors.add(self.supervisor1.user) self.campana2 = CampanaFactory(estado=Campana.ESTADO_ACTIVA) self.queue_campana_2 = QueueFactory(campana=self.campana2) QueueMemberFactory(member=self.agente2, queue_name=self.queue_campana_2) self.campana2.supervisors.add(self.supervisor2.user) self.contacto = ContactoFactory(id_externo='id_ext') self.campana3 = CampanaFactory(estado=Campana.ESTADO_ACTIVA) self.campana3.bd_contacto.genera_contactos([self.contacto]) self.campana3.supervisors.add(self.supervisor1.user) self.opcion_calificacion = OpcionCalificacionFactory( campana=self.campana1, tipo=OpcionCalificacion.GESTION) self.calificacion = CalificacionClienteFactory( opcion_calificacion=self.opcion_calificacion) update_change_reason(self.calificacion, 'calificacion') self.grabacion1 = GrabacionFactory.create( duracion=1, agente=self.agente1, callid=self.calificacion.callid, campana=self.campana1, id_cliente='-1') self.grabacion2 = GrabacionFactory(duracion=1, agente=self.agente1, campana=self.campana1) self.grabacion3 = GrabacionFactory(duracion=1, agente=self.agente1, campana=self.campana1) self.marca_campana1 = GrabacionMarcaFactory( callid=self.grabacion1.callid) self.marca_campana2 = GrabacionMarcaFactory( callid=self.grabacion2.callid) self.grabacion2_1 = GrabacionFactory.create(duracion=1, agente=self.agente2, campana=self.campana2) self.marca_campana2_1 = GrabacionMarcaFactory( callid=self.grabacion2_1.callid) self.grabacion3_1 = GrabacionFactory.create( tel_cliente=self.contacto.telefono, agente=self.agente2, campana=self.campana3)
def test_creacion_usuario_preview_por_supervisor_crea_agente_en_contacto( self): usr_supervisor = self.campana.reported_by campana = CampanaFactory(type=Campana.TYPE_PREVIEW, estado=Campana.ESTADO_ACTIVA, bd_contacto=self.campana.bd_contacto, reported_by=usr_supervisor) campana.supervisors.add(usr_supervisor) QueueFactory(campana=campana) QueueMemberFactory.create(member=self.agente, queue_name=campana.queue_campana) self.client.logout() self.client.login(username=usr_supervisor.username, password=self.PWD) post_data = self.post_data_contacto post_data['idCampaign'] = str(campana.id) response = self.client.post(self.URL, json.dumps(post_data), format='json', content_type='application/json') self.assertEqual(response.status_code, 200) agente_en_contacto = AgenteEnContacto.objects.filter( campana_id=campana.id, contacto_id=response.json()['id'], agente_id=-1, es_originario=True) self.assertEqual(agente_en_contacto.count(), 1)
def setUp(self): super(AuditoriasCalificacionesTests, self).setUp() self.campana1 = CampanaFactory(estado=Campana.ESTADO_ACTIVA) self.campana2 = CampanaFactory(estado=Campana.ESTADO_ACTIVA) self.campana3 = CampanaFactory(estado=Campana.ESTADO_ACTIVA) self.supervisor1 = self.crear_supervisor_profile(rol=User.GERENTE) self.supervisor2 = self.crear_supervisor_profile(rol=User.GERENTE) self.supervisor3 = self.crear_supervisor_profile(rol=User.SUPERVISOR) self.supervisor4 = self.crear_supervisor_profile(rol=User.REFERENTE) # calificaciones y auditorias de gestion para campana1 opcion_calificacion11 = OpcionCalificacionFactory( campana=self.campana1, tipo=OpcionCalificacion.GESTION) self.calificacion11 = CalificacionClienteFactory( opcion_calificacion=opcion_calificacion11) # calificacion de gestion para campana2 opcion_calificacion21_gestion = OpcionCalificacionFactory( campana=self.campana2, tipo=OpcionCalificacion.GESTION) opcion_calificacion21_no_accion = OpcionCalificacionFactory( campana=self.campana2, tipo=OpcionCalificacion.NO_ACCION) self.calificacion21 = CalificacionClienteFactory( opcion_calificacion=opcion_calificacion21_no_accion) self.calificacion22 = CalificacionClienteFactory( opcion_calificacion=opcion_calificacion21_gestion) self.calificacion23 = CalificacionClienteFactory( opcion_calificacion=opcion_calificacion21_gestion) self.calificacion24 = CalificacionClienteFactory( opcion_calificacion=opcion_calificacion21_gestion) self.calificacion25 = CalificacionClienteFactory( opcion_calificacion=opcion_calificacion21_gestion) self.queue_campana_2 = QueueFactory(campana=self.campana2) QueueMemberFactory(member=self.calificacion25.agente, queue_name=self.queue_campana_2) self.auditoria_aprobada = AuditoriaCalificacionFactory( calificacion=self.calificacion23, resultado=AuditoriaCalificacion.APROBADA) self.auditoria_rechazada = AuditoriaCalificacionFactory( calificacion=self.calificacion24, resultado=AuditoriaCalificacion.RECHAZADA) self.auditoria_rechazada = AuditoriaCalificacionFactory( calificacion=self.calificacion25, resultado=AuditoriaCalificacion.OBSERVADA) self.campana2.supervisors.add(self.supervisor2.user) self.campana3.supervisors.add(self.supervisor2.user) # calificacion de gestion para campana2 opcion_calificacion31_gestion = OpcionCalificacionFactory( campana=self.campana3, tipo=OpcionCalificacion.GESTION) self.calificacion31 = CalificacionClienteFactory( opcion_calificacion=opcion_calificacion31_gestion) self.client.login(username=self.supervisor2.user, password=self.DEFAULT_PASSWORD)
def setUp(self, _convertir_audio): base_datos = self.crear_base_datos_contacto(cant_contactos=100) user_agente = self.crear_user_agente() self.agente = self.crear_agente_profile(user_agente) self.campana = self.crear_campana(type=Campana.TYPE_PREVIEW, bd_contactos=base_datos) self.queue_campana = QueueFactory(campana=self.campana) self.queue_member = QueueMemberFactory(member=self.agente, queue_name=self.queue_campana) self.estados = LlamadaLog.EVENTOS_NO_CONTACTACION
def setUp(self): super(StatusCalificacionLlamadaTest, self).setUp() user = self.crear_user_agente(username='******') self.agente = self.crear_agente_profile(user) self.agente.grupo.obligar_calificacion = True self.client.login(username=user.username, password=PASSWORD) self.campana = CampanaFactory.create() QueueFactory(campana=self.campana) QueueMemberFactory.create(member=self.agente, queue_name=self.campana.queue_campana) self.contacto = ContactoFactory.create() self.campana.bd_contacto.contactos.add(self.contacto)
def test_creacion_usuario_preview_por_agente_crea_agente_en_contacto(self): campana = CampanaFactory(type=Campana.TYPE_PREVIEW, estado=Campana.ESTADO_ACTIVA, bd_contacto=self.campana.bd_contacto) QueueFactory(campana=campana) QueueMemberFactory.create(member=self.agente, queue_name=campana.queue_campana) post_data = self.post_data_contacto post_data['idCampaign'] = str(campana.id) response = self.client.post(self.URL, json.dumps(post_data), format='json', content_type='application/json') self.assertEqual(response.status_code, 200) agente_en_contacto = AgenteEnContacto.objects.filter( campana_id=campana.id, contacto_id=response.json()['id'], agente_id=self.agente.id, es_originario=False) self.assertEqual(agente_en_contacto.count(), 1)
def setUp(self): super(RedisDatabaseTest, self).setUp() audio_1 = ArchivoDeAudioFactory(audio_asterisk='oml/audio_1') audio_2 = ArchivoDeAudioFactory(audio_asterisk='oml/audio_2') audio_3 = ArchivoDeAudioFactory(audio_asterisk='oml/audio_3') self.ivr = IVRFactory(nombre='IVR 1', time_out=10, time_out_retries=5, invalid_retries=1, audio_principal=audio_1, time_out_audio=audio_2, invalid_audio=audio_3) self.nodo_ivr = DestinoEntrante.crear_nodo_ruta_entrante(self.ivr) self.grupo_horario = GrupoHorarioFactory() self.validacion_tiempo = ValidacionTiempoFactory( grupo_horario=self.grupo_horario) self.tc = ValidacionFechaHoraFactory() self.nodo_tc = DestinoEntrante.crear_nodo_ruta_entrante(self.tc) self.id_cliente = IdentificadorClienteFactory(audio=audio_1) self.nodo_id_cliente = DestinoEntrante.crear_nodo_ruta_entrante( self.id_cliente) self.pausa = PausaFactory() self.inr = RutaEntranteFactory(destino=self.nodo_ivr) self.trunk = TroncalSIPFactory() self.destino_personalizado = DestinoPersonalizadoFactory() self.nodo_destino_personalizado = DestinoEntrante.crear_nodo_ruta_entrante( self.destino_personalizado) self.campana_entrante = CampanaFactory(type=Campana.TYPE_ENTRANTE) QueueFactory(campana=self.campana_entrante) self.campana_dialer = CampanaFactory(type=Campana.TYPE_DIALER) QueueFactory(campana=self.campana_dialer) self.campana_preview = CampanaFactory(type=Campana.TYPE_PREVIEW) QueueFactory(campana=self.campana_preview) self.campana_manual = CampanaFactory(type=Campana.TYPE_MANUAL) QueueFactory(campana=self.campana_manual)
def crear_campanas(self): self.campanas = {} estado = Campana.ESTADO_ACTIVA for (tipo, nombre_tipo) in Campana.TYPES_CAMPANA: nombre = 'campana_simulada_%s' % nombre_tipo qs = Campana.objects.filter(nombre=nombre) if qs.count() == 1: campana = qs[0] else: campana = CampanaFactory.create( type=tipo, estado=estado, nombre=nombre, reported_by=self.agentes[0].user) QueueFactory(campana=campana, name=campana.nombre) ContactoFactory.create_batch(5, bd_contacto=campana.bd_contacto) self.campanas[tipo] = campana
def setUp(self): super(ABMUsuariosTest, self).setUp() self.admin = self.crear_administrador(username='******') self.gerente = self.crear_supervisor_profile(rol=User.GERENTE, user=None) self.supervisor = self.crear_supervisor_profile(rol=User.SUPERVISOR, user=None) self.grupo1 = GrupoFactory(nombre='grupo1') self.rol_gerente = Group.objects.get(name=User.GERENTE) self.rol_supervisor = Group.objects.get(name=User.SUPERVISOR) self.rol_agente = Group.objects.get(name=User.AGENTE) self.client.login(username=self.admin.username, password=PASSWORD) self.agente = self.crear_agente_profile() self.campana = CampanaFactory(estado=Campana.ESTADO_ACTIVA, type=Campana.TYPE_MANUAL) QueueFactory(campana=self.campana) QueueMemberFactory.create(member=self.agente, queue_name=self.campana.queue_campana)
def setUp(self): self.campana_entrante = CampanaFactory(type=Campana.TYPE_ENTRANTE) self.queue_entrante = QueueFactory(campana=self.campana_entrante)
def setUp(self): self.supervisor1 = self.crear_supervisor_profile(rol=User.SUPERVISOR) self.supervisor2 = self.crear_supervisor_profile(rol=User.SUPERVISOR) self.agente1 = self.crear_agente_profile() self.agente2 = self.crear_agente_profile() self.campana1 = CampanaFactory(estado=Campana.ESTADO_ACTIVA) self.queue_campana_1 = QueueFactory(campana=self.campana1) QueueMemberFactory(member=self.agente1, queue_name=self.queue_campana_1) self.campana1.supervisors.add(self.supervisor1.user) self.campana2 = CampanaFactory(estado=Campana.ESTADO_ACTIVA) self.queue_campana_2 = QueueFactory(campana=self.campana2) QueueMemberFactory(member=self.agente2, queue_name=self.queue_campana_2) self.campana2.supervisors.add(self.supervisor2.user) self.contacto = ContactoFactory(id_externo='id_ext') self.campana3 = CampanaFactory(estado=Campana.ESTADO_ACTIVA) self.campana3.bd_contacto.genera_contactos([self.contacto]) self.campana3.supervisors.add(self.supervisor1.user) self.opcion_calificacion = OpcionCalificacionFactory( campana=self.campana1, tipo=OpcionCalificacion.GESTION) self.calificacion = CalificacionClienteFactory( opcion_calificacion=self.opcion_calificacion) update_change_reason(self.calificacion, 'calificacion') self.llamada_log1 = LlamadaLogFactory.create( duracion_llamada=1, agente_id=self.agente1.id, callid=self.calificacion.callid, campana_id=self.campana1.id, contacto_id='-1', event='COMPLETEAGENT') self.llamada_log2 = LlamadaLogFactory.create( duracion_llamada=1, agente_id=self.agente1.id, campana_id=self.campana1.id, event='COMPLETEAGENT') self.llamada_log3 = LlamadaLogFactory.create( duracion_llamada=1, agente_id=self.agente1.id, campana_id=self.campana1.id, event='COMPLETEAGENT') self.marca_campana1 = GrabacionMarcaFactory( callid=self.llamada_log1.callid) self.marca_campana2 = GrabacionMarcaFactory( callid=self.llamada_log2.callid) self.llamada_log2_1 = LlamadaLogFactory.create( duracion_llamada=1, agente_id=self.agente2.id, campana_id=self.campana2.id, event='COMPLETEAGENT') self.marca_campana2_1 = GrabacionMarcaFactory( callid=self.llamada_log2_1.callid) self.llamada_log3_1 = LlamadaLogFactory.create( numero_marcado=self.contacto.telefono, agente_id=self.agente2.id, campana_id=self.campana3.id, event='COMPLETEAGENT') (_, hace_mucho, ahora) = self._obtener_fechas() self.rango_hace_mucho = hace_mucho.date().strftime('%d/%m/%Y') + ' - ' + \ ahora.date().strftime('%d/%m/%Y')