def test_api_crea_nueva_calificacion_con_nuevo_contacto_con_valores_metadata( self): token_agente = Token.objects.get(user=self.agente_profile.user).key client = APIClient() client.credentials(HTTP_AUTHORIZATION='Bearer ' + token_agente) observaciones = 'calificacion externa' phone = '1232343523' id_contacto_externo = 'contacto_externo_1' url = reverse('api_disposition_new_contact-list') post_data = { 'phone': phone, 'idExternalContact': id_contacto_externo, 'idDispositionOption': self.opcion_calificacion.pk, 'comments': observaciones, } contacto_a_crear = ContactoFactory.build( bd_contacto=self.campana_activa.bd_contacto) post_data.update(contacto_a_crear.obtener_datos()) post_data.pop('telefono') calificaciones_count = CalificacionCliente.objects.count() contactos_count = Contacto.objects.count() client.post(url, post_data) self.assertEqual(CalificacionCliente.objects.count(), calificaciones_count + 1) self.assertEqual(Contacto.objects.count(), contactos_count + 1) self.assertTrue( Contacto.objects.filter(datos=contacto_a_crear.datos).exists())
def _obtener_datos_post_adicionar_contacto(self, campana): contacto_nuevo = ContactoFactory.build(bd_contacto=campana.bd_contacto) post_data = {'telefono': contacto_nuevo.telefono} columnas = json.loads(contacto_nuevo.bd_contacto.metadata) datos_contacto = json.loads(contacto_nuevo.datos) for columna, valor in zip(columnas['nombres_de_columnas'][1:], datos_contacto): post_data[columna] = valor return post_data