コード例 #1
0
ファイル: tests.py プロジェクト: PRGskullbulks/ominicontacto
    def setUp(self):
        super(APITest, self).setUp()
        self.factory = RequestFactory()

        self.supervisor_admin = self.crear_supervisor_profile(
            rol=User.ADMINISTRADOR)
        self.supervisor = self.crear_supervisor_profile(rol=User.SUPERVISOR)
        self.agente_profile = self.crear_agente_profile()

        self.campana_activa = CampanaFactory.create(
            estado=Campana.ESTADO_ACTIVA)
        self.campana_activa_supervisor = CampanaFactory.create(
            estado=Campana.ESTADO_ACTIVA)
        self.campana_activa_supervisor.supervisors.add(self.supervisor.user)
        self.campana_finalizada = CampanaFactory(
            estado=Campana.ESTADO_FINALIZADA)
        self.queue = QueueFactory.create(campana=self.campana_activa)
        self.queue2 = QueueFactory.create(
            campana=self.campana_activa_supervisor)
        self.queue3 = QueueFactory.create(campana=self.campana_finalizada)
        QueueMemberFactory.create(member=self.agente_profile,
                                  queue_name=self.queue)
        self.sistema_externo = SistemaExternoFactory()
        self.opcion_calificacion = OpcionCalificacionFactory(
            campana=self.campana_activa)

        self.calificacion_cliente = CalificacionClienteFactory(
            opcion_calificacion=self.opcion_calificacion,
            agente=self.agente_profile)

        for user in User.objects.all():
            Token.objects.create(user=user)
コード例 #2
0
    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)
コード例 #3
0
 def setUp(self):
     self.agente_1 = self.crear_agente_profile()
     self.agente_2 = self.crear_agente_profile()
     self.supervisor = self.crear_supervisor_profile()
     self.campana_preview = CampanaFactory.create(
         type=Campana.TYPE_PREVIEW, tiempo_desconexion=2, estado=Campana.ESTADO_ACTIVA)
     QueueFactory.create(campana=self.campana_preview)
     self._hacer_miembro(self.agente_1, self.campana_preview)
     self._hacer_miembro(self.agente_2, self.campana_preview)
     self.contacto_1 = ContactoFactory.create(bd_contacto=self.campana_preview.bd_contacto)
     self.contacto_2 = ContactoFactory.create(bd_contacto=self.campana_preview.bd_contacto)
     self.campana_preview.establecer_valores_iniciales_agente_contacto(False, False)
     self.client.login(username=self.agente_1.user.username, password=PASSWORD)
コード例 #4
0
 def _hacer_miembro(self, usuario_agente, campana):
     agente = usuario_agente.get_agente_profile()
     queue = QueueFactory.create(campana=campana)
     QueueMemberFactory.create(member=agente,
                               queue_name=queue,
                               id_campana='{0}_{1}'.format(
                                   campana.pk, campana.nombre))
コード例 #5
0
    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)
コード例 #6
0
    def setUp(self):
        super(CalificacionTests, self).setUp()

        self.agente_profile = self.crear_agente_profile()
        self.usuario_agente = self.agente_profile.user

        self.campana = CampanaFactory.create()
        self.nombre_opcion_gestion = NombreCalificacionFactory.create()
        self.nombre_calificacion_agenda = NombreCalificacion.objects.get(
            nombre=settings.CALIFICACION_REAGENDA)
        self.formulario = FormularioFactory()
        self.campo_formulario = FieldFormularioFactory(formulario=self.formulario)
        self.opcion_calificacion_gestion = OpcionCalificacionFactory.create(
            campana=self.campana, nombre=self.nombre_opcion_gestion.nombre,
            tipo=OpcionCalificacion.GESTION, formulario=self.formulario)
        self.opcion_calificacion_agenda = OpcionCalificacionFactory.create(
            campana=self.campana, nombre=self.nombre_calificacion_agenda.nombre,
            tipo=OpcionCalificacion.AGENDA)
        self.opcion_calificacion_camp_manual = OpcionCalificacionFactory.create(
            campana=self.campana, nombre=self.nombre_opcion_gestion.nombre)
        self.opcion_calificacion_no_accion = OpcionCalificacionFactory.create(
            campana=self.campana, tipo=OpcionCalificacion.NO_ACCION)

        self.contacto = ContactoFactory.create()
        self.campana.bd_contacto.contactos.add(self.contacto)

        self.queue = QueueFactory.create(campana=self.campana)

        self.calificacion_cliente = CalificacionClienteFactory(
            opcion_calificacion=self.opcion_calificacion_camp_manual, agente=self.agente_profile,
            contacto=self.contacto)

        QueueMemberFactory.create(member=self.agente_profile, queue_name=self.queue)

        self.client.login(username=self.usuario_agente.username, password=PASSWORD)
コード例 #7
0
    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)
