From d5e15eaadfdfb05292219fcb0453dc0e790b6971 Mon Sep 17 00:00:00 2001 From: Neil Trini Lasrado Date: Tue, 16 Feb 2016 15:41:43 +0530 Subject: [PATCH] Added test cases --- .../erpnext/material-request-workflow.jpg | Bin 11600 -> 37471 bytes .../models/stock/material_request_item.html | 50 +++++++----------- .../material_request/material_request.py | 4 +- .../material_request/test_material_request.py | 20 +++++++ .../material_request/test_records.json | 21 ++++++++ 5 files changed, 62 insertions(+), 33 deletions(-) diff --git a/erpnext/docs/assets/old_images/erpnext/material-request-workflow.jpg b/erpnext/docs/assets/old_images/erpnext/material-request-workflow.jpg index 6846fa5baac84ed2655008cb9a2f03e2b3c662e1..c462e209f1a1b0331d39ed382541e866370c4c1a 100644 GIT binary patch literal 37471 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

|cmcq}CcKr&XYI_UHsl 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 diff --git a/erpnext/docs/current/models/stock/material_request_item.html b/erpnext/docs/current/models/stock/material_request_item.html index 2988065b2a..d1d8f6fbca 100644 --- a/erpnext/docs/current/models/stock/material_request_item.html +++ b/erpnext/docs/current/models/stock/material_request_item.html @@ -123,30 +123,16 @@ 7 image - Attach - + Attach Image + Image - - 8 - image_view - - Image - - Image View - - - -

image
- - - - 9 + 8 quantity_and_warehouse Section Break @@ -158,7 +144,7 @@ - 10 + 9 qty Float @@ -170,7 +156,7 @@ - 11 + 10 uom Link @@ -191,7 +177,7 @@ - 12 + 11 warehouse Link @@ -212,7 +198,7 @@ - 13 + 12 col_break2 Column Break @@ -224,7 +210,7 @@ - 14 + 13 schedule_date Date @@ -236,7 +222,7 @@ - 15 + 14 more_info Section Break @@ -248,7 +234,7 @@ - 16 + 15 item_group Link @@ -269,7 +255,7 @@ - 17 + 16 brand Link @@ -290,7 +276,7 @@ - 18 + 17 lead_time_date Date @@ -302,7 +288,7 @@ - 19 + 18 sales_order Link @@ -323,7 +309,7 @@ - 20 + 19 col_break3 Column Break @@ -335,7 +321,7 @@ - 21 + 20 min_order_qty Float @@ -347,7 +333,7 @@ - 22 + 21 projected_qty Float @@ -359,7 +345,7 @@ - 23 + 22 ordered_qty Float @@ -371,7 +357,7 @@ - 24 + 23 page_break Check diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py index 80ec589d46..c1a5281100 100644 --- a/erpnext/stock/doctype/material_request/material_request.py +++ b/erpnext/stock/doctype/material_request/material_request.py @@ -355,6 +355,7 @@ def raise_production_orders(source_name): prod_order.material_request = material_request.name prod_order.material_request_item = d.name prod_order.planned_start_date = material_request.transaction_date + prod_order.company = material_request.company prod_order.save() production_orders.append(prod_order.name) else: @@ -364,4 +365,5 @@ def raise_production_orders(source_name): (p, p) for p in production_orders] msgprint(_("Production Orders {0} created").format(comma_and(message))) if errors: - msgprint(_("Could not Raise Production Orders for {0}").format(comma_and(errors))) \ No newline at end of file + msgprint(_("Could not Raise Production Orders for {0}").format(comma_and(errors))) + return production_orders \ No newline at end of file diff --git a/erpnext/stock/doctype/material_request/test_material_request.py b/erpnext/stock/doctype/material_request/test_material_request.py index 37d985edb0..c675224ceb 100644 --- a/erpnext/stock/doctype/material_request/test_material_request.py +++ b/erpnext/stock/doctype/material_request/test_material_request.py @@ -7,6 +7,7 @@ from __future__ import unicode_literals import frappe, unittest from frappe.utils import flt +from erpnext.stock.doctype.material_request.material_request import raise_production_orders class TestMaterialRequest(unittest.TestCase): def setUp(self): @@ -436,6 +437,25 @@ class TestMaterialRequest(unittest.TestCase): #testing bin requested qty after issuing stock against material request self.assertEquals(_get_requested_qty(), existing_requested_qty) + + def test_completed_qty_for__manufacture(self): + mr = frappe.copy_doc(test_records[1]).insert() + mr = frappe.get_doc("Material Request", mr.name) + mr.submit() + completed_qty = mr.items[0].ordered_qty + + prod_order = raise_production_orders(mr.name) + po = frappe.get_doc("Production Order", prod_order[0]) + po.wip_warehouse = "_Test Warehouse 1 - _TC" + po.submit() + + mr = frappe.get_doc("Material Request", mr.name) + self.assertEquals(completed_qty + po.qty, mr.items[0].ordered_qty) + + po.cancel() + mr = frappe.get_doc("Material Request", mr.name) + self.assertEquals(completed_qty, mr.items[0].ordered_qty) + test_dependencies = ["Currency Exchange"] test_records = frappe.get_test_records('Material Request') diff --git a/erpnext/stock/doctype/material_request/test_records.json b/erpnext/stock/doctype/material_request/test_records.json index 152d1443a3..09d1912ed7 100644 --- a/erpnext/stock/doctype/material_request/test_records.json +++ b/erpnext/stock/doctype/material_request/test_records.json @@ -30,5 +30,26 @@ "material_request_type": "Purchase", "naming_series": "_T-Material Request-", "transaction_date": "2013-02-18" + }, + { + "company": "_Test Company", + "doctype": "Material Request", + "fiscal_year": "_Test Fiscal Year 2013", + "items": [ + { + "description": "_Test FG Item", + "doctype": "Material Request Item", + "item_code": "_Test FG Item", + "item_name": "_Test FG Item", + "parentfield": "items", + "qty": 5, + "schedule_date": "2013-02-18", + "uom": "_Test UOM 1", + "warehouse": "_Test Warehouse - _TC" + } + ], + "material_request_type": "Manufacture", + "naming_series": "_T-Material Request-", + "transaction_date": "2013-02-18" } ] \ No newline at end of file