mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-26 08:24:47 +00:00
chore: added test case for date period in multiple tax withholding rules
(cherry picked from commit 515fe340a8)
# Conflicts:
# erpnext/accounts/report/tax_withholding_details/test_tax_withholding_details.py
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests.utils import FrappeTestCase
|
||||||
from frappe.utils import today
|
from frappe.utils import add_to_date, today
|
||||||
|
|
||||||
from erpnext.accounts.doctype.payment_entry.test_payment_entry import create_payment_entry
|
from erpnext.accounts.doctype.payment_entry.test_payment_entry import create_payment_entry
|
||||||
from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice
|
from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice
|
||||||
@@ -60,6 +60,56 @@ class TestTaxWithholdingDetails(AccountsTestMixin, FrappeTestCase):
|
|||||||
]
|
]
|
||||||
self.check_expected_values(result, expected_values)
|
self.check_expected_values(result, expected_values)
|
||||||
|
|
||||||
|
def test_date_filters_in_multiple_tax_withholding_rules(self):
|
||||||
|
create_tax_category("TDS - 3", rate=10, account="TDS - _TC", cumulative_threshold=1)
|
||||||
|
# insert new rate in same fiscal year
|
||||||
|
fiscal_year = get_fiscal_year(today(), company="_Test Company")
|
||||||
|
mid_year = add_to_date(fiscal_year[1], months=6)
|
||||||
|
tds_doc = frappe.get_doc("Tax Withholding Category", "TDS - 3")
|
||||||
|
tds_doc.rates[0].to_date = mid_year
|
||||||
|
tds_doc.append(
|
||||||
|
"rates",
|
||||||
|
{
|
||||||
|
"tax_withholding_rate": 20,
|
||||||
|
"from_date": add_to_date(mid_year, days=1),
|
||||||
|
"to_date": fiscal_year[2],
|
||||||
|
"single_threshold": 1,
|
||||||
|
"cumulative_threshold": 1,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
tds_doc.save()
|
||||||
|
|
||||||
|
inv_1 = make_purchase_invoice(rate=1000, do_not_submit=True)
|
||||||
|
inv_1.apply_tds = 1
|
||||||
|
inv_1.tax_withholding_category = "TDS - 3"
|
||||||
|
inv_1.submit()
|
||||||
|
|
||||||
|
inv_2 = make_purchase_invoice(
|
||||||
|
rate=1000, do_not_submit=True, posting_date=add_to_date(mid_year, days=1), do_not_save=True
|
||||||
|
)
|
||||||
|
inv_2.set_posting_time = 1
|
||||||
|
|
||||||
|
inv_1.apply_tds = 1
|
||||||
|
inv_2.tax_withholding_category = "TDS - 3"
|
||||||
|
inv_2.save()
|
||||||
|
inv_2.submit()
|
||||||
|
|
||||||
|
result = execute(
|
||||||
|
frappe._dict(
|
||||||
|
company="_Test Company",
|
||||||
|
party_type="Supplier",
|
||||||
|
from_date=fiscal_year[1],
|
||||||
|
to_date=fiscal_year[2],
|
||||||
|
)
|
||||||
|
)[1]
|
||||||
|
|
||||||
|
expected_values = [
|
||||||
|
[inv_1.name, "TDS - 3", 10.0, 5000, 500, 4500],
|
||||||
|
[inv_2.name, "TDS - 3", 20.0, 5000, 1000, 4000],
|
||||||
|
]
|
||||||
|
self.check_expected_values(result, expected_values)
|
||||||
|
|
||||||
def check_expected_values(self, result, expected_values):
|
def check_expected_values(self, result, expected_values):
|
||||||
for i in range(len(result)):
|
for i in range(len(result)):
|
||||||
voucher = frappe._dict(result[i])
|
voucher = frappe._dict(result[i])
|
||||||
|
|||||||
Reference in New Issue
Block a user