Added Test Cases
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index 9c5c82e..da600fb 100644
--- a/erpnext/selling/doctype/sales_order/test_sales_order.py
+++ b/erpnext/selling/doctype/sales_order/test_sales_order.py
@@ -10,6 +10,8 @@
 	import make_material_request, make_delivery_note, make_sales_invoice, WarehouseRequired
 from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
 from frappe.tests.test_permissions import set_user_permission_doctypes
+from erpnext.selling.doctype.sales_order.sales_order import make_production_orders
+import json
 
 class TestSalesOrder(unittest.TestCase):
 	def tearDown(self):
@@ -505,6 +507,40 @@
 
 		self.assertEquals(new_so.get("items")[0].rate, flt((price_list_rate*25)/100 + price_list_rate))
 
+	def test_make_production_order(self):
+		# Make a new Sales Order
+		so = make_sales_order(**{
+			"item_list": [{
+				"item_code": "_Test FG Item",
+				"qty": 10,
+				"rate":100	
+			},
+			{
+				"item_code": "_Test FG Item",
+				"qty": 20,
+				"rate":200	
+			}]
+		})
+
+		# Raise Production Orders
+		po_items= []
+		so_item_name= {}
+		for item in so.get_production_order_items():
+			po_items.append({
+				"warehouse": item.get("warehouse"),
+				"item_code": item.get("item_code"),
+				"pending_qty": item.get("pending_qty"),
+				"sales_order_item": item.get("sales_order_item"),
+				"bom": item.get("bom")
+			})
+			so_item_name[item.get("sales_order_item")]= item.get("pending_qty")
+		make_production_orders(json.dumps({"items":po_items}), so.name, so.company)
+		
+		# Check if Production Orders were raised
+		for item in so_item_name:
+			po_qty = frappe.db.sql("select sum(qty) from `tabProduction Order` where sales_order=%s and sales_order_item=%s", (so.name, item))
+			self.assertEquals(po_qty[0][0], so_item_name.get(item))
+
 def make_sales_order(**args):
 	so = frappe.new_doc("Sales Order")
 	args = frappe._dict(args)