test: Update test case

This commit is contained in:
Deepesh Garg
2022-07-16 14:06:01 +05:30
parent 844758a27c
commit 0d6beed546
4 changed files with 31 additions and 5 deletions

View File

@@ -2626,15 +2626,15 @@ class TestSalesInvoice(unittest.TestCase):
# Normal Itemized Discount # Normal Itemized Discount
si = get_sales_invoice_for_e_invoice() si = get_sales_invoice_for_e_invoice()
si.apply_discount_on = "" si.apply_discount_on = ""
si.items[0].discount_amount = 4000 si.items[0].discount_amount = 2
si.items[1].discount_amount = 300 si.items[1].discount_amount = 5
si.save() si.save()
einvoice = make_einvoice(si) einvoice = make_einvoice(si)
validate_totals(einvoice) validate_totals(einvoice)
self.assertEqual(einvoice["ItemList"][0]["Discount"], 4000) self.assertEqual(einvoice["ItemList"][0]["Discount"], 4000)
self.assertEqual(einvoice["ItemList"][1]["Discount"], 300) self.assertEqual(einvoice["ItemList"][1]["Discount"], 2100)
self.assertEqual(einvoice["ValDtls"]["Discount"], 0) self.assertEqual(einvoice["ValDtls"]["Discount"], 0)
# Invoice Discount on net total # Invoice Discount on net total

View File

@@ -9,6 +9,9 @@
"section_break_2", "section_break_2",
"sandbox_mode", "sandbox_mode",
"applicable_from", "applicable_from",
"column_break_4",
"dont_show_discounts_in_e_invoice",
"section_break_7",
"credentials", "credentials",
"advanced_settings_section", "advanced_settings_section",
"client_id", "client_id",
@@ -80,12 +83,28 @@
{ {
"fieldname": "column_break_8", "fieldname": "column_break_8",
"fieldtype": "Column Break" "fieldtype": "Column Break"
},
{
"fieldname": "column_break_4",
"fieldtype": "Column Break"
},
{
"default": "0",
"description": "Enabling this will directly report net rates in e-Invoice post discounts",
"fieldname": "dont_show_discounts_in_e_invoice",
"fieldtype": "Check",
"label": "Don't show discounts in e-Invoice"
},
{
"fieldname": "section_break_7",
"fieldtype": "Section Break",
"hide_border": 1
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,
"issingle": 1, "issingle": 1,
"links": [], "links": [],
"modified": "2021-11-16 19:50:28.029517", "modified": "2022-07-16 09:45:23.862046",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Regional", "module": "Regional",
"name": "E Invoice Settings", "name": "E Invoice Settings",

View File

@@ -273,7 +273,7 @@ def get_item_list(invoice):
item.qty = abs(item.qty) item.qty = abs(item.qty)
if invoice.get("apply_discount_on") and (abs(invoice.get("base_discount_amount")) > 0.00): if invoice.get("apply_discount_on") and (abs(invoice.get("base_discount_amount") or 0.0) > 0.0):
# TODO: need to handle case when tax included in basic rate is checked. # TODO: need to handle case when tax included in basic rate is checked.
item.discount_amount = (item.discount_amount * item.qty) + ( item.discount_amount = (item.discount_amount * item.qty) + (
abs(item.base_amount) - abs(item.base_net_amount) abs(item.base_amount) - abs(item.base_net_amount)

View File

@@ -163,5 +163,12 @@ class TestItemPrice(FrappeTestCase):
self.assertEqual(price, 21) self.assertEqual(price, 21)
def make_item_price(item_code, price_list, price_list_rate):
item_price = frappe.new_doc("Item Price")
item_price.price_list = price_list
item_price.item_code = item_code
item_price.price_list_rate = price_list_rate
item_price.insert()
return item_price
test_records = frappe.get_test_records("Item Price") test_records = frappe.get_test_records("Item Price")