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 }
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})
def create_orders(): """ 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") # pylint: disable=maybe-no-member app.logger.info(request.get_json()) # pylint: disable=maybe-no-member check_content_type("application/json") order = Order() order.deserialize(request.get_json()) order.create() 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})
def test_serialize_an_order(self): """ Serialization of an Order """ date = datetime.now order_item = OrderItem(product_id=1, quantity=1, price=5, status="PLACED") order_item2 = OrderItem(product_id=2, quantity=1, price=5, status="PLACED") order_items = [order_item, order_item2] order = Order(customer_id=123, created_date=date, order_items=order_items) data = order.serialize() self.assertNotEqual(data, None) self.assertIn("id", data) self.assertEqual(data["id"], None) self.assertIn("customer_id", data) self.assertEqual(data["customer_id"], 123) self.assertIn("created_date", data) self.assertEqual(data["created_date"], date) self.assertIn("order_items", data) self.assertEqual(data["order_items"], [order_item.serialize(), order_item2.serialize()])
def test_serialize_a_order(self): """ Test serialization of an Order """ uuid_str = str(uuid.uuid4()) order = Order(uuid=uuid_str, product_id=1, customer_id=1, price=10, quantity=1) data = order.serialize() self.assertNotEqual(data, None) self.assertIn('id', data) self.assertEqual(data['id'], None) self.assertIn('uuid', data) self.assertEqual(data['uuid'], uuid_str) self.assertIn('product_id', data) self.assertEqual(data['product_id'], 1) self.assertIn('customer_id', data) self.assertEqual(data['customer_id'], 1) self.assertIn('price', data) self.assertEqual(data['price'], 10) self.assertIn('quantity', data) self.assertEqual(data['quantity'], 1)