From be2016ba4122b578559dd9403fac8345b93d947d Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Thu, 4 Jul 2013 17:52:03 +0530 Subject: [PATCH] [mapper] sales order-sales invoice added condition --- selling/doctype/sales_order/sales_order.py | 3 ++- selling/doctype/sales_order/test_sales_order.py | 15 ++++++++++++--- stock/doctype/item/test_item.py | 7 ++++++- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/selling/doctype/sales_order/sales_order.py b/selling/doctype/sales_order/sales_order.py index ce32d9bc3e1..b8362b573fd 100644 --- a/selling/doctype/sales_order/sales_order.py +++ b/selling/doctype/sales_order/sales_order.py @@ -471,7 +471,8 @@ def make_sales_invoice(source_name, target_doclist=None): "parent": "sales_order", "reserved_warehouse": "warehouse" }, - "postprocess": update_item + "postprocess": update_item, + "condition": lambda doc: doc.amount==0 or doc.billed_amt < doc.amount }, "Sales Taxes and Charges": { "doctype": "Sales Taxes and Charges", diff --git a/selling/doctype/sales_order/test_sales_order.py b/selling/doctype/sales_order/test_sales_order.py index 6ec88024a4c..dd0cd44486d 100644 --- a/selling/doctype/sales_order/test_sales_order.py +++ b/selling/doctype/sales_order/test_sales_order.py @@ -43,10 +43,19 @@ class TestSalesOrder(unittest.TestCase): sales_order = webnotes.bean("Sales Order", so.doc.name) sales_order.submit() - dn = make_sales_invoice(so.doc.name) + si = make_sales_invoice(so.doc.name) + + self.assertEquals(si[0]["doctype"], "Sales Invoice") + self.assertEquals(len(si), len(sales_order.doclist)) + self.assertEquals(len([d for d in si if d["doctype"]=="Sales Invoice Item"]), 1) + + si = webnotes.bean(si) + si.insert() + si.submit() + + si1 = make_sales_invoice(so.doc.name) + self.assertEquals(len([d for d in si1 if d["doctype"]=="Sales Invoice Item"]), 0) - self.assertEquals(dn[0]["doctype"], "Sales Invoice") - self.assertEquals(len(dn), len(sales_order.doclist)) def create_so(self, so_doclist = None): if not so_doclist: diff --git a/stock/doctype/item/test_item.py b/stock/doctype/item/test_item.py index 35cad9d211c..38f1d970ec6 100644 --- a/stock/doctype/item/test_item.py +++ b/stock/doctype/item/test_item.py @@ -62,7 +62,8 @@ test_records = [ "is_pro_applicable": "No", "is_sub_contracted_item": "No", "stock_uom": "_Test UOM", - "default_warehouse": "_Test Warehouse" + "default_income_account": "Sales - _TC", + "default_warehouse": "_Test Warehouse", }, { "doctype": "Item Reorder", "parentfield": "item_reorder", @@ -85,6 +86,7 @@ test_records = [ "description": "_Test Item Home Desktop 100", "item_group": "_Test Item Group Desktops", "default_warehouse": "_Test Warehouse", + "default_income_account": "Sales - _TC", "is_stock_item": "Yes", "is_asset_item": "No", "has_batch_no": "No", @@ -110,6 +112,7 @@ test_records = [ "description": "_Test Item Home Desktop 200", "item_group": "_Test Item Group Desktops", "default_warehouse": "_Test Warehouse", + "default_income_account": "Sales - _TC", "is_stock_item": "Yes", "is_asset_item": "No", "has_batch_no": "No", @@ -129,6 +132,7 @@ test_records = [ "item_name": "_Test Sales BOM Item", "description": "_Test Sales BOM Item", "item_group": "_Test Item Group Desktops", + "default_income_account": "Sales - _TC", "is_stock_item": "No", "is_asset_item": "No", "has_batch_no": "No", @@ -150,6 +154,7 @@ test_records = [ "item_group": "_Test Item Group Desktops", "is_stock_item": "Yes", "default_warehouse": "_Test Warehouse", + "default_income_account": "Sales - _TC", "is_asset_item": "No", "has_batch_no": "No", "has_serial_no": "No",