def test_deshabilitar_is_agente_si_no_hay_grupo(self): self.client.login(username=self.admin.username, password=PASSWORD) url = reverse('user_nuevo') # Sin Grupo Grupo.objects.all().delete() response = self.client.get(url, follow=True) self.assertContains( response, u'Para poder crear un Usuario Agente asegurese de') # Manera poco elegante de ver si el campo is_agente no esta deshabilitado field_is_agente = filtrar_linea(response.content.splitlines(), 'name="0-is_agente"') self.assertNotEqual( field_is_agente.decode('utf-8').find('disabled'), -1) self.grupo1 = GrupoFactory(nombre='grupo1') response = self.client.get(url, follow=True) self.assertNotContains( response, u'Para poder crear un Usuario Agente asegurese de') # Manera poco elegante de ver si el campo is_agente no esta deshabilitado field_is_agente = filtrar_linea(response.content.splitlines(), 'name="0-is_agente"') self.assertEqual(field_is_agente.decode('utf-8').find('disabled'), -1)
def test_deshabilitar_is_agente_si_no_hay_grupo(self): self.client.login(username=self.admin.username, password=PASSWORD) url = reverse('user_nuevo') # Sin Grupo Grupo.objects.all().delete() response = self.client.get(url, follow=True) self.assertContains( response, u'Para poder crear un Usuario Agente asegurese de') # No debe aparecer la opcion de rol Agente choices = response.context_data['form'].fields['rol'].choices roles_disponibles = [choice[1] for choice in choices] self.assertNotIn(User.AGENTE, roles_disponibles) self.grupo1 = GrupoFactory(nombre='grupo1') response = self.client.get(url, follow=True) self.assertNotContains( response, u'Para poder crear un Usuario Agente asegurese de') # Debe aparecer la opcion de rol Agente choices = response.context_data['form'].fields['rol'].choices roles_disponibles = [choice[1] for choice in choices] self.assertIn(User.AGENTE, roles_disponibles)
def crear_agente_profile(self, user=None): if user is None: user = self.crear_user_agente() grupo = GrupoFactory(auto_unpause=0) return AgenteProfile.objects.create(user=user, sip_extension=1000 + user.id, sip_password="******", grupo=grupo, reported_by=user)
def crear_agente_profile(self, user=None): if user is None: user = self.crear_user_agente() grupo = GrupoFactory(auto_unpause=0) profile = AgenteProfile.objects.create(user=user, sip_extension=1000 + user.id, sip_password="******", grupo=grupo, reported_by=user) profile.user.groups.set([Group.objects.get(name=User.AGENTE)]) return profile
def setUp(self): super(LimitarAgendasPersonalesTests, self).setUp() self.grupo1 = GrupoFactory(nombre='grupo1', limitar_agendas_personales=True, cantidad_agendas_personales=1) self.grupo2 = GrupoFactory(nombre='grupo2', limitar_agendas_personales=True, cantidad_agendas_personales=0) self.grupo3 = GrupoFactory(nombre='grupo3', limitar_agendas_personales=False, cantidad_agendas_personales=0) self.agente_1 = self.crear_agente_profile() self.agente_1.grupo = self.grupo1 self.agente_1.save() self.agente_2 = self.crear_agente_profile() self.agente_2.grupo = self.grupo2 self.agente_2.save() self.agente_3 = self.crear_agente_profile() self.agente_3.grupo = self.grupo3 self.agente_3.save() self.contacto = ContactoFactory.create() self.campana_preview = CampanaFactory.create(estado=Campana.ESTADO_ACTIVA, type=Campana.TYPE_PREVIEW) self.campana_dialer = CampanaFactory.create(estado=Campana.ESTADO_ACTIVA, type=Campana.TYPE_DIALER) self.nombre_calificacion_agenda = NombreCalificacion.objects.get( nombre=settings.CALIFICACION_REAGENDA) self.opcion_calificacion_agenda_campana_preview = OpcionCalificacionFactory.create( campana=self.campana_preview, nombre=self.nombre_calificacion_agenda.nombre, tipo=OpcionCalificacion.AGENDA) self.opcion_calificacion_agenda_campana_dialer = OpcionCalificacionFactory.create( campana=self.campana_dialer, nombre=self.nombre_calificacion_agenda.nombre, tipo=OpcionCalificacion.AGENDA)
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 _crear_datos_entorno(self): self.admin = User.objects.filter(is_staff=True).first() # crear grupo grupo = GrupoFactory() # crear agente agente = AgenteProfileFactory(grupo=grupo, reported_by=self.admin) agente.user.username = self.agent_username agente.user.set_password(self.agent_password) agente.sip_extension = 1000 + agente.id agente.user.is_agente = True agente.user.save() agente.save() agente.user.groups.add(Group.objects.get(name='Agente')) asterisk_sip_service = ActivacionAgenteService() asterisk_sip_service.activar() # crear audio ArchivoDeAudioFactory() # crear pausa PausaFactory() # crear formulario (2 campos) form = FormularioFactory() FieldFormularioFactory.create_batch(2, formulario=form) # crear califs.(1 gestion y 1 normal) self.success = NombreCalificacionFactory(nombre='Success') self.angry = NombreCalificacionFactory(nombre='Hangs up angry') # crear BD (3 contactos) self.bd_contacto = BaseDatosContactoFactory() ContactoFactory.create_batch(3, bd_contacto=self.bd_contacto) campana_manual = self._crear_campana_manual() campana_entrante = self._crear_campana_entrante() activacion_queue_service = ActivacionQueueService() activacion_queue_service.activar() # crea un troncal y con este una ruta entrante hacia el pbx-emulator text_config = ("type=friend\n" "host=pbx-emulator\n" "defaultuser=01177660010\n" "secret=OMLtraining72\n" "qualify=yes\n" "insecure=invite\n" "context=from-pstn\n" "disallow=all\n" "allow=alaw\n") register_string = "01177660010:OMLtraining72@pbx-emulator" troncal_pbx_emulator = TroncalSIPFactory( text_config=text_config, register_string=register_string, canales_maximos=1000, caller_id='') sincronizador_troncal = SincronizadorDeConfiguracionTroncalSipEnAsterisk( ) sincronizador_troncal.regenerar_troncales(troncal_pbx_emulator) ruta_saliente = RutaSalienteFactory(ring_time=25, dial_options="Tt") PatronDeDiscadoFactory(ruta_saliente=ruta_saliente, match_pattern="X.") OrdenTroncalFactory(ruta_saliente=ruta_saliente, orden=0, troncal=troncal_pbx_emulator) sincronizador_ruta_saliente = SincronizadorDeConfiguracionDeRutaSalienteEnAsterisk( ) sincronizador_ruta_saliente.regenerar_asterisk(ruta_saliente) # crear ruta entrante self._crear_ruta_entrante(campana_entrante) self._asignar_agente_a_campana(agente, campana_manual) self._asignar_agente_a_campana(agente, campana_entrante)
def _crear_datos_entorno(self): admin = User.objects.filter(is_staff=True).first() # crear grupo grupo = GrupoFactory() # crear modulo modulo = ModuloFactory() # crear agente agente = AgenteProfileFactory(grupo=grupo, reported_by=admin) agente.modulos.add(modulo) agente.user.username = self.agent_username agente.user.set_password(self.agent_password) agente.sip_extension = 1000 + agente.id agente.user.is_agente = True agente.user.save() agente.save() asterisk_sip_service = ActivacionAgenteService() asterisk_sip_service.activar() # crear audio ArchivoDeAudioFactory() # crear pausa PausaFactory() # crear formulario (2 campos) form = FormularioFactory() FieldFormularioFactory.create_batch(2, formulario=form) # crear califs.(1 gestion y 1 normal) success = NombreCalificacionFactory(nombre='Success') angry = NombreCalificacionFactory(nombre='Hangs up angry') # crear BD (3 contactos) bd_contacto = BaseDatosContactoFactory() ContactoFactory.create_batch(3, bd_contacto=bd_contacto) # crear campaña manual campana_manual = CampanaFactory( nombre='test_manual_campaign', bd_contacto=bd_contacto, type=Campana.TYPE_MANUAL, reported_by=admin, es_manual=True, estado=Campana.ESTADO_ACTIVA ) # crear Queue para la campaña Queue.objects.create( campana=campana_manual, name=campana_manual.nombre, maxlen=5, wrapuptime=5, servicelevel=30, strategy='rrmemory', eventmemberstatus=True, eventwhencalled=True, ringinuse=True, setinterfacevar=True, weight=0, wait=120 ) # opciones de calificacion OpcionCalificacionFactory( nombre=success.nombre, campana=campana_manual, tipo=OpcionCalificacion.GESTION) OpcionCalificacionFactory( nombre=angry.nombre, campana=campana_manual, tipo=OpcionCalificacion.NO_ACCION) activacion_queue_service = ActivacionQueueService() activacion_queue_service.activar() # crea un troncal y con este una ruta entrante hacia el pbx-emulator text_config = ("type=friend\n" "host=pbx-emulator\n" "defaultuser=01177660010\n" "secret=OMLtraining72\n" "qualify=yes\n" "insecure=invite\n" "context=from-pstn\n" "disallow=all\n" "allow=alaw\n") register_string = "01177660010:OMLtraining72@pbx-emulator" troncal_pbx_emulator = TroncalSIPFactory( text_config=text_config, register_string=register_string, canales_maximos=1000, caller_id='') sincronizador_troncal = SincronizadorDeConfiguracionTroncalSipEnAsterisk() sincronizador_troncal.regenerar_troncales(troncal_pbx_emulator) ruta_saliente = RutaSalienteFactory(ring_time=25, dial_options="Tt") PatronDeDiscadoFactory(ruta_saliente=ruta_saliente, match_pattern="X.") OrdenTroncalFactory(ruta_saliente=ruta_saliente, orden=0, troncal=troncal_pbx_emulator) sincronizador_ruta_saliente = SincronizadorDeConfiguracionDeRutaSalienteEnAsterisk() sincronizador_ruta_saliente.regenerar_rutas_salientes(ruta_saliente)
def setUp(self): super(CreacionUsuariosTest, self).setUp() self.admin = self.crear_administrador(username='******') self.grupo1 = GrupoFactory(nombre='grupo1')
def _crear_datos_entorno(self): self.admin = User.objects.filter(is_staff=True).first() # crear grupo grupo = GrupoFactory() # crear agente agente = AgenteProfileFactory(grupo=grupo, reported_by=self.admin) agente.user.username = self.agent_username agente.user.set_password(self.agent_password) agente.sip_extension = 1000 + agente.user.id agente.user.is_agente = True agente.user.save() agente.save() agente.user.groups.add(Group.objects.get(name='Agente')) asterisk_sip_service = ActivacionAgenteService() asterisk_sip_service.activar() # crear audio ArchivoDeAudioFactory() # crear pausa PausaFactory() # crear formulario (2 campos) form = FormularioFactory() FieldFormularioFactory.create_batch(2, formulario=form) # crear califs.(1 gestion y 1 normal) self.success = NombreCalificacionFactory(nombre='Success') self.angry = NombreCalificacionFactory(nombre='Hangs up angry') # crear BD (3 contactos) self.bd_contacto = BaseDatosContactoFactory() ContactoFactory.create_batch(3, bd_contacto=self.bd_contacto) campana_manual = self._crear_campana_manual() campana_entrante = self._crear_campana_entrante() activacion_queue_service = ActivacionQueueService() activacion_queue_service.activar() # crea un troncal y con este una ruta entrante hacia el pbx-emulator text_config = ("type=wizard\n" "transport=trunk-transport\n" "accepts_registrations=no\n" "accepts_auth=no\n" "sends_registrations=yes\n" "sends_auth=yes\n" "endpoint/rtp_symmetric=no\n" "endpoint/force_rport=no\n" "endpoint/rewrite_contact=yes\n" "endpoint/timers=yes\n" "aor/qualify_frequency=60\n" "endpoint/allow=alaw,ulaw\n" "endpoint/dtmf_mode=rfc4733\n" "endpoint/context=from-pstn\n" "remote_hosts=pbxemulator:5060\n" "outbound_auth/username=01177660010\n" "outbound_auth/password=OMLtraining72\n") troncal_pbx_emulator = TroncalSIPFactory(text_config=text_config, canales_maximos=1000, tecnologia=1, caller_id='') sincronizador_troncal = SincronizadorDeConfiguracionTroncalSipEnAsterisk( ) sincronizador_troncal.regenerar_troncales(troncal_pbx_emulator) ruta_saliente = RutaSalienteFactory(ring_time=25, dial_options="Tt") PatronDeDiscadoFactory(ruta_saliente=ruta_saliente, match_pattern="X.") OrdenTroncalFactory(ruta_saliente=ruta_saliente, orden=0, troncal=troncal_pbx_emulator) sincronizador_ruta_saliente = SincronizadorDeConfiguracionDeRutaSalienteEnAsterisk( ) sincronizador_ruta_saliente.regenerar_asterisk(ruta_saliente) # crear ruta entrante self._crear_ruta_entrante(campana_entrante) self._asignar_agente_a_campana(agente, campana_manual) self._asignar_agente_a_campana(agente, campana_entrante)
def setUp(self): super(CreacionUsuariosTest, self).setUp() self.admin = self.crear_administrador(username='******') self.grupo1 = GrupoFactory(nombre='grupo1') self.rol_gerente = Group.objects.get(name=User.GERENTE) self.rol_agente = Group.objects.get(name=User.AGENTE)