Skip to content

Commit 04f4a97

Browse files
test: validate net total
1 parent 637bd9d commit 04f4a97

File tree

2 files changed

+54
-17
lines changed

2 files changed

+54
-17
lines changed

erpnext/selling/doctype/sales_order/test_sales_order.py

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -162,16 +162,23 @@ def test_make_sales_invoice(self):
162162
si1 = make_sales_invoice(so.name)
163163
self.assertEqual(len(si1.get("items")), 0)
164164

165-
def test_overall_discount_calculatin(self):
165+
def test_overall_discount_calculation(self):
166166
so = make_sales_order(do_not_submit=True)
167167

168168
discount_percent = 5
169169
grand_total = so.grand_total
170-
additional_discount_account = create_account(
171-
account_name="Discount Account",
172-
parent_account="Indirect Expenses - _TC",
173-
company="_Test Company",
170+
net_total = so.net_total
171+
additional_discount_account = frappe.db.get_value(
172+
"Account", {"account_name": "Test Discount Account", "company": "_Test Company"}, "name"
174173
)
174+
175+
if not additional_discount_account:
176+
additional_discount_account = create_account(
177+
account_name="Test Discount Account",
178+
parent_account="Indirect Expenses - _TC",
179+
company="_Test Company",
180+
)
181+
175182
discount_amount = grand_total * (discount_percent / 100)
176183

177184
so.apply_discount_on = "Grand Total"
@@ -182,15 +189,23 @@ def test_overall_discount_calculatin(self):
182189
so.save()
183190

184191
self.assertEqual(so.grand_total, (grand_total - discount_amount))
192+
self.assertEqual(so.net_total, net_total)
193+
194+
so.submit()
185195

186196
def test_sales_invoice_creation_from_sales_order_with_cash_discount_fields(self):
187197
so = make_sales_order(do_not_submit=True)
188198

189-
additional_discount_account = create_account(
190-
account_name="Discount Account",
191-
parent_account="Indirect Expenses - _TC",
192-
company="_Test Company",
199+
additional_discount_account = frappe.db.get_value(
200+
"Account", {"account_name": "Test Discount Account", "company": "_Test Company"}, "name"
193201
)
202+
203+
if not additional_discount_account:
204+
additional_discount_account = create_account(
205+
account_name="Test Discount Account",
206+
parent_account="Indirect Expenses - _TC",
207+
company="_Test Company",
208+
)
194209
discount_percent = 5
195210

196211
so.apply_discount_on = "Grand Total"
@@ -207,6 +222,10 @@ def test_sales_invoice_creation_from_sales_order_with_cash_discount_fields(self)
207222
self.assertEqual(so.apply_discount_on, si.apply_discount_on)
208223
self.assertEqual(so.additional_discount_percentage, si.additional_discount_percentage)
209224
self.assertEqual(so.grand_total, si.grand_total)
225+
self.assertEqual(so.net_total, si.net_total)
226+
227+
si.save()
228+
si.submit()
210229

211230
def test_so_billed_amount_against_return_entry(self):
212231
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_sales_return

erpnext/stock/doctype/delivery_note/test_delivery_note.py

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1231,11 +1231,17 @@ def test_overall_discount_calculatin(self):
12311231

12321232
discount_percent = 5
12331233
grand_total = dn.grand_total
1234-
additional_discount_account = create_account(
1235-
account_name="Discount Account",
1236-
parent_account="Indirect Expenses - _TC",
1237-
company="_Test Company",
1234+
net_total = dn.net_total
1235+
additional_discount_account = frappe.db.get_value(
1236+
"Account", {"account_name": "Test Discount Account", "company": "_Test Company"}, "name"
12381237
)
1238+
1239+
if not additional_discount_account:
1240+
additional_discount_account = create_account(
1241+
account_name="Test Discount Account",
1242+
parent_account="Indirect Expenses - _TC",
1243+
company="_Test Company",
1244+
)
12391245
discount_amount = grand_total * (discount_percent / 100)
12401246

12411247
dn.apply_discount_on = "Grand Total"
@@ -1246,16 +1252,24 @@ def test_overall_discount_calculatin(self):
12461252
dn.save()
12471253

12481254
self.assertEqual(dn.grand_total, (grand_total - discount_amount))
1255+
self.assertEqual(dn.net_total, net_total)
1256+
1257+
dn.submit()
12491258

12501259
def test_sales_invoice_creation_from_delivery_note_with_cash_discount_fields(self):
12511260
dn = create_delivery_note(do_not_submit=True)
12521261

1253-
additional_discount_account = create_account(
1254-
account_name="Discount Account",
1255-
parent_account="Indirect Expenses - _TC",
1256-
company="_Test Company",
1262+
additional_discount_account = frappe.db.get_value(
1263+
"Account", {"account_name": "Test Discount Account", "company": "_Test Company"}, "name"
12571264
)
12581265

1266+
if not additional_discount_account:
1267+
additional_discount_account = create_account(
1268+
account_name="Test Discount Account",
1269+
parent_account="Indirect Expenses - _TC",
1270+
company="_Test Company",
1271+
)
1272+
12591273
dn.apply_discount_on = "Grand Total"
12601274
dn.additional_discount_percentage = 5
12611275
dn.is_cash_or_non_trade_discount = 1
@@ -1270,6 +1284,10 @@ def test_sales_invoice_creation_from_delivery_note_with_cash_discount_fields(sel
12701284
self.assertEqual(dn.apply_discount_on, si.apply_discount_on)
12711285
self.assertEqual(dn.additional_discount_percentage, si.additional_discount_percentage)
12721286
self.assertEqual(dn.grand_total, si.grand_total)
1287+
self.assertEqual(dn.net_total, si.net_total)
1288+
1289+
si.save()
1290+
si.submit()
12731291

12741292
def test_make_sales_invoice_from_dn_with_returned_qty_duplicate_items(self):
12751293
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_invoice

0 commit comments

Comments
 (0)