Exemplo n.º 1
0
 def post(self):
     """
     Creates an Order
     This endpoint will create an Order based the data in the body that is posted
     """
     app.logger.info('Request to create an order')
     check_content_type('application/json')
     order = Order()
     order.deserialize(request.get_json())
     order.save()
     message = order.serialize()
     location_url = api.url_for(OrderCollection, order_id=order.id, _external=True)
     return order.serialize(), status.HTTP_201_CREATED, {'Location': location_url }
Exemplo n.º 2
0
 def test_delete_a_order(self):
     """ Delete an Order """
     uuid_str = str(uuid.uuid4())
     order = Order(uuid=uuid_str,
                   product_id=1,
                   customer_id=1,
                   price=10,
                   quantity=1)
     order.save()
     self.assertEqual(len(Order.all()), 1)
     # delete the order and make sure it isn't in the database
     order.delete()
     self.assertEqual(len(Order.all()), 0)
Exemplo n.º 3
0
def order_post():
    """
    Creates an order
    This endpoint will create an order based the data in the body that is posted
    """
    app.logger.info('Request to create an order')
    check_content_type('application/json')
    order = Order()
    order.deserialize(request.get_json())
    order.save()
    message = order.serialize()
    location_url = url_for('get_orders', order_id=order.id, _external=True)
    return make_response(jsonify(message), status.HTTP_201_CREATED,
                         {'Location': location_url})
Exemplo n.º 4
0
 def test_add_a_order(self):
     """ Create a order and add it to the database """
     orders = Order.all()
     self.assertEqual(orders, [])
     uuid_str = str(uuid.uuid4())
     order = Order(uuid=uuid_str,
                   product_id=1,
                   customer_id=1,
                   price=10,
                   quantity=1)
     self.assertTrue(order != None)
     self.assertEqual(order.id, None)
     order.save()
     # Asert that it was assigned an id and shows up in the database
     self.assertEqual(order.id, 1)
     orders = Order.all()
     self.assertEqual(len(orders), 1)
Exemplo n.º 5
0
 def test_update_a_order(self):
     """ Update an Order """
     uuid_str = str(uuid.uuid4())
     order = Order(uuid=uuid_str,
                   product_id=1,
                   customer_id=1,
                   price=10,
                   quantity=1)
     order.save()
     self.assertEqual(order.id, 1)
     # Change it an save it
     order.product_id = 2
     order.save()
     self.assertEqual(order.id, 1)
     # Fetch it back and make sure the id hasn't changed
     # but the data did change
     orders = Order.all()
     self.assertEqual(len(orders), 1)
     self.assertEqual(orders[0].product_id, 2)
Exemplo n.º 6
0
 def test_find_or_404_found(self):
     """ Find or return 404 found """
     uuid_str = str(uuid.uuid4())
     Order(uuid=uuid_str, product_id=1, customer_id=1, price=10,
           quantity=1).save()
     next_order = Order(uuid="2edf8761-0c1f-4039-9f5c-907a5a03f39c",
                        product_id=1,
                        customer_id=1,
                        price=10,
                        quantity=1)
     next_order.save()
     order = Order.find_or_404(next_order.id)
     self.assertIsNot(order, None)
     self.assertEqual(order.id, next_order.id)
     self.assertEqual(order.uuid, "2edf8761-0c1f-4039-9f5c-907a5a03f39c")
     self.assertEqual(order.product_id, 1),
     self.assertEqual(order.customer_id, 1),
     self.assertEqual(order.price, 10),
     self.assertEqual(order.quantity, 1)
Exemplo n.º 7
0
 def test_find_order_by_product(self):
     """ Find an Order by Product ID """
     uuid_str = str(uuid.uuid4())
     Order(uuid=uuid_str, product_id=1, customer_id=1, price=10,
           quantity=1).save()
     next_order = Order(uuid="2edf8761-0c1f-4039-9f5c-907a5a03f39c",
                        product_id=2,
                        customer_id=1,
                        price=10,
                        quantity=1)
     next_order.save()
     order = Order.find_by_product(2)[0]
     self.assertIsNot(order, None)
     self.assertEqual(order.id, next_order.id)
     self.assertEqual(order.uuid, "2edf8761-0c1f-4039-9f5c-907a5a03f39c")
     self.assertEqual(order.product_id, 2),
     self.assertEqual(order.customer_id, 1),
     self.assertEqual(order.price, 10),
     self.assertEqual(order.quantity, 1)