refactor: replace IntegrationTestCase with ERPNextTestCase repo-wide

- import ERPNextTestSuite
 - use it on test class
This commit is contained in:
ruthra kumar
2026-01-20 10:12:06 +05:30
parent 0fdc961a4b
commit f1dfac417d
319 changed files with 870 additions and 867 deletions

View File

@@ -3,8 +3,8 @@
# import frappe
import unittest
from frappe.tests import IntegrationTestCase
from erpnext.tests.utils import ERPNextTestSuite
class TestBuyingSettings(IntegrationTestCase):
class TestBuyingSettings(ERPNextTestSuite):
pass

View File

@@ -5,7 +5,7 @@
import json
import frappe
from frappe.tests import IntegrationTestCase, change_settings
from frappe.tests import change_settings
from frappe.utils import add_days, flt, getdate, nowdate
from frappe.utils.data import today
@@ -26,9 +26,10 @@ from erpnext.stock.doctype.material_request.test_material_request import make_ma
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import (
make_purchase_invoice as make_pi_from_pr,
)
from erpnext.tests.utils import ERPNextTestSuite
class TestPurchaseOrder(IntegrationTestCase):
class TestPurchaseOrder(ERPNextTestSuite):
def test_purchase_order_qty(self):
po = create_purchase_order(qty=1, do_not_save=True)
@@ -540,7 +541,7 @@ class TestPurchaseOrder(IntegrationTestCase):
self.assertRaises(frappe.ValidationError, pr.submit)
self.assertRaises(frappe.ValidationError, pi.submit)
@IntegrationTestCase.change_settings("Accounts Settings", {"automatically_fetch_payment_terms": 1})
@ERPNextTestSuite.change_settings("Accounts Settings", {"automatically_fetch_payment_terms": 1})
def test_make_purchase_invoice_with_terms(self):
po = create_purchase_order(do_not_save=True)
@@ -712,7 +713,7 @@ class TestPurchaseOrder(IntegrationTestCase):
)
self.assertEqual(due_date, "2023-03-31")
@IntegrationTestCase.change_settings("Accounts Settings", {"automatically_fetch_payment_terms": 0})
@ERPNextTestSuite.change_settings("Accounts Settings", {"automatically_fetch_payment_terms": 0})
def test_terms_are_not_copied_if_automatically_fetch_payment_terms_is_unchecked(self):
po = create_purchase_order(do_not_save=1)
po.payment_terms_template = "_Test Payment Term Template"
@@ -737,7 +738,7 @@ class TestPurchaseOrder(IntegrationTestCase):
pi.insert()
self.assertTrue(pi.get("payment_schedule"))
@IntegrationTestCase.change_settings(
@ERPNextTestSuite.change_settings(
"Accounts Settings", {"unlink_advance_payment_on_cancelation_of_order": 1}
)
def test_advance_payment_entry_unlink_against_purchase_order(self):
@@ -810,7 +811,7 @@ class TestPurchaseOrder(IntegrationTestCase):
company_doc.book_advance_payments_in_separate_party_account = False
company_doc.save()
@IntegrationTestCase.change_settings(
@ERPNextTestSuite.change_settings(
"Accounts Settings", {"unlink_advance_payment_on_cancelation_of_order": 1}
)
def test_advance_paid_upon_payment_entry_cancellation(self):
@@ -906,7 +907,7 @@ class TestPurchaseOrder(IntegrationTestCase):
bo.load_from_db()
self.assertEqual(bo.items[0].ordered_qty, 5)
@IntegrationTestCase.change_settings("Accounts Settings", {"automatically_fetch_payment_terms": 1})
@ERPNextTestSuite.change_settings("Accounts Settings", {"automatically_fetch_payment_terms": 1})
def test_payment_terms_are_fetched_when_creating_purchase_invoice(self):
from erpnext.accounts.doctype.payment_entry.test_payment_entry import (
create_payment_terms_template,
@@ -1145,7 +1146,7 @@ class TestPurchaseOrder(IntegrationTestCase):
# Test - 8: Since this PO is now fully subcontracted, creating a new SCO from it should throw error
self.assertRaises(frappe.ValidationError, make_subcontracting_order, po.name)
@IntegrationTestCase.change_settings("Buying Settings", {"auto_create_subcontracting_order": 1})
@ERPNextTestSuite.change_settings("Buying Settings", {"auto_create_subcontracting_order": 1})
def test_auto_create_subcontracting_order(self):
from erpnext.controllers.tests.test_subcontracting_controller import (
make_bom_for_subcontracted_items,
@@ -1237,7 +1238,7 @@ class TestPurchaseOrder(IntegrationTestCase):
po.reload()
self.assertEqual(po.per_billed, 100)
@IntegrationTestCase.change_settings("Buying Settings", {"allow_zero_qty_in_purchase_order": 1})
@ERPNextTestSuite.change_settings("Buying Settings", {"allow_zero_qty_in_purchase_order": 1})
def test_receive_zero_qty_purchase_order(self):
"""
Test the flow of a Unit Price PO and PR creation against it until completion.
@@ -1286,7 +1287,7 @@ class TestPurchaseOrder(IntegrationTestCase):
self.assertEqual(po.per_received, 100.0)
self.assertEqual(po.status, "To Bill")
@IntegrationTestCase.change_settings("Buying Settings", {"allow_zero_qty_in_purchase_order": 1})
@ERPNextTestSuite.change_settings("Buying Settings", {"allow_zero_qty_in_purchase_order": 1})
def test_bill_zero_qty_purchase_order(self):
po = create_purchase_order(qty=0)
@@ -1311,7 +1312,7 @@ class TestPurchaseOrder(IntegrationTestCase):
self.assertFalse(po.per_billed)
self.assertEqual(po.status, "To Receive and Bill")
@IntegrationTestCase.change_settings("Buying Settings", {"maintain_same_rate": 0})
@ERPNextTestSuite.change_settings("Buying Settings", {"maintain_same_rate": 0})
def test_purchase_invoice_creation_with_partial_qty(self):
po = create_purchase_order(qty=100, rate=10)

View File

@@ -5,7 +5,7 @@
from urllib.parse import urlparse
import frappe
from frappe.tests import IntegrationTestCase, change_settings
from frappe.tests import change_settings
from frappe.utils import nowdate
from erpnext.buying.doctype.request_for_quotation.request_for_quotation import (
@@ -19,9 +19,10 @@ from erpnext.crm.doctype.opportunity.opportunity import make_request_for_quotati
from erpnext.crm.doctype.opportunity.test_opportunity import make_opportunity
from erpnext.stock.doctype.item.test_item import make_item
from erpnext.templates.pages.rfq import check_supplier_has_docname_access
from erpnext.tests.utils import ERPNextTestSuite
class TestRequestforQuotation(IntegrationTestCase):
class TestRequestforQuotation(ERPNextTestSuite):
def test_rfq_qty(self):
rfq = make_request_for_quotation(qty=0, do_not_save=True)
with self.assertRaises(InvalidQtyError):
@@ -222,7 +223,7 @@ class TestRequestforQuotation(IntegrationTestCase):
supplier_doc.reload()
self.assertTrue(supplier_doc.portal_users[0].user)
@IntegrationTestCase.change_settings("Buying Settings", {"allow_zero_qty_in_request_for_quotation": 1})
@ERPNextTestSuite.change_settings("Buying Settings", {"allow_zero_qty_in_request_for_quotation": 1})
def test_supplier_quotation_from_zero_qty_rfq(self):
rfq = make_request_for_quotation(qty=0)
sq = make_supplier_quotation_from_rfq(rfq.name, for_supplier=rfq.get("suppliers")[0].supplier)
@@ -231,7 +232,7 @@ class TestRequestforQuotation(IntegrationTestCase):
self.assertEqual(sq.items[0].qty, 0)
self.assertEqual(sq.items[0].item_code, rfq.items[0].item_code)
@IntegrationTestCase.change_settings(
@ERPNextTestSuite.change_settings(
"Buying Settings",
{
"allow_zero_qty_in_request_for_quotation": 1,

View File

@@ -3,15 +3,15 @@
import frappe
from frappe.tests import IntegrationTestCase, UnitTestCase
from frappe.tests import UnitTestCase
from erpnext.accounts.party import get_due_date
from erpnext.controllers.website_list_for_contact import get_customers_suppliers
from erpnext.exceptions import PartyDisabled
from erpnext.tests.utils import ERPNextTestSuite
class TestSupplier(IntegrationTestCase):
class TestSupplier(ERPNextTestSuite):
def test_get_supplier_group_details(self):
doc = frappe.new_doc("Supplier Group")
doc.supplier_group_name = "_Testing Supplier Group"
@@ -172,7 +172,10 @@ def create_supplier(**args):
return doc
class TestSupplierPortal(IntegrationTestCase):
from erpnext.tests.utils import ERPNextTestSuite
class TestSupplierPortal(ERPNextTestSuite):
def test_portal_user_can_access_supplier_data(self):
supplier = create_supplier()

View File

@@ -5,14 +5,15 @@
import json
import frappe
from frappe.tests import IntegrationTestCase, change_settings
from frappe.tests import change_settings
from frappe.utils import add_days, today
from erpnext.buying.doctype.supplier_quotation.supplier_quotation import make_purchase_order
from erpnext.controllers.accounts_controller import InvalidQtyError, update_child_qty_rate
from erpnext.tests.utils import ERPNextTestSuite
class TestPurchaseOrder(IntegrationTestCase):
class TestPurchaseOrder(ERPNextTestSuite):
def test_update_child_supplier_quotation_add_item(self):
sq = frappe.copy_doc(self.globalTestRecords["Supplier Quotation"][0])
sq.submit()
@@ -166,7 +167,7 @@ class TestPurchaseOrder(IntegrationTestCase):
po.insert()
@IntegrationTestCase.change_settings("Buying Settings", {"allow_zero_qty_in_supplier_quotation": 1})
@ERPNextTestSuite.change_settings("Buying Settings", {"allow_zero_qty_in_supplier_quotation": 1})
def test_map_purchase_order_from_zero_qty_supplier_quotation(self):
sq = frappe.copy_doc(self.globalTestRecords["Supplier Quotation"][0])
sq.items[0].qty = 0

View File

@@ -3,10 +3,11 @@
import frappe
from frappe.tests import IntegrationTestCase
from erpnext.tests.utils import ERPNextTestSuite
class TestSupplierScorecard(IntegrationTestCase):
class TestSupplierScorecard(ERPNextTestSuite):
def test_create_scorecard(self):
doc = make_supplier_scorecard().insert()
self.assertEqual(doc.name, valid_scorecard[0].get("supplier"))

View File

@@ -3,10 +3,11 @@
import frappe
from frappe.tests import IntegrationTestCase
from erpnext.tests.utils import ERPNextTestSuite
class TestSupplierScorecardCriteria(IntegrationTestCase):
class TestSupplierScorecardCriteria(ERPNextTestSuite):
def test_variables_exist(self):
delete_test_scorecards()
for d in test_good_criteria:

View File

@@ -2,8 +2,8 @@
# See license.txt
import unittest
from frappe.tests import IntegrationTestCase
from erpnext.tests.utils import ERPNextTestSuite
class TestSupplierScorecardPeriod(IntegrationTestCase):
class TestSupplierScorecardPeriod(ERPNextTestSuite):
pass

View File

@@ -2,8 +2,8 @@
# See license.txt
import unittest
from frappe.tests import IntegrationTestCase
from erpnext.tests.utils import ERPNextTestSuite
class TestSupplierScorecardStanding(IntegrationTestCase):
class TestSupplierScorecardStanding(ERPNextTestSuite):
pass

View File

@@ -3,14 +3,14 @@
import frappe
from frappe.tests import IntegrationTestCase
from erpnext.buying.doctype.supplier_scorecard_variable.supplier_scorecard_variable import (
VariablePathNotFound,
)
from erpnext.tests.utils import ERPNextTestSuite
class TestSupplierScorecardVariable(IntegrationTestCase):
class TestSupplierScorecardVariable(ERPNextTestSuite):
def test_variable_exist(self):
for d in test_existing_variables:
my_doc = frappe.get_doc("Supplier Scorecard Variable", d.get("name"))

View File

@@ -2,8 +2,8 @@
# For license information, please see license.txt
from frappe.tests import IntegrationTestCase
from erpnext.tests.utils import ERPNextTestSuite
class TestProcurementTracker(IntegrationTestCase):
class TestProcurementTracker(ERPNextTestSuite):
pass

View File

@@ -2,7 +2,6 @@
# See license.txt
import frappe
from frappe.tests import IntegrationTestCase
from frappe.utils import add_days, today
from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt
@@ -11,9 +10,10 @@ from erpnext.buying.report.requested_items_to_order_and_receive.requested_items_
)
from erpnext.stock.doctype.item.test_item import create_item
from erpnext.stock.doctype.material_request.material_request import make_purchase_order
from erpnext.tests.utils import ERPNextTestSuite
class TestRequestedItemsToOrderAndReceive(IntegrationTestCase):
class TestRequestedItemsToOrderAndReceive(ERPNextTestSuite):
def setUp(self) -> None:
create_item("Test MR Report Item")
self.setup_material_request() # to order and receive

View File

@@ -7,7 +7,6 @@
import copy
import frappe
from frappe.tests import IntegrationTestCase
from erpnext.buying.report.subcontracted_item_to_be_received.subcontracted_item_to_be_received import (
execute,
@@ -22,9 +21,10 @@ from erpnext.controllers.tests.test_subcontracting_controller import (
from erpnext.subcontracting.doctype.subcontracting_order.subcontracting_order import (
make_subcontracting_receipt,
)
from erpnext.tests.utils import ERPNextTestSuite
class TestSubcontractedItemToBeReceived(IntegrationTestCase):
class TestSubcontractedItemToBeReceived(ERPNextTestSuite):
def test_pending_and_received_qty(self):
make_service_item("Subcontracted Service Item 1")
service_items = [

View File

@@ -4,7 +4,6 @@
# Decompiled by https://python-decompiler.com
import frappe
from frappe.tests import IntegrationTestCase
from erpnext.buying.report.subcontracted_raw_materials_to_be_transferred.subcontracted_raw_materials_to_be_transferred import (
execute,
@@ -15,9 +14,10 @@ from erpnext.controllers.tests.test_subcontracting_controller import (
make_service_item,
)
from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry
from erpnext.tests.utils import ERPNextTestSuite
class TestSubcontractedItemToBeTransferred(IntegrationTestCase):
class TestSubcontractedItemToBeTransferred(ERPNextTestSuite):
def test_pending_and_transferred_qty(self):
make_service_item("Subcontracted Service Item 1")
service_items = [