From 6a5efa972bede2d8f3eedb74883f7d14caaf916d Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Fri, 8 Feb 2013 13:57:05 +0530 Subject: [PATCH] added test record for purchase invoice test case --- .../purchase_invoice/test_purchase_invoice.py | 170 ++++++++++++++++-- selling/doctype/customer/customer.py | 1 + stock/doctype/item/item.py | 2 + 3 files changed, 157 insertions(+), 16 deletions(-) diff --git a/accounts/doctype/purchase_invoice/test_purchase_invoice.py b/accounts/doctype/purchase_invoice/test_purchase_invoice.py index d13af0e653..87577880f2 100644 --- a/accounts/doctype/purchase_invoice/test_purchase_invoice.py +++ b/accounts/doctype/purchase_invoice/test_purchase_invoice.py @@ -147,9 +147,11 @@ class TestPurchaseInvoice(unittest.TestCase): def load_test_data(self): from webnotes.test_runner import make_test_records + make_test_records("Cost Center", verbose=0) + make_test_records("Item", verbose=0) make_test_records("Purchase Invoice", verbose=0) - def test_gl_entries(self): + def atest_gl_entries(self): wrapper = webnotes.model_wrapper(purchase_invoice_doclist).insert() wrapper.submit() wrapper.load_from_db() @@ -171,25 +173,161 @@ class TestPurchaseInvoice(unittest.TestCase): for d in gl_entries: self.assertEqual([d.debit, d.credit], expected_gl_entries.get(d.account)) - def atest_purchase_invoice_calculation(self): - test_doclist = [] + purchase_invoice_doclist - for doc in test_doclist: - if doc["doctype"] == "Purchase Taxes and Charges": - del doc["tax_amount"] + def test_purchase_invoice_calculation(self): + test_doclist = [ + # parent + { + "doctype": "Purchase Invoice", + "naming_series": "BILL", + "supplier_name": "_Test Supplier", + "credit_to": "_Test Supplier - _TC", + "bill_no": "NA", + "posting_date": "2013-02-03", + "fiscal_year": "_Test Fiscal Year", + "company": "_Test Company", + "currency": "INR", + "conversion_rate": 1, + "grand_total_import": 0 # for feed + }, + # items + { + "doctype": "Purchase Invoice Item", + "parentfield": "entries", + "item_code": "_Test Item Home Desktop 100", + "item_name": "_Test Item Home Desktop 100", + "qty": 10, + "import_rate": 50, + "import_amount": 500, + "rate": 50, + "amount": 50, + "uom": "_Test UOM", + "item_tax_rate": json.dumps({"_Test Account Excise Duty - _TC": 10}), + "expense_head": "_Test Account Cost for Goods Sold - _TC", + "cost_center": "_Test Cost Center - _TC" + + }, + { + "doctype": "Purchase Invoice Item", + "parentfield": "entries", + "item_code": "_Test Item Home Desktop 200", + "item_name": "_Test Item Home Desktop 200", + "qty": 5, + "import_rate": 150, + "import_amount": 750, + "rate": 150, + "amount": 750, + "uom": "_Test UOM", + "expense_head": "_Test Account Cost for Goods Sold - _TC", + "cost_center": "_Test Cost Center - _TC" + }, + # taxes + { + "doctype": "Purchase Taxes and Charges", + "parentfield": "purchase_tax_details", + "charge_type": "Actual", + "account_head": "_Test Account Shipping Charges - _TC", + "cost_center": "_Test Cost Center - _TC", + "description": "Shipping Charges", + "category": "Valuation and Total", + "add_deduct_tax": "Add", + "rate": 100 + }, + { + "doctype": "Purchase Taxes and Charges", + "parentfield": "purchase_tax_details", + "charge_type": "On Net Total", + "account_head": "_Test Account Customs Duty - _TC", + "cost_center": "_Test Cost Center - _TC", + "description": "Customs Duty", + "category": "Valuation", + "add_deduct_tax": "Add", + "rate": 10 + }, + { + "doctype": "Purchase Taxes and Charges", + "parentfield": "purchase_tax_details", + "charge_type": "On Net Total", + "account_head": "_Test Account Excise Duty - _TC", + "cost_center": "_Test Cost Center - _TC", + "description": "Excise Duty", + "category": "Total", + "add_deduct_tax": "Add", + "rate": 12 + }, + { + "doctype": "Purchase Taxes and Charges", + "parentfield": "purchase_tax_details", + "charge_type": "On Previous Row Amount", + "account_head": "_Test Account Education Cess - _TC", + "cost_center": "_Test Cost Center - _TC", + "description": "Education Cess", + "category": "Total", + "add_deduct_tax": "Add", + "rate": 2, + "row_id": 3 + }, + { + "doctype": "Purchase Taxes and Charges", + "parentfield": "purchase_tax_details", + "charge_type": "On Previous Row Amount", + "account_head": "_Test Account S&H Education Cess - _TC", + "cost_center": "_Test Cost Center - _TC", + "description": "S&H Education Cess", + "category": "Total", + "add_deduct_tax": "Add", + "rate": 1, + "row_id": 3 + }, + { + "doctype": "Purchase Taxes and Charges", + "parentfield": "purchase_tax_details", + "charge_type": "On Previous Row Total", + "account_head": "_Test Account CST - _TC", + "cost_center": "_Test Cost Center - _TC", + "description": "CST", + "category": "Total", + "add_deduct_tax": "Add", + "rate": 2, + "row_id": 5 + }, + { + "doctype": "Purchase Taxes and Charges", + "parentfield": "purchase_tax_details", + "charge_type": "On Net Total", + "account_head": "_Test Account VAT - _TC", + "cost_center": "_Test Cost Center - _TC", + "description": "VAT", + "category": "Total", + "add_deduct_tax": "Add", + "rate": 12.5 + }, + { + "doctype": "Purchase Taxes and Charges", + "parentfield": "purchase_tax_details", + "charge_type": "On Previous Row Total", + "account_head": "_Test Account Discount - _TC", + "cost_center": "_Test Cost Center - _TC", + "description": "Discount", + "category": "Total", + "add_deduct_tax": "Deduct", + "rate": 10, + "row_id": 7 + }, + ] wrapper = webnotes.model_wrapper(test_doclist).insert() wrapper.load_from_db() # tax amounts expected_values = [ - ["Shipping Charges - %s" % abbr, 100, 1350], - ["Customs Duty - %s" % abbr, 125, 1350], - ["Excise Duty - %s" % abbr, 140, 1490], - ["Education Cess - %s" % abbr, 2.8, 1492.8], - ["S&H Education Cess - %s" % abbr, 1.4, 1494.2], - ["CST - %s" % abbr, 29.88, 1524.08], - ["VAT - Test - %s" % abbr, 156.25, 1680.33], - ["Discount - %s" % abbr, 168.03, 1512.30], + ["_Test Account Shipping Charges - _TC", 100, 1350], + ["_Test Account Customs Duty - _TC", 125, 1350], + ["_Test Account Excise Duty - _TC", 140, 1490], + ["_Test Account Education Cess - _TC", 2.8, 1492.8], + ["_Test Account S&H Education Cess - _TC", 1.4, 1494.2], + ["_Test Account CST - _TC", 29.88, 1524.08], + ["_Test Account VAT - _TC", 156.25, 1680.33], + ["_Test Account Discount - _TC", 168.03, 1512.30], ] for i, tax in enumerate(wrapper.doclist.get({"parentfield": "purchase_tax_details"})): @@ -198,8 +336,8 @@ class TestPurchaseInvoice(unittest.TestCase): self.assertEqual(tax.total, expected_values[i][2]) expected_values = [ - ["Home Desktop 100", 90], - ["Home Desktop 200", 135] + ["_Test Item Home Desktop 100", 90], + ["_Test Item Home Desktop 200", 135] ] for i, item in enumerate(wrapper.doclist.get({"parentfield": "entries"})): self.assertEqual(item.item_code, expected_values[i][0]) diff --git a/selling/doctype/customer/customer.py b/selling/doctype/customer/customer.py index 315e7931a9..932256fcf5 100644 --- a/selling/doctype/customer/customer.py +++ b/selling/doctype/customer/customer.py @@ -253,6 +253,7 @@ class DocType(TransactionBase): test_records = [ [{ "doctype": "Customer", + "customer_name": "_Test Customer", "customer_type": "Individual", "customer_group": "_Test Customer Group", "territory": "_Test Territory", diff --git a/stock/doctype/item/item.py b/stock/doctype/item/item.py index b2923b1dd5..2d781bd3b9 100644 --- a/stock/doctype/item/item.py +++ b/stock/doctype/item/item.py @@ -240,6 +240,7 @@ test_records = [ "inspection_required": "No", "is_pro_applicable": "No", "is_sub_contracted_item": "No", + "stock_uom": "_Test UOM" }, { "doctype": "Item Tax", @@ -263,5 +264,6 @@ test_records = [ "inspection_required": "No", "is_pro_applicable": "No", "is_sub_contracted_item": "No", + "stock_uom": "_Test UOM" }], ] \ No newline at end of file