Open CarlosdAndrade opened 6 years ago
Estas pudiendo correr los test? pasan o fallan?
Fallaban profe me equivoque en analizar la transacción, ahi lo corregi self.assertEqual(resp.status, "200 OK",'No se realizo la transacción correctamente') estaba verificando al revés la condición. Idem con el otro self.assertNoEqual, lo arregle. Perdón por el error. Quedaron asi def test_borrar(self): p = Product(id='1', name='cuchillo', price=20) # Creo el producto db.session.add(p) o = Order(id=1) # Genero la orden db.session.add(o) op = OrderProduct(order_id=1, product_id=1, product= p, quantity=2) #Creo la orden db.session.add(op) db.session.commit() # Agrego lo que cree res = self.client.delete('order/1/product/1') #Realizo la transacción para borrar self.assertEqual(res.status, "200 OK", 'No se realizo la transacción correctamente') #Verifico si pudo hacerse la transacción res = Product.query.filter(Product.id == 1).first() #Realizo una consulta filtrando por el id del producto que agregue. self.assertTrue(res != '', 'El test fallo, no se eliminó el producto') #Pregunto por si es verdadero que la variable donde guardo la consulta es distinta de vacá
def test_name_vacio(self):
p = {'name':'','price':30} #Creo el producto
resp = self.client.post('/product', data=json.dumps(p), content_type='application/json') #cargo el producto
self.assertEqual(resp.status, "200 OK",'No se realizo la transacción correctamente') #Pregunto si la transacción se hizo correctamente
res= Product.query.filter(Product.name == '').first()#Realizo una consulta para saber si el producto con nombre vacío sigue estando
self.assertTrue res!= '', 'El test fallo, se agrego producto con nombre vacío')#Me fijo si donde guardo la respuesta es igual a la cadena vacía
Carlos, el test_name_vacio sigue estando mal hecho porque estás usando la API para hacer un test de modelo. Más allá de eso, por favor lee los mails que te enviamos porque arreglar esos dos tests NO era la actividad que te había tocado hacer para aprobar el trabajo.
Hola profesor, gracias por indicarmelo, la verdad entendí mal lo que tenía que realizar. Aca le envío el código de agregar una orden con cantidad negativa:
def test_entero_negativo(self):
p = Product(id='1', name='cuchillo', price=20) # Creo el producto
db.session.add(p)
o = Order(id=1) # Genero la orden
db.session.add(o)
op = OrderProduct(order_id=1, product_id=1, product=p, quantity=-2) # Creo la orden con valor negativo
db.session.add(op)
db.session.commit() # Agrego lo que cree
res= OrderProduct.query.filter(OrderProduct.quantity <= 0).first()#Verifico que se hayan agregado ordenes con valores negativos
self.assertTrue (res!='','El test fallo, se agrego una orden de producto con valor negativo')
Haber si voy mas o menos bien por el camino. Disculpe las molestias
Hola profesor, quería saber si estan bien los codigos para ver si entendí bien la lógica que me fue indicando: