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)
def test_calificacion_cliente_cambio_a_no_agenda_no_elimina_agendas_personales_existentes(self): self.calificacion_cliente.opcion_calificacion = self.opcion_calificacion_agenda self.calificacion_cliente.save() AgendaContactoFactory( agente=self.agente_profile, contacto=self.contacto, campana=self.campana, tipo_agenda=AgendaContacto.TYPE_GLOBAL) self.assertTrue(AgendaContacto.objects.exists()) self.calificacion_cliente.opcion_calificacion = self.opcion_calificacion_no_accion self.calificacion_cliente.save() self.assertTrue(AgendaContacto.objects.exists())
def test_calificacion_agenda_modificacion_redirecciona_update_agenda(self, post): self.calificacion_cliente.opcion_calificacion = self.opcion_calificacion_agenda self.calificacion_cliente.agendado = False self.calificacion_cliente.save() AgendaContactoFactory( agente=self.agente_profile, contacto=self.contacto, campana=self.campana) url = reverse('calificacion_formulario_update_or_create', kwargs={'pk_campana': self.campana.pk, 'pk_contacto': self.contacto.pk}) post_data = self._obtener_post_data_calificacion_cliente() post_data['opcion_calificacion'] = self.opcion_calificacion_agenda.pk response = self.client.post(url, post_data, follow=True) self.assertTemplateUsed(response, 'agenda_contacto/update_agenda_contacto.html')
class CalificacionTests(OMLBaseTest): 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) def test_filtrar_por_agente(self): url = reverse('agenda_contactos_por_campana', kwargs={'pk_campana': self.campana.id}) response = self.client.get(url, follow=True) self.assertEqual(response.status_code, 200) self.assertEqual(response.redirect_chain, []) self.assertContains(response, self.agente_1.user.get_full_name()) self.assertContains(response, self.agente_2.user.get_full_name()) self.assertNotContains(response, self.agente_3.user.get_full_name()) self.assertContains(response, self.contacto_1.telefono) self.assertContains(response, self.contacto_2.telefono) fecha = self.agenda_1.fecha.strftime('%d/%m/%Y - %d/%m/%Y') response = self.client.post(url, data={ 'fecha': fecha, 'usuario': self.agente_1.user.id }) self.assertEqual(response.status_code, 200) self.assertContains(response, self.contacto_1.telefono) self.assertNotContains(response, self.contacto_2.telefono) def test_reasignar_agente(self): url = reverse('api_reasignar_agenda_contacto') response = self.client.post(url, data={ 'agenda_id': self.agenda_1.id, 'agent_id': self.agente_2.id }) self.assertEqual(response.status_code, 200) response_json = response.json() self.assertEqual(response_json['status'], 'OK') self.assertEqual(response_json['agenda_id'], str(self.agenda_1.id)) self.assertEqual(response_json['agent_name'], self.agente_2.user.get_full_name()) self.agenda_1.refresh_from_db() self.assertEqual(self.agenda_1.agente, self.agente_2) self.calificacion_1.refresh_from_db() self.assertEqual(self.calificacion_1.agente, self.agente_2)
def crear_agenda(tipo_agenda, campana, agente): AgendaContactoFactory(tipo_agenda=tipo_agenda, campana=campana, agente=agente)