Closed Zeriel closed 6 years ago
Le tenes que pasar el data
self.client.put(url, data=json.dumps(data), content_type='application/json')
Apliqué lo que sugeriste y me quedó el siguiente código:
def test_put_method(self):
#Creo un producto y lo inseto a la db
o = Order(id= 1)
db.session.add(o)
p = Product(id= 1, name= 'Tenedor', price= 50)
db.session.add(p)
orderProduct = OrderProduct(order_id= 1, product_id= 1, quantity= 1, product= p)
db.session.add(orderProduct)
db.session.commit()
#Modifico la quantity del producto con un PUT
data = {
'name': 'Tenedor',
'price': 50
}
resp = self.client.put('order/1/product/1', data=json.dumps(data), content_type='application/json')
self.assert200(resp, "Fallo el PUT")
El cual, al ejecutar el pytest, me tira todo OK.
¿Estaría bien definido el test así? Me queda la duda de qué dato está metiendo el PUT ya que, hasta donde entiendo, el mismo sirve para modificar la quantity.
Gracias.
En el data tiene que ir la nueva quantity no los datos de un producto
Aaah ok, eso era lo que no me cerraba.
Entonces, el data para el PUT debería ser algo como esto:
data = { 'quantity': 5 }
Claro, así está bien
Joya, muchas gracias, cierro el issue entonces.
Buenas,
Tengo dudas respecto a mi ejercicio, me toco testear el funcionamiento del método PUT. No estaría entendiendo cómo indicar el valor de quantity a modificar por el mismo, y cuando ejecuto la prueba con el código actual, me arroja el siguiente error:
if request.method == 'PUT':
Lo que yo tengo hasta el momento es:
Saludos.