def post(self): """ Creates a Product This endpoint will create a Product based the data in the body that is posted """ app.logger.info('Request to create a product') check_content_type('application/json') product = Product() app.logger.debug('Payload = %s', api.payload) product.deserialize(api.payload) product.save() location_url = api.url_for(ProductResource, product_id=product.id, _external=True) return product.serialize(), status.HTTP_201_CREATED, { 'Location': location_url }
def test_deserialize_a_product(self): """ Test deserialization of a Product """ data = { "id": 1, "name": "shampos", "category": "Health Care", "stock": 48, "price": 12.34, "description": "Test" } product = Product() product.deserialize(data) self.assertNotEqual(product, None) self.assertEqual(product.id, None) self.assertEqual(product.name, "shampos") self.assertEqual(product.category, "Health Care") self.assertEqual(product.stock, 48) self.assertAlmostEqual(product.price, Decimal(12.34)) self.assertEqual(product.description, "Test")