Test Cases Added - Work Pending

This commit is contained in:
Neil Trini Lasrado 2014-11-04 16:25:46 +05:30
parent f9ced8f28f
commit 6d8f48ff8d
4 changed files with 59 additions and 6 deletions

View File

@ -294,9 +294,12 @@ def make_supplier_quotation(source_name, target_doc=None):
@frappe.whitelist()
def make_stock_entry(source_name, target_doc=None):
def update_item(obj, target, source_parent):
qty = flt(obj.qty) - flt(obj.ordered_qty) \
if flt(obj.qty) > flt(obj.ordered_qty) else 0
target.qty = qty
target.transfer_qty = qty
target.conversion_factor = 1
target.qty = flt(obj.qty) - flt(obj.ordered_qty)
target.transfer_qty = flt(obj.qty) - flt(obj.ordered_qty)
if source_parent.material_request_type == "Material Transfer":
target.t_warehouse = obj.warehouse
else:

View File

@ -77,7 +77,7 @@ class TestMaterialRequest(unittest.TestCase):
"stock_uom": "_Test UOM 1",
"transfer_qty": qty1,
"uom": "_Test UOM 1",
"t_warehouse": "_Test Warehouse 1 - _TC",
"t_warehouse": warehouse or "_Test Warehouse 1 - _TC",
},
{
"conversion_factor": 1.0,
@ -89,7 +89,7 @@ class TestMaterialRequest(unittest.TestCase):
"stock_uom": "_Test UOM 1",
"transfer_qty": qty2,
"uom": "_Test UOM 1",
"t_warehouse": "_Test Warehouse 1 - _TC",
"t_warehouse": warehouse or "_Test Warehouse 1 - _TC",
}
]
})
@ -383,6 +383,56 @@ class TestMaterialRequest(unittest.TestCase):
def _get_requested_qty(self, item_code, warehouse):
return flt(frappe.db.get_value("Bin", {"item_code": item_code, "warehouse": warehouse}, "indented_qty"))
def test_make_stock_entry_for_Material_Issue(self):
from erpnext.stock.doctype.material_request.material_request import make_stock_entry
mr = frappe.copy_doc(test_records[0]).insert()
self.assertRaises(frappe.ValidationError, make_stock_entry,
mr.name)
mr = frappe.get_doc("Material Request", mr.name)
mr.material_request_type = "Material Issue"
mr.submit()
se = make_stock_entry(mr.name)
self.assertEquals(se.doctype, "Stock Entry")
self.assertEquals(len(se.get("mtn_details")), len(mr.get("indent_details")))
def test_compleated_qty_for_issue(self):
def _get_requested_qty():
return flt(frappe.db.get_value("Bin", {"item_code": "_Test Item Home Desktop 100",
"warehouse": "_Test Warehouse - _TC"}, "indented_qty"))
from erpnext.stock.doctype.material_request.material_request import make_stock_entry
existing_requested_qty = _get_requested_qty()
mr = frappe.copy_doc(test_records[0])
mr.material_request_type = "Material Issue"
mr.submit()
#testing bin value after material request is submitted
self.assertEquals(_get_requested_qty(), existing_requested_qty + 54.0)
# receive items to allow issue
self._insert_stock_entry(60, 6, "_Test Warehouse - _TC")
# make stock entry against MR
se_doc = make_stock_entry(mr.name)
se_doc.fiscal_year = "_Test Fiscal Year 2014"
se_doc.get("mtn_details")[0].qty = 60.0
se_doc.insert()
se_doc.submit()
# check if per complete is as expected
mr.load_from_db()
self.assertEquals(mr.get("indent_details")[0].ordered_qty, 60.0)
self.assertEquals(mr.get("indent_details")[1].ordered_qty, 3.0)
#testing bin requested qty after issuing stock against material request
self.assertEquals(_get_requested_qty(), existing_requested_qty)
test_dependencies = ["Currency Exchange"]
test_records = frappe.get_test_records('Material Request')

View File

@ -219,7 +219,7 @@ class StockEntry(StockController):
if not self.posting_date or not self.posting_time:
frappe.throw(_("Posting date and posting time is mandatory"))
allow_negative_stock = cint(frappe.db.get_default("allow_negative_stock"))
allow_negative_stock = cint(frappe.db.get_value("Stock Settings", None, "allow_negative_stock"))
for d in self.get('mtn_details'):
d.transfer_qty = flt(d.transfer_qty)

View File

@ -87,7 +87,7 @@ def update_entries_after(args, allow_zero_rate=False, verbose=1):
stock_value_difference = 0.0
for sle in entries_to_fix:
if sle.serial_no or not cint(frappe.db.get_default("allow_negative_stock")):
if sle.serial_no or not cint(frappe.db.get_value("Stock Settings", None, "allow_negative_stock")):
# validate negative stock for serialized items, fifo valuation
# or when negative stock is not allowed for moving average
if not validate_negative_stock(qty_after_transaction, sle):