def test_create_order(self): """ Create a new Order """ order = OrderFactory() resp = self.app.post("/orders", json=order.serialize(), content_type="application/json") # pylint: disable=maybe-no-member self.assertEqual(resp.status_code, status.HTTP_201_CREATED) # Make sure location header is set location = resp.headers.get("Location", None) self.assertIsNotNone(location) # Check the data is correct new_order = resp.get_json() self.assertEqual(new_order["name"], order.name, "Names does not match") self.assertEqual(new_order["products"], order.products, "Product does not match") # pylint: disable=maybe-no-member self.assertEqual(new_order["status"], order.status, "Status does not match") # pylint: disable=maybe-no-member # Check that the location header was correct by getting it resp = self.app.get(location, content_type="application/json") self.assertEqual(resp.status_code, status.HTTP_200_OK) new_order = resp.get_json() self.assertEqual(new_order["name"], order.name, "Names does not match") self.assertEqual(new_order["products"], order.products, "Product does not match") # pylint: disable=maybe-no-member self.assertEqual(new_order["status"], order.status, "Status does not match") # pylint: disable=maybe-no-member
def test_unsupported_media_type(self): """ Send wrong media type """ order = OrderFactory() resp = self.app.post("/orders", json=order.serialize(), content_type="test/html") # pylint: disable=maybe-no-member self.assertEqual(resp.status_code, status.HTTP_415_UNSUPPORTED_MEDIA_TYPE) # pylint: disable=maybe-no-member
def _create_orders(self, count): """ Factory method to create orders in bulk """ orders = [] for _ in range(count): order = OrderFactory() resp = self.app.post("/orders", json=order.serialize(), content_type="application/json") # pylint: disable=maybe-no-member self.assertEqual(resp.status_code, status.HTTP_201_CREATED, "Could not create test Order") new_order = resp.get_json() order.id = new_order["id"] orders.append(order) return orders
def test_update_order(self): """ Update an existing Order """ # create an Order to update test_order = OrderFactory() resp = self.app.post("/orders", json=test_order.serialize(), content_type="application/json") # pylint: disable=maybe-no-member self.assertEqual(resp.status_code, status.HTTP_201_CREATED) # update the pet new_order = resp.get_json() new_order["name"] = "Happy-Happy Joy-Joy" resp = self.app.put("/orders/{}".format(new_order["id"]), json=new_order, content_type="application/json") self.assertEqual(resp.status_code, status.HTTP_200_OK) updated_order = resp.get_json() self.assertEqual(updated_order["name"], "Happy-Happy Joy-Joy")