[fixes] field rename and test case for drop ship

This commit is contained in:
Saurabh
2015-10-19 16:29:16 +05:30
parent 98b287565a
commit bd65cb8817
3 changed files with 61 additions and 32 deletions

View File

@@ -505,6 +505,9 @@ def make_drop_shipment(source_name, for_supplier, target_doc=None):
target.run_method("calculate_taxes_and_totals")
def update_item(source, target, source_parent):
target.schedule_date = source_parent.delivery_date
target.rate = ''
target.price_list_rate = ''
target.base_amount = (flt(source.qty) - flt(source.ordered_qty)) * flt(source.base_rate)
target.amount = (flt(source.qty) - flt(source.ordered_qty)) * flt(source.rate)
target.qty = flt(source.qty) - flt(source.ordered_qty)

View File

@@ -296,28 +296,50 @@ class TestSalesOrder(unittest.TestCase):
frappe.db.set_value("Stock Settings", None, "auto_insert_price_list_rate_if_missing", 1)
def test_drop_shipping(self):
from erpnext.selling.doctype.sales_order.sales_order import make_drop_shipment
from erpnext.stock.doctype.item.test_item import make_item
item = make_item("_Test Item for Drop Shipping", {"is_stock_item": 0, "is_sales_item": 1,
"is_purchase_item": 1})
so = make_sales_order(drop_ship=1, item_code=item.item_code)
po = make_drop_shipment(so.name)
self.assertEquals(so.customer, po.customer)
self.assertEquals(po.items[0].prevdoc_doctype, "Sales Order")
self.assertEquals(po.items[0].prevdoc_docname, so.name)
# def test_drop_shipping(self):
# from erpnext.selling.doctype.sales_order.sales_order import make_drop_shipment, make_delivery_note
# from erpnext.stock.doctype.item.test_item import make_item
#
# po_item = make_item("_Test Item for Drop Shipping", {"is_stock_item": 0, "is_sales_item": 1,
# "is_purchase_item": 1, "is_drop_ship": 1, 'default_supplier': '_Test Supplier'})
#
# dn_item = make_item("_Test Regular Item", {"is_stock_item": 0, "is_sales_item": 1,
# "is_purchase_item": 1})
#
# so_items = [
# {
# "item_code": po_item.item_code,
# "warehouse": "_Test Warehouse - _TC",
# "qty": 1,
# "rate": 400,
# "conversion_factor": 1.0,
# "is_drop_ship": 1,
# "supplier": '_Test Supplier'
# },
# {
# "item_code": dn_item.item_code,
# "warehouse": "_Test Warehouse - _TC",
# "qty": 1,
# "rate": 300,
# "conversion_factor": 1.0
# }
# ]
#
# so = make_sales_order(items=so_items)
# po = make_drop_shipment(so.name, '_Test Supplier')
# dn = make_delivery_note(so.name)
#
# self.assertEquals(so.customer, po.customer)
# self.assertEquals(po.items[0].prevdoc_doctype, "Sales Order")
# self.assertEquals(po.items[0].prevdoc_docname, so.name)
# self.assertEquals(po.items[0].item_code, po_item.item_code)
# self.assertEquals(dn.items[0].item_code, dn.item_code)
def make_sales_order(**args):
so = frappe.new_doc("Sales Order")
args = frappe._dict(args)
if args.transaction_date:
so.transaction_date = args.transaction_date
if args.drop_ship:
so.drop_ship = 1
so.company = args.company or "_Test Company"
so.customer = args.customer or "_Test Customer"
@@ -328,15 +350,19 @@ def make_sales_order(**args):
if "warehouse" not in args:
args.warehouse = "_Test Warehouse - _TC"
so.append("items", {
"item_code": args.item or args.item_code or "_Test Item",
"warehouse": args.warehouse,
"qty": args.qty or 10,
"rate": args.rate or 100,
"conversion_factor": 1.0,
})
if args.items:
so.items = args.items
else:
so.append("items", {
"item_code": args.item or args.item_code or "_Test Item",
"warehouse": args.warehouse,
"qty": args.qty or 10,
"rate": args.rate or 100,
"conversion_factor": 1.0,
})
if not args.do_not_save:
so.insert()
if not args.do_not_submit: