mirror of
https://github.com/frappe/erpnext.git
synced 2026-04-11 02:45:08 +00:00
refactor(test): tax rule; removed setUpClass, tearDownClass
This commit is contained in:
@@ -18,9 +18,7 @@ from erpnext.tests.utils import ERPNextTestSuite, if_lending_app_installed, if_l
|
||||
|
||||
|
||||
class TestBankClearance(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
def setUp(self):
|
||||
create_warehouse(
|
||||
warehouse_name="_Test Warehouse",
|
||||
properties={"parent_warehouse": "All Warehouses - _TC"},
|
||||
@@ -29,7 +27,6 @@ class TestBankClearance(ERPNextTestSuite):
|
||||
create_item("_Test Item")
|
||||
create_cost_center(cost_center_name="_Test Cost Center", company="_Test Company")
|
||||
|
||||
def setUp(self):
|
||||
make_bank_account()
|
||||
add_transactions()
|
||||
|
||||
|
||||
@@ -9,11 +9,9 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
class FinancialReportTemplateTestCase(ERPNextTestSuite):
|
||||
"""Utility class with common setup and helper methods for all test classes"""
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
def setUp(self):
|
||||
"""Set up test data"""
|
||||
super().setUpClass()
|
||||
cls.create_test_template()
|
||||
self.create_test_template()
|
||||
|
||||
@classmethod
|
||||
def create_test_template(cls):
|
||||
|
||||
@@ -14,9 +14,7 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestOpeningInvoiceCreationTool(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
def setUp(self):
|
||||
if not frappe.db.exists("Company", "_Test Opening Invoice Company"):
|
||||
make_company()
|
||||
create_dimension()
|
||||
|
||||
@@ -25,14 +25,10 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class POSInvoiceTestMixin(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.load_test_records("Stock Entry")
|
||||
|
||||
def setUp(self):
|
||||
from erpnext.accounts.doctype.pos_closing_entry.test_pos_closing_entry import init_user_and_profile
|
||||
|
||||
self.load_test_records("Stock Entry")
|
||||
self.test_user, self.pos_profile = init_user_and_profile()
|
||||
|
||||
if frappe.session.user != "Administrator":
|
||||
|
||||
@@ -15,23 +15,12 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestProcessStatementOfAccounts(AccountsTestMixin, ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
def setUp(self):
|
||||
frappe.db.set_single_value("Selling Settings", "validate_selling_price", 0)
|
||||
letterhead = frappe.get_doc("Letter Head", "Company Letterhead - Grey")
|
||||
letterhead.is_default = 0
|
||||
letterhead.save()
|
||||
cls.enterClassContext(cls.change_settings("Selling Settings", validate_selling_price=0))
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
super().tearDownClass()
|
||||
letterhead = frappe.get_doc("Letter Head", "Company Letterhead - Grey")
|
||||
letterhead.is_default = 1
|
||||
letterhead.save()
|
||||
frappe.db.commit() # nosemgrep
|
||||
|
||||
def setUp(self):
|
||||
self.create_company()
|
||||
self.create_customer()
|
||||
self.create_customer(customer_name="Other Customer")
|
||||
|
||||
@@ -17,15 +17,11 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestRepostAccountingLedger(AccountsTestMixin, ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.enterClassContext(cls.change_settings("Selling Settings", validate_selling_price=0))
|
||||
|
||||
def setUp(self):
|
||||
self.create_company()
|
||||
self.create_customer()
|
||||
self.create_item()
|
||||
frappe.db.set_single_value("Selling Settings", "validate_selling_price", 0)
|
||||
update_repost_settings()
|
||||
|
||||
def test_01_basic_functions(self):
|
||||
|
||||
@@ -52,6 +52,13 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
class TestSalesInvoice(ERPNextTestSuite):
|
||||
def setUp(self):
|
||||
self.make_employees()
|
||||
self.make_sales_person()
|
||||
self.load_test_records("Journal Entry")
|
||||
self.load_test_records("Stock Entry")
|
||||
self.load_test_records("Sales Invoice")
|
||||
unlink_payment_on_cancel_of_invoice()
|
||||
|
||||
from erpnext.stock.doctype.stock_ledger_entry.test_stock_ledger_entry import create_items
|
||||
|
||||
create_items(["_Test Internal Transfer Item"], uoms=[{"uom": "Box", "conversion_factor": 10}])
|
||||
@@ -93,21 +100,6 @@ class TestSalesInvoice(ERPNextTestSuite):
|
||||
w.submit()
|
||||
return w
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.enterClassContext(cls.change_settings("Selling Settings", validate_selling_price=0))
|
||||
cls.make_employees()
|
||||
cls.make_sales_person()
|
||||
cls.load_test_records("Journal Entry")
|
||||
cls.load_test_records("Stock Entry")
|
||||
cls.load_test_records("Sales Invoice")
|
||||
unlink_payment_on_cancel_of_invoice()
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(self):
|
||||
unlink_payment_on_cancel_of_invoice(0)
|
||||
|
||||
def test_sales_invoice_qty(self):
|
||||
si = create_sales_invoice(qty=0, do_not_save=True)
|
||||
with self.assertRaises(InvalidQtyError):
|
||||
|
||||
@@ -11,17 +11,8 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestTaxRule(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
frappe.db.set_single_value("Shopping Cart Settings", "enabled", 0)
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
frappe.db.sql("delete from `tabTax Rule`")
|
||||
|
||||
def setUp(self):
|
||||
frappe.db.sql("delete from `tabTax Rule`")
|
||||
frappe.db.set_single_value("Shopping Cart Settings", "enabled", 0)
|
||||
|
||||
def test_conflict(self):
|
||||
tax_rule1 = make_tax_rule(
|
||||
|
||||
@@ -14,9 +14,7 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestTaxWithholdingCategory(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
def setUp(self):
|
||||
# create relevant supplier, etc
|
||||
create_records()
|
||||
create_tax_withholding_category_records()
|
||||
|
||||
@@ -818,18 +818,9 @@ class TestAsset(AssetSetup):
|
||||
|
||||
|
||||
class TestDepreciationMethods(AssetSetup):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
|
||||
cls._old_float_precision = frappe.db.get_single_value("System Settings", "float_precision")
|
||||
def setUp(self):
|
||||
frappe.db.set_single_value("System Settings", "float_precision", 2)
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
frappe.db.set_single_value("System Settings", "float_precision", cls._old_float_precision)
|
||||
super().tearDownClass()
|
||||
|
||||
def test_schedule_for_straight_line_method(self):
|
||||
asset = create_asset(
|
||||
calculate_depreciation=1,
|
||||
|
||||
@@ -12,9 +12,7 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestAssetShiftAllocation(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
def setUp(self):
|
||||
create_asset_shift_factors()
|
||||
|
||||
def test_asset_shift_allocation(self):
|
||||
|
||||
@@ -14,10 +14,8 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestPurchaseOrder(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.load_test_records("Supplier Quotation")
|
||||
def setUp(self):
|
||||
self.load_test_records("Supplier Quotation")
|
||||
|
||||
def test_update_child_supplier_quotation_add_item(self):
|
||||
sq = frappe.copy_doc(self.globalTestRecords["Supplier Quotation"][0])
|
||||
|
||||
@@ -28,12 +28,8 @@ def create_test_appointment():
|
||||
|
||||
|
||||
class TestAppointment(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
frappe.db.delete("Lead", {"email_id": LEAD_EMAIL})
|
||||
|
||||
def setUp(self):
|
||||
frappe.db.delete("Lead", {"email_id": LEAD_EMAIL})
|
||||
self.test_appointment = create_test_appointment()
|
||||
self.test_appointment.set_verified(self.test_appointment.customer_email)
|
||||
|
||||
|
||||
@@ -14,13 +14,11 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestOpportunity(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
def setUp(self):
|
||||
# Only first lead is required
|
||||
# TODO: dynamically generate limited test records
|
||||
cls.make_leads()
|
||||
cls.make_opportunities()
|
||||
self.make_leads()
|
||||
self.make_opportunities()
|
||||
|
||||
@classmethod
|
||||
def make_opportunities(cls):
|
||||
|
||||
@@ -8,9 +8,7 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestOpportunitySummaryBySalesStage(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
def setUp(self):
|
||||
create_opportunity()
|
||||
|
||||
def test_opportunity_summary_by_sales_stage(self):
|
||||
|
||||
@@ -24,10 +24,8 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestBOM(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.load_test_records("BOM")
|
||||
def setUp(self):
|
||||
self.load_test_records("BOM")
|
||||
|
||||
@timeout
|
||||
def test_get_items(self):
|
||||
|
||||
@@ -17,12 +17,8 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
class TestBOMUpdateLog(ERPNextTestSuite):
|
||||
"Test BOM Update Tool Operations via BOM Update Log."
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.load_test_records("BOM")
|
||||
|
||||
def setUp(self):
|
||||
self.load_test_records("BOM")
|
||||
bom_doc = frappe.copy_doc(self.globalTestRecords["BOM"][0])
|
||||
bom_doc.items[1].item_code = "_Test Item"
|
||||
bom_doc.insert()
|
||||
|
||||
@@ -16,10 +16,8 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
class TestBOMUpdateTool(ERPNextTestSuite):
|
||||
"Test major functions run via BOM Update Tool."
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.load_test_records("BOM")
|
||||
def setUp(self):
|
||||
self.load_test_records("BOM")
|
||||
|
||||
@timeout
|
||||
def test_replace_bom(self):
|
||||
|
||||
@@ -27,12 +27,8 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestJobCard(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.load_test_records("BOM")
|
||||
|
||||
def setUp(self):
|
||||
self.load_test_records("BOM")
|
||||
self.make_employees() # used in job card time log
|
||||
self.make_bom_for_jc_tests()
|
||||
self.transfer_material_against: Literal["Work Order", "Job Card"] = "Work Order"
|
||||
|
||||
@@ -9,14 +9,8 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestRouting(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.item_code = "Test Routing Item - A"
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
frappe.db.sql("delete from tabBOM where item=%s", cls.item_code)
|
||||
def setUp(self):
|
||||
self.item_code = "Test Routing Item - A"
|
||||
|
||||
def test_sequence_id(self):
|
||||
operations = [
|
||||
|
||||
@@ -10,12 +10,10 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestActivityCost(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
def setUp(self):
|
||||
# TODO: only 1 employee is required
|
||||
cls.make_employees()
|
||||
cls.make_activity_type()
|
||||
self.make_employees()
|
||||
self.make_activity_type()
|
||||
|
||||
def test_duplication(self):
|
||||
frappe.db.sql("delete from `tabActivity Cost`")
|
||||
|
||||
@@ -13,10 +13,8 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestQuotation(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.load_test_records("Quotation")
|
||||
def setUp(self):
|
||||
self.load_test_records("Quotation")
|
||||
|
||||
def test_update_child_quotation_add_item(self):
|
||||
from erpnext.stock.doctype.item.test_item import make_item
|
||||
|
||||
@@ -36,21 +36,6 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestSalesOrder(AccountsTestMixin, ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.unlink_setting = int(
|
||||
frappe.db.get_single_value("Accounts Settings", "unlink_advance_payment_on_cancelation_of_order")
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls) -> None:
|
||||
# reset config to previous state
|
||||
frappe.db.set_single_value(
|
||||
"Accounts Settings", "unlink_advance_payment_on_cancelation_of_order", cls.unlink_setting
|
||||
)
|
||||
super().tearDownClass()
|
||||
|
||||
def setUp(self):
|
||||
self.create_customer("_Test Customer Credit")
|
||||
|
||||
|
||||
@@ -45,10 +45,8 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestDeliveryNote(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.load_test_records("Stock Entry")
|
||||
def setUp(self):
|
||||
self.load_test_records("Stock Entry")
|
||||
|
||||
def test_delivery_note_qty(self):
|
||||
dn = create_delivery_note(qty=0, do_not_save=True)
|
||||
|
||||
@@ -11,10 +11,8 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestItemPrice(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.load_test_records("Item Price")
|
||||
def setUp(self):
|
||||
self.load_test_records("Item Price")
|
||||
|
||||
def test_template_item_price(self):
|
||||
from erpnext.stock.doctype.item.test_item import make_item
|
||||
|
||||
@@ -24,10 +24,8 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestLandedCostVoucher(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.load_test_records("Currency Exchange")
|
||||
def setUp(self):
|
||||
self.load_test_records("Currency Exchange")
|
||||
|
||||
def test_landed_cost_voucher(self):
|
||||
frappe.db.set_single_value("Buying Settings", "allow_multiple_items", 1)
|
||||
|
||||
@@ -24,10 +24,8 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestMaterialRequest(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.load_test_records("Material Request")
|
||||
def setUp(self):
|
||||
self.load_test_records("Material Request")
|
||||
|
||||
def test_material_request_qty(self):
|
||||
mr = frappe.copy_doc(self.globalTestRecords["Material Request"][0])
|
||||
|
||||
@@ -29,13 +29,9 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestPurchaseReceipt(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.load_test_records("Purchase Receipt")
|
||||
|
||||
def setUp(self):
|
||||
frappe.local.future_sle = {}
|
||||
self.load_test_records("Purchase Receipt")
|
||||
|
||||
def test_purchase_receipt_qty(self):
|
||||
pr = make_purchase_receipt(qty=0, rejected_qty=0, do_not_save=True)
|
||||
|
||||
@@ -23,10 +23,8 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestSerialNo(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.load_test_records("Stock Entry")
|
||||
def setUp(self):
|
||||
self.load_test_records("Stock Entry")
|
||||
|
||||
def test_cannot_create_direct(self):
|
||||
frappe.delete_doc_if_exists("Serial No", "_TCSER0001")
|
||||
|
||||
@@ -34,10 +34,6 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestStockReconciliation(ERPNextTestSuite, StockTestMixin):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
|
||||
def setUp(self):
|
||||
frappe.db.set_single_value("Stock Settings", "allow_negative_stock", 1)
|
||||
frappe.local.future_sle = {}
|
||||
|
||||
@@ -311,10 +311,8 @@ class TestLIFOValuationSLE(ERPNextTestSuite):
|
||||
ITEM_CODE = "_Test LIFO item"
|
||||
WAREHOUSE = "_Test Warehouse - _TC"
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls) -> None:
|
||||
super().setUpClass()
|
||||
make_item(cls.ITEM_CODE, {"valuation_method": "LIFO"})
|
||||
def setUp(self) -> None:
|
||||
make_item(self.ITEM_CODE, {"valuation_method": "LIFO"})
|
||||
|
||||
def _make_stock_entry(self, qty, rate=None):
|
||||
kwargs = {
|
||||
|
||||
@@ -15,19 +15,16 @@ months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct",
|
||||
|
||||
|
||||
class TestIssueAnalytics(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
frappe.db.sql("delete from `tabIssue` where company='_Test Company'")
|
||||
def setUp(self):
|
||||
frappe.db.set_single_value("Support Settings", "track_service_level_agreement", 1)
|
||||
|
||||
current_month_date = getdate()
|
||||
last_month_date = add_months(current_month_date, -1)
|
||||
cls.current_month = str(months[current_month_date.month - 1]).lower()
|
||||
cls.last_month = str(months[last_month_date.month - 1]).lower()
|
||||
self.current_month = str(months[current_month_date.month - 1]).lower()
|
||||
self.last_month = str(months[last_month_date.month - 1]).lower()
|
||||
if current_month_date.year != last_month_date.year:
|
||||
cls.current_month += "_" + str(current_month_date.year)
|
||||
cls.last_month += "_" + str(last_month_date.year)
|
||||
self.current_month += "_" + str(current_month_date.year)
|
||||
self.last_month += "_" + str(last_month_date.year)
|
||||
|
||||
def test_issue_analytics(self):
|
||||
create_service_level_agreements_for_issues()
|
||||
|
||||
Reference in New Issue
Block a user