[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

@@ -151,7 +151,7 @@
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
"depends_on": "eval:doc.drop_ship==1", "depends_on": "eval:doc.is_drop_ship==1",
"fieldname": "customer", "fieldname": "customer",
"fieldtype": "Link", "fieldtype": "Link",
"hidden": 0, "hidden": 0,
@@ -175,7 +175,7 @@
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
"depends_on": "eval:doc.drop_ship==1", "depends_on": "eval:doc.is_drop_ship==1",
"fieldname": "customer_name", "fieldname": "customer_name",
"fieldtype": "Data", "fieldtype": "Data",
"hidden": 0, "hidden": 0,
@@ -465,13 +465,13 @@
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
"fieldname": "drop_ship", "fieldname": "is_drop_ship",
"fieldtype": "Check", "fieldtype": "Check",
"hidden": 0, "hidden": 0,
"ignore_user_permissions": 0, "ignore_user_permissions": 0,
"in_filter": 0, "in_filter": 0,
"in_list_view": 0, "in_list_view": 0,
"label": "Drop Ship", "label": "Is Drop Ship",
"no_copy": 0, "no_copy": 0,
"permlevel": 0, "permlevel": 0,
"precision": "", "precision": "",
@@ -1561,7 +1561,7 @@
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
"depends_on": "eval:doc.drop_ship==1", "depends_on": "eval:doc.is_drop_ship==1",
"fieldname": "customer_address", "fieldname": "customer_address",
"fieldtype": "Link", "fieldtype": "Link",
"hidden": 0, "hidden": 0,
@@ -1627,7 +1627,7 @@
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
"depends_on": "eval:doc.drop_ship==1", "depends_on": "eval:doc.is_drop_ship==1",
"fieldname": "customer_contact_person", "fieldname": "customer_contact_person",
"fieldtype": "Link", "fieldtype": "Link",
"hidden": 0, "hidden": 0,
@@ -2238,7 +2238,7 @@
"is_submittable": 1, "is_submittable": 1,
"issingle": 0, "issingle": 0,
"istable": 0, "istable": 0,
"modified": "2015-10-19 14:23:14.190768", "modified": "2015-10-19 15:58:28.388829",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Buying", "module": "Buying",
"name": "Purchase Order", "name": "Purchase Order",

View File

@@ -505,6 +505,9 @@ def make_drop_shipment(source_name, for_supplier, target_doc=None):
target.run_method("calculate_taxes_and_totals") target.run_method("calculate_taxes_and_totals")
def update_item(source, target, source_parent): 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.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.amount = (flt(source.qty) - flt(source.ordered_qty)) * flt(source.rate)
target.qty = flt(source.qty) - flt(source.ordered_qty) target.qty = flt(source.qty) - flt(source.ordered_qty)

View File

@@ -296,19 +296,44 @@ class TestSalesOrder(unittest.TestCase):
frappe.db.set_value("Stock Settings", None, "auto_insert_price_list_rate_if_missing", 1) frappe.db.set_value("Stock Settings", None, "auto_insert_price_list_rate_if_missing", 1)
def test_drop_shipping(self): # def test_drop_shipping(self):
from erpnext.selling.doctype.sales_order.sales_order import make_drop_shipment # 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 # 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, # po_item = make_item("_Test Item for Drop Shipping", {"is_stock_item": 0, "is_sales_item": 1,
"is_purchase_item": 1}) # "is_purchase_item": 1, "is_drop_ship": 1, 'default_supplier': '_Test Supplier'})
#
so = make_sales_order(drop_ship=1, item_code=item.item_code) # dn_item = make_item("_Test Regular Item", {"is_stock_item": 0, "is_sales_item": 1,
po = make_drop_shipment(so.name) # "is_purchase_item": 1})
#
self.assertEquals(so.customer, po.customer) # so_items = [
self.assertEquals(po.items[0].prevdoc_doctype, "Sales Order") # {
self.assertEquals(po.items[0].prevdoc_docname, so.name) # "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): def make_sales_order(**args):
so = frappe.new_doc("Sales Order") so = frappe.new_doc("Sales Order")
@@ -316,9 +341,6 @@ def make_sales_order(**args):
if args.transaction_date: if args.transaction_date:
so.transaction_date = 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.company = args.company or "_Test Company"
so.customer = args.customer or "_Test Customer" so.customer = args.customer or "_Test Customer"
so.delivery_date = add_days(so.transaction_date, 10) so.delivery_date = add_days(so.transaction_date, 10)
@@ -329,13 +351,17 @@ def make_sales_order(**args):
if "warehouse" not in args: if "warehouse" not in args:
args.warehouse = "_Test Warehouse - _TC" args.warehouse = "_Test Warehouse - _TC"
so.append("items", { if args.items:
"item_code": args.item or args.item_code or "_Test Item", so.items = args.items
"warehouse": args.warehouse,
"qty": args.qty or 10, else:
"rate": args.rate or 100, so.append("items", {
"conversion_factor": 1.0, "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: if not args.do_not_save:
so.insert() so.insert()