[test] Fixed test cases for LCV
diff --git a/erpnext/stock/doctype/landed_cost_voucher/test_landed_cost_voucher.py b/erpnext/stock/doctype/landed_cost_voucher/test_landed_cost_voucher.py
index c58607f..409770e 100644
--- a/erpnext/stock/doctype/landed_cost_voucher/test_landed_cost_voucher.py
+++ b/erpnext/stock/doctype/landed_cost_voucher/test_landed_cost_voucher.py
@@ -5,6 +5,7 @@
from __future__ import unicode_literals
import unittest
import frappe
+from frappe.utils import flt
from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt \
import set_perpetual_inventory, get_gl_entries, test_records as pr_test_records
from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice
@@ -23,7 +24,7 @@
},
fieldname=["qty_after_transaction", "stock_value"], as_dict=1)
- self.submit_landed_cost_voucher("Purchase Receipt", pr.name)
+ submit_landed_cost_voucher("Purchase Receipt", pr.name)
pr_lc_value = frappe.db.get_value("Purchase Receipt Item", {"parent": pr.name}, "landed_cost_voucher_amount")
self.assertEquals(pr_lc_value, 25.0)
@@ -75,7 +76,7 @@
},
fieldname=["qty_after_transaction", "stock_value"], as_dict=1)
- self.submit_landed_cost_voucher("Purchase Invoice", pi.name)
+ submit_landed_cost_voucher("Purchase Invoice", pi.name)
pi_lc_value = frappe.db.get_value("Purchase Invoice Item", {"parent": pi.name},
"landed_cost_voucher_amount")
@@ -121,7 +122,7 @@
serial_no_rate = frappe.db.get_value("Serial No", "SN001", "purchase_rate")
- self.submit_landed_cost_voucher("Purchase Receipt", pr.name)
+ submit_landed_cost_voucher("Purchase Receipt", pr.name)
serial_no = frappe.db.get_value("Serial No", "SN001",
["warehouse", "purchase_rate"], as_dict=1)
@@ -131,27 +132,37 @@
set_perpetual_inventory(0)
- def submit_landed_cost_voucher(self, receipt_document_type, receipt_document):
- ref_doc = frappe.get_doc(receipt_document_type, receipt_document)
-
- lcv = frappe.new_doc("Landed Cost Voucher")
- lcv.company = "_Test Company"
- lcv.set("purchase_receipts", [{
- "receipt_document_type": receipt_document_type,
- "receipt_document": receipt_document,
- "supplier": ref_doc.supplier,
- "posting_date": ref_doc.posting_date,
- "grand_total": ref_doc.base_grand_total
- }])
-
- lcv.set("taxes", [{
- "description": "Insurance Charges",
- "account": "_Test Account Insurance Charges - _TC",
- "amount": 50
- }])
+def submit_landed_cost_voucher(receipt_document_type, receipt_document):
+ ref_doc = frappe.get_doc(receipt_document_type, receipt_document)
+
+ lcv = frappe.new_doc("Landed Cost Voucher")
+ lcv.company = "_Test Company"
+ lcv.distribute_charges_based_on = 'Amount'
+
+ lcv.set("purchase_receipts", [{
+ "receipt_document_type": receipt_document_type,
+ "receipt_document": receipt_document,
+ "supplier": ref_doc.supplier,
+ "posting_date": ref_doc.posting_date,
+ "grand_total": ref_doc.base_grand_total
+ }])
+
+ lcv.set("taxes", [{
+ "description": "Insurance Charges",
+ "account": "_Test Account Insurance Charges - _TC",
+ "amount": 50
+ }])
- lcv.insert()
- lcv.submit()
-
+ lcv.insert()
+
+ distribute_landed_cost_on_items(lcv)
+
+ lcv.submit()
+
+def distribute_landed_cost_on_items(lcv):
+ based_on = lcv.distribute_charges_based_on.lower()
+ total = sum([flt(d.get(based_on)) for d in lcv.get("items")])
+ for item in lcv.get("items"):
+ item.applicable_charges = flt(item.get(based_on)) * flt(lcv.total_taxes_and_charges) / flt(total)
test_records = frappe.get_test_records('Landed Cost Voucher')