コード例 #8
0
    def setUp(self):
        super(APITest, self).setUp()
        self.factory = RequestFactory()

        self.supervisor_admin = self.crear_supervisor_profile(
            rol=User.ADMINISTRADOR)
        self.supervisor = self.crear_supervisor_profile(rol=User.SUPERVISOR)
        self.agente_profile = self.crear_agente_profile()

        self.campana_activa = CampanaFactory.create(
            estado=Campana.ESTADO_ACTIVA,
            type=Campana.TYPE_MANUAL,
            nombre='activa uno')
        self.campana_activa_2 = CampanaFactory.create(
            estado=Campana.ESTADO_ACTIVA,
            type=Campana.TYPE_PREVIEW,
            nombre='activa dos')
        self.campana_activa_supervisor = CampanaFactory.create(
            estado=Campana.ESTADO_ACTIVA,
            type=Campana.TYPE_ENTRANTE,
            nombre='activa supervisor uno')
        self.campana_activa_supervisor.supervisors.add(self.supervisor.user)
        self.campana_finalizada = CampanaFactory(
            estado=Campana.ESTADO_FINALIZADA)
        self.queue = QueueFactory.create(campana=self.campana_activa)
        self.queue1 = QueueFactory.create(campana=self.campana_activa_2)
        self.queue2 = QueueFactory.create(
            campana=self.campana_activa_supervisor)
        self.queue3 = QueueFactory.create(campana=self.campana_finalizada)
        QueueMemberFactory.create(member=self.agente_profile,
                                  queue_name=self.queue)
        self.sistema_externo = SistemaExternoFactory()
        self.opcion_calificacion = OpcionCalificacionFactory(
            campana=self.campana_activa)

        self.contacto = ContactoFactory(
            bd_contacto=self.campana_activa.bd_contacto)
        self.calificacion_cliente = CalificacionClienteFactory(
            opcion_calificacion=self.opcion_calificacion,
            agente=self.agente_profile,
            contacto=self.contacto)

        for user in User.objects.all():
            Token.objects.create(user=user)
コード例 #9
0
 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
コード例 #10
0
    def _setUp_campana_dialer(self):
        self.campana_dialer = CampanaFactory.create(type=Campana.TYPE_DIALER)
        self.campana_dialer.opciones_calificacion.add(self.opcion_calificacion_gestion)
        self.campana_dialer.opciones_calificacion.add(self.opcion_calificacion_agenda)

        self.contacto_dialer = ContactoFactory.create()
        self.campana_dialer.bd_contacto.contactos.add(self.contacto_dialer)

        self.queue_dialer = QueueFactory.create(campana=self.campana_dialer)

        QueueMemberFactory.create(member=self.agente_profile, queue_name=self.queue_dialer)
    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)
コード例 #12
0
 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)
コード例 #13
0
    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)
コード例 #14
0
    def setUp(self):
        super(CalificacionTests, self).setUp()

        self.agente_1 = self.crear_agente_profile()
        self.agente_2 = self.crear_agente_profile()
        self.agente_3 = self.crear_agente_profile()
        self.supervisor = self.crear_supervisor_profile()

        self.campana = CampanaFactory.create(estado=Campana.ESTADO_ACTIVA,
                                             type=Campana.TYPE_MANUAL)
        self.campana.supervisors.add(self.supervisor.user)

        self.nombre_calificacion_agenda = NombreCalificacion.objects.get(
            nombre=settings.CALIFICACION_REAGENDA)
        self.opcion_calificacion_agenda = OpcionCalificacionFactory.create(
            campana=self.campana,
            nombre=self.nombre_calificacion_agenda.nombre,
            tipo=OpcionCalificacion.AGENDA)

        self.contacto_1 = ContactoFactory.create()
        self.campana.bd_contacto.contactos.add(self.contacto_1)
        self.contacto_2 = ContactoFactory.create()
        self.campana.bd_contacto.contactos.add(self.contacto_2)

        self.calificacion_1 = CalificacionClienteFactory(
            opcion_calificacion=self.opcion_calificacion_agenda,
            agente=self.agente_1,
            contacto=self.contacto_1)
        self.agenda_1 = AgendaContactoFactory(
            agente=self.agente_1,
            contacto=self.contacto_1,
            campana=self.campana,
            tipo_agenda=AgendaContacto.TYPE_PERSONAL)
        self.calificacion_2 = CalificacionClienteFactory(
            opcion_calificacion=self.opcion_calificacion_agenda,
            agente=self.agente_2,
            contacto=self.contacto_2)
        self.agenda_2 = AgendaContactoFactory(
            agente=self.agente_2,
            contacto=self.contacto_2,
            campana=self.campana,
            tipo_agenda=AgendaContacto.TYPE_PERSONAL)

        self.queue = QueueFactory.create(campana=self.campana)
        QueueMemberFactory.create(member=self.agente_1, queue_name=self.queue)
        QueueMemberFactory.create(member=self.agente_2, queue_name=self.queue)

        self.client.login(username=self.supervisor.user.username,
                          password=PASSWORD)
コード例 #15
0
    def setUp(self):
        super(ReporteDeLLamadasEntrantesDeSupervisionTest, self).setUp()
        self.generador = GeneradorDeLlamadaLogs()

        self.agente1 = self.crear_agente_profile()
        self.agente2 = self.crear_agente_profile()

        self.entrante1 = CampanaFactory.create(type=Campana.TYPE_ENTRANTE, nombre='camp-entrante-1',
                                               estado=Campana.ESTADO_ACTIVA)
        self.opcion_calificacion = OpcionCalificacionFactory(campana=self.entrante1,
                                                             tipo=OpcionCalificacion.GESTION)
        # Campaña que no debe estar en los reportes por no ser del supervisor
        self.entrante2 = CampanaFactory.create(type=Campana.TYPE_ENTRANTE, nombre='camp-entrante-2',
                                               estado=Campana.ESTADO_ACTIVA)
        self.queue = QueueFactory.create(campana=self.entrante1)
コード例 #16
0
 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
コード例 #17
0
    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)
コード例 #18
0
    def test_calificar_usando_opcion_con_regla_de_incidencia_impacta_wombat(
            self, set_call_ext_status):
        agente = self.crear_agente_profile()
        self.client.logout()
        self.client.login(username=agente.user.username, password=PASSWORD)
        queue = QueueFactory.create(campana=self.campana)
        QueueMemberFactory.create(member=agente, queue_name=queue)

        dialer_call_id = '12345'
        regla = ReglaIncidenciaPorCalificacion(
            opcion_calificacion=self.opcion_calificacion_1,
            intento_max=5,
            reintentar_tarde=60,
            en_modo=ReglaIncidenciaPorCalificacion.FIXED)
        regla.save()
        call_data = {
            "id_campana": self.campana.id,
            "campana_type": self.campana.type,
            "telefono": "3512349992",
            "call_id": '123456789',
            "call_type": "1",
            "id_contacto": self.contacto.id,
            "rec_filename": "",
            "call_wait_duration": "",
            'dialer_id': dialer_call_id,
        }
        url = reverse('calificar_llamada',
                      kwargs={'call_data_json': json.dumps(call_data)})

        post_data = {
            'opcion_calificacion': self.opcion_calificacion_1.id,
            'contacto_form-telefono': self.contacto.telefono,
        }
        response = self.client.post(url, post_data, follow=True)
        self.assertEqual(response.status_code, 200)

        url_notify = '/api/calls/?op=extstatus&wombatid={0}&status={1}'.format(
            dialer_call_id, regla.wombat_id)
        set_call_ext_status.assert_called_with(url_notify)
コード例 #19
0
    def setUp(self):
        self.factory = RequestFactory()

        self.supervisor_admin = SupervisorProfileFactory(is_administrador=True)
        self.supervisor_admin.user.set_password(self.PWD)
        self.supervisor_admin.user.save()

        self.supervisor = SupervisorProfileFactory(is_administrador=False)
        self.supervisor.user.set_password(self.PWD)
        self.supervisor.user.save()

        self.agente_profile = AgenteProfileFactory()
        self.agente_profile.user.set_password(self.PWD)
        self.agente_profile.user.is_agente = True
        self.agente_profile.user.save()

        self.campana_activa = CampanaFactory.create(
            estado=Campana.ESTADO_ACTIVA)
        self.campana_activa_supervisor = CampanaFactory.create(
            estado=Campana.ESTADO_ACTIVA)
        self.campana_activa_supervisor.supervisors.add(self.supervisor.user)
        self.campana_finalizada = CampanaFactory(
            estado=Campana.ESTADO_FINALIZADA)
        self.queue = QueueFactory.create(campana=self.campana_activa)
        QueueMemberFactory.create(member=self.agente_profile,
                                  queue_name=self.queue)
        self.sistema_externo = SistemaExternoFactory()
        self.opcion_calificacion = OpcionCalificacionFactory(
            campana=self.campana_activa)

        self.calificacion_cliente = CalificacionClienteFactory(
            opcion_calificacion=self.opcion_calificacion,
            agente=self.agente_profile)

        for user in User.objects.all():
            Token.objects.create(user=user)
コード例 #20
0
 def setUp(self):
     self.campana_entrante = CampanaFactory(type=Campana.TYPE_ENTRANTE)
     self.queue_entrante = QueueFactory(campana=self.campana_entrante)
コード例 #21
0
    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')
コード例 #22
0
 def _hacer_miembro(self, usuario_agente, campana):
     agente = usuario_agente.get_agente_profile()
     queue = QueueFactory.create(campana=campana)
     QueueMemberFactory.create(
         member=agente, queue_name=queue,
         id_campana=campana.get_queue_id_name())