def test_nunca_se_reservan_contactos_asignados_a_otro_agente(self): # Al pedir un contacto nunca se entrega uno asignado a OTRO agente AgenteEnContacto.objects.filter(contacto_id=self.contacto_1.id).update( agente_id=self.agente_1.id, estado=AgenteEnContacto.ESTADO_ASIGNADO) # Al pedir un contacto para otro agente no debe entregar el contacto asignado entrega = AgenteEnContacto.entregar_contacto(self.agente_2, self.campana_preview.id) self.assertEqual(entrega['result'], 'OK') self.assertEqual(entrega['code'], 'contacto-entregado') self.assertNotEqual(entrega['contacto_id'], self.contacto_1.id) # En particular, al ser 2 contactos nada más, solo puede entregar el otro self.assertEqual(entrega['contacto_id'], self.contacto_2.id)
def post(self, request, *args, **kwargs): campana_id = kwargs.get('pk_campana', False) data_entrega = AgenteEnContacto.entregar_contacto( self.agente, campana_id) # adiciona informacion sobre si este contacto tiene una calificacion pendiente # para el agente en cuestión redis_connection = redis.Redis( host=settings.REDIS_HOSTNAME, port=settings.CONSTANCE_REDIS_CONNECTION['port'], decode_responses=True) calificacion_pendiente_agente = redis_connection.hgetall( 'OML:CALIFICACION:LLAMADA:{0}'.format(self.agente.pk)) if calificacion_pendiente_agente != {} and \ calificacion_pendiente_agente.get('TELEFONO', '') == data_entrega.get( 'telefono_contacto', False): data_entrega['calldata'] = calificacion_pendiente_agente[ 'CALLDATA'] return JsonResponse(data_entrega)
def post(self, request, *args, **kwargs): campana_id = kwargs.get('pk_campana', False) data_entrega = AgenteEnContacto.entregar_contacto( self.agente, campana_id) return JsonResponse(data_entrega)