mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-27 00:44:45 +00:00
refactor(test): update tests for new rounding logic
This commit is contained in:
@@ -93,7 +93,7 @@ class TestPOSInvoice(unittest.TestCase):
|
|||||||
|
|
||||||
inv.save()
|
inv.save()
|
||||||
|
|
||||||
self.assertEqual(inv.net_total, 4298.25)
|
self.assertEqual(inv.net_total, 4298.24)
|
||||||
self.assertEqual(inv.grand_total, 4900.00)
|
self.assertEqual(inv.grand_total, 4900.00)
|
||||||
|
|
||||||
def test_tax_calculation_with_multiple_items(self):
|
def test_tax_calculation_with_multiple_items(self):
|
||||||
|
|||||||
@@ -343,7 +343,7 @@ class TestPOSInvoiceMergeLog(unittest.TestCase):
|
|||||||
inv.load_from_db()
|
inv.load_from_db()
|
||||||
consolidated_invoice = frappe.get_doc("Sales Invoice", inv.consolidated_invoice)
|
consolidated_invoice = frappe.get_doc("Sales Invoice", inv.consolidated_invoice)
|
||||||
self.assertEqual(consolidated_invoice.status, "Return")
|
self.assertEqual(consolidated_invoice.status, "Return")
|
||||||
self.assertEqual(consolidated_invoice.rounding_adjustment, -0.001)
|
self.assertEqual(consolidated_invoice.rounding_adjustment, -0.002)
|
||||||
|
|
||||||
finally:
|
finally:
|
||||||
frappe.set_user("Administrator")
|
frappe.set_user("Administrator")
|
||||||
|
|||||||
@@ -314,7 +314,8 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
si.insert()
|
si.insert()
|
||||||
|
|
||||||
# with inclusive tax
|
# with inclusive tax
|
||||||
self.assertEqual(si.items[0].net_amount, 3947.368421052631)
|
self.assertEqual(si.items[0].net_amount, 3947.37)
|
||||||
|
self.assertEqual(si.net_total, si.base_net_total)
|
||||||
self.assertEqual(si.net_total, 3947.37)
|
self.assertEqual(si.net_total, 3947.37)
|
||||||
self.assertEqual(si.grand_total, 5000)
|
self.assertEqual(si.grand_total, 5000)
|
||||||
|
|
||||||
@@ -658,7 +659,7 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
62.5,
|
62.5,
|
||||||
625.0,
|
625.0,
|
||||||
50,
|
50,
|
||||||
499.97600115194473,
|
499.98,
|
||||||
],
|
],
|
||||||
"_Test Item Home Desktop 200": [
|
"_Test Item Home Desktop 200": [
|
||||||
190.66,
|
190.66,
|
||||||
@@ -669,7 +670,7 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
190.66,
|
190.66,
|
||||||
953.3,
|
953.3,
|
||||||
150,
|
150,
|
||||||
749.9968530500239,
|
750,
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -682,20 +683,21 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
self.assertEqual(d.get(k), expected_values[d.item_code][i])
|
self.assertEqual(d.get(k), expected_values[d.item_code][i])
|
||||||
|
|
||||||
# check net total
|
# check net total
|
||||||
self.assertEqual(si.net_total, 1249.97)
|
self.assertEqual(si.base_net_total, si.net_total)
|
||||||
|
self.assertEqual(si.net_total, 1249.98)
|
||||||
self.assertEqual(si.total, 1578.3)
|
self.assertEqual(si.total, 1578.3)
|
||||||
|
|
||||||
# check tax calculation
|
# check tax calculation
|
||||||
expected_values = {
|
expected_values = {
|
||||||
"keys": ["tax_amount", "total"],
|
"keys": ["tax_amount", "total"],
|
||||||
"_Test Account Excise Duty - _TC": [140, 1389.97],
|
"_Test Account Excise Duty - _TC": [140, 1389.98],
|
||||||
"_Test Account Education Cess - _TC": [2.8, 1392.77],
|
"_Test Account Education Cess - _TC": [2.8, 1392.78],
|
||||||
"_Test Account S&H Education Cess - _TC": [1.4, 1394.17],
|
"_Test Account S&H Education Cess - _TC": [1.4, 1394.18],
|
||||||
"_Test Account CST - _TC": [27.88, 1422.05],
|
"_Test Account CST - _TC": [27.88, 1422.06],
|
||||||
"_Test Account VAT - _TC": [156.25, 1578.30],
|
"_Test Account VAT - _TC": [156.25, 1578.31],
|
||||||
"_Test Account Customs Duty - _TC": [125, 1703.30],
|
"_Test Account Customs Duty - _TC": [125, 1703.31],
|
||||||
"_Test Account Shipping Charges - _TC": [100, 1803.30],
|
"_Test Account Shipping Charges - _TC": [100, 1803.31],
|
||||||
"_Test Account Discount - _TC": [-180.33, 1622.97],
|
"_Test Account Discount - _TC": [-180.33, 1622.98],
|
||||||
}
|
}
|
||||||
|
|
||||||
for d in si.get("taxes"):
|
for d in si.get("taxes"):
|
||||||
@@ -731,7 +733,7 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
"base_rate": 2500,
|
"base_rate": 2500,
|
||||||
"base_amount": 25000,
|
"base_amount": 25000,
|
||||||
"net_rate": 40,
|
"net_rate": 40,
|
||||||
"net_amount": 399.9808009215558,
|
"net_amount": 399.98,
|
||||||
"base_net_rate": 2000,
|
"base_net_rate": 2000,
|
||||||
"base_net_amount": 19999,
|
"base_net_amount": 19999,
|
||||||
},
|
},
|
||||||
@@ -745,7 +747,7 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
"base_rate": 7500,
|
"base_rate": 7500,
|
||||||
"base_amount": 37500,
|
"base_amount": 37500,
|
||||||
"net_rate": 118.01,
|
"net_rate": 118.01,
|
||||||
"net_amount": 590.0531205155963,
|
"net_amount": 590.05,
|
||||||
"base_net_rate": 5900.5,
|
"base_net_rate": 5900.5,
|
||||||
"base_net_amount": 29502.5,
|
"base_net_amount": 29502.5,
|
||||||
},
|
},
|
||||||
@@ -783,8 +785,13 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
|
|
||||||
self.assertEqual(si.base_grand_total, 60795)
|
self.assertEqual(si.base_grand_total, 60795)
|
||||||
self.assertEqual(si.grand_total, 1215.90)
|
self.assertEqual(si.grand_total, 1215.90)
|
||||||
self.assertEqual(si.rounding_adjustment, 0.01)
|
# no rounding adjustment as the Smallest Currency Fraction Value of USD is 0.01
|
||||||
self.assertEqual(si.base_rounding_adjustment, 0.50)
|
if frappe.db.get_value("Currency", "USD", "smallest_currency_fraction_value") < 0.01:
|
||||||
|
self.assertEqual(si.rounding_adjustment, 0.10)
|
||||||
|
self.assertEqual(si.base_rounding_adjustment, 5.0)
|
||||||
|
else:
|
||||||
|
self.assertEqual(si.rounding_adjustment, 0.0)
|
||||||
|
self.assertEqual(si.base_rounding_adjustment, 0.0)
|
||||||
|
|
||||||
def test_outstanding(self):
|
def test_outstanding(self):
|
||||||
w = self.make()
|
w = self.make()
|
||||||
@@ -2172,7 +2179,7 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
|
|
||||||
def test_rounding_adjustment_2(self):
|
def test_rounding_adjustment_2(self):
|
||||||
si = create_sales_invoice(rate=400, do_not_save=True)
|
si = create_sales_invoice(rate=400, do_not_save=True)
|
||||||
for rate in [400, 600, 100]:
|
for rate in [400.25, 600.30, 100.65]:
|
||||||
si.append(
|
si.append(
|
||||||
"items",
|
"items",
|
||||||
{
|
{
|
||||||
@@ -2198,18 +2205,19 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
)
|
)
|
||||||
si.save()
|
si.save()
|
||||||
si.submit()
|
si.submit()
|
||||||
self.assertEqual(si.net_total, 1271.19)
|
self.assertEqual(si.net_total, si.base_net_total)
|
||||||
self.assertEqual(si.grand_total, 1500)
|
self.assertEqual(si.net_total, 1272.20)
|
||||||
self.assertEqual(si.total_taxes_and_charges, 228.82)
|
self.assertEqual(si.grand_total, 1501.20)
|
||||||
self.assertEqual(si.rounding_adjustment, -0.01)
|
self.assertEqual(si.total_taxes_and_charges, 229)
|
||||||
|
self.assertEqual(si.rounding_adjustment, -0.20)
|
||||||
|
|
||||||
round_off_account = frappe.get_cached_value("Company", "_Test Company", "round_off_account")
|
round_off_account = frappe.get_cached_value("Company", "_Test Company", "round_off_account")
|
||||||
expected_values = {
|
expected_values = {
|
||||||
"_Test Account Service Tax - _TC": [0.0, 114.41],
|
"_Test Account Service Tax - _TC": [0.0, 114.50],
|
||||||
"_Test Account VAT - _TC": [0.0, 114.41],
|
"_Test Account VAT - _TC": [0.0, 114.50],
|
||||||
si.debit_to: [1500, 0.0],
|
si.debit_to: [1501, 0.0],
|
||||||
round_off_account: [0.01, 0.01],
|
round_off_account: [0.20, 0.0],
|
||||||
"Sales - _TC": [0.0, 1271.18],
|
"Sales - _TC": [0.0, 1272.20],
|
||||||
}
|
}
|
||||||
|
|
||||||
gl_entries = frappe.db.sql(
|
gl_entries = frappe.db.sql(
|
||||||
@@ -2267,7 +2275,8 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
|
|
||||||
si.save()
|
si.save()
|
||||||
si.submit()
|
si.submit()
|
||||||
self.assertEqual(si.net_total, 4007.16)
|
self.assertEqual(si.net_total, si.base_net_total)
|
||||||
|
self.assertEqual(si.net_total, 4007.15)
|
||||||
self.assertEqual(si.grand_total, 4488.02)
|
self.assertEqual(si.grand_total, 4488.02)
|
||||||
self.assertEqual(si.total_taxes_and_charges, 480.86)
|
self.assertEqual(si.total_taxes_and_charges, 480.86)
|
||||||
self.assertEqual(si.rounding_adjustment, -0.02)
|
self.assertEqual(si.rounding_adjustment, -0.02)
|
||||||
@@ -2280,7 +2289,7 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
["_Test Account Service Tax - _TC", 0.0, 240.43],
|
["_Test Account Service Tax - _TC", 0.0, 240.43],
|
||||||
["_Test Account VAT - _TC", 0.0, 240.43],
|
["_Test Account VAT - _TC", 0.0, 240.43],
|
||||||
["Sales - _TC", 0.0, 4007.15],
|
["Sales - _TC", 0.0, 4007.15],
|
||||||
[round_off_account, 0.02, 0.01],
|
[round_off_account, 0.01, 0.0],
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user