diff --git a/erpnext/stock/doctype/inventory_dimension/test_inventory_dimension.py b/erpnext/stock/doctype/inventory_dimension/test_inventory_dimension.py index edf640e2393..17f5b245e09 100644 --- a/erpnext/stock/doctype/inventory_dimension/test_inventory_dimension.py +++ b/erpnext/stock/doctype/inventory_dimension/test_inventory_dimension.py @@ -23,7 +23,6 @@ from erpnext.tests.utils import ERPNextTestSuite class TestInventoryDimension(ERPNextTestSuite): def setUp(self): prepare_test_data() - create_store_dimension() def test_validate_inventory_dimension(self): # Can not be child doc @@ -556,144 +555,27 @@ def get_voucher_sl_entries(voucher_no, fields): ) -def create_store_dimension(): - if not frappe.db.exists("DocType", "Store"): - frappe.get_doc( - { - "doctype": "DocType", - "name": "Store", - "module": "Stock", - "custom": 1, - "naming_rule": "By fieldname", - "autoname": "field:store_name", - "fields": [{"label": "Store Name", "fieldname": "store_name", "fieldtype": "Data"}], - "permissions": [ - { - "role": "System Manager", - "permlevel": 0, - "read": 1, - "write": 1, - "create": 1, - "delete": 1, - } - ], - } - ).insert(ignore_permissions=True) - - for store in ["Store 1", "Store 2"]: - if not frappe.db.exists("Store", store): - frappe.get_doc({"doctype": "Store", "store_name": store}).insert(ignore_permissions=True) - - def prepare_test_data(): - if not frappe.db.exists("DocType", "Shelf"): - frappe.get_doc( - { - "doctype": "DocType", - "name": "Shelf", - "module": "Stock", - "custom": 1, - "naming_rule": "By fieldname", - "autoname": "field:shelf_name", - "fields": [{"label": "Shelf Name", "fieldname": "shelf_name", "fieldtype": "Data"}], - "permissions": [ - { - "role": "System Manager", - "permlevel": 0, - "read": 1, - "write": 1, - "create": 1, - "delete": 1, - } - ], - } - ).insert(ignore_permissions=True) - for shelf in ["Shelf 1", "Shelf 2"]: if not frappe.db.exists("Shelf", shelf): frappe.get_doc({"doctype": "Shelf", "shelf_name": shelf}).insert(ignore_permissions=True) create_warehouse("Shelf Warehouse") - if not frappe.db.exists("DocType", "Rack"): - frappe.get_doc( - { - "doctype": "DocType", - "name": "Rack", - "module": "Stock", - "custom": 1, - "naming_rule": "By fieldname", - "autoname": "field:rack_name", - "fields": [{"label": "Rack Name", "fieldname": "rack_name", "fieldtype": "Data"}], - "permissions": [ - { - "role": "System Manager", - "permlevel": 0, - "read": 1, - "write": 1, - "create": 1, - "delete": 1, - } - ], - } - ).insert(ignore_permissions=True) - for rack in ["Rack 1", "Rack 2"]: if not frappe.db.exists("Rack", rack): frappe.get_doc({"doctype": "Rack", "rack_name": rack}).insert(ignore_permissions=True) create_warehouse("Rack Warehouse") - if not frappe.db.exists("DocType", "Pallet"): - frappe.get_doc( - { - "doctype": "DocType", - "name": "Pallet", - "module": "Stock", - "custom": 1, - "naming_rule": "By fieldname", - "autoname": "field:pallet_name", - "fields": [{"label": "Pallet Name", "fieldname": "pallet_name", "fieldtype": "Data"}], - "permissions": [ - { - "role": "System Manager", - "permlevel": 0, - "read": 1, - "write": 1, - "create": 1, - "delete": 1, - } - ], - } - ).insert(ignore_permissions=True) - - if not frappe.db.exists("DocType", "Inv Site"): - frappe.get_doc( - { - "doctype": "DocType", - "name": "Inv Site", - "module": "Stock", - "custom": 1, - "naming_rule": "By fieldname", - "autoname": "field:site_name", - "fields": [{"label": "Site Name", "fieldname": "site_name", "fieldtype": "Data"}], - "permissions": [ - { - "role": "System Manager", - "permlevel": 0, - "read": 1, - "write": 1, - "create": 1, - "delete": 1, - } - ], - } - ).insert(ignore_permissions=True) - for site in ["Site 1", "Site 2"]: if not frappe.db.exists("Inv Site", site): frappe.get_doc({"doctype": "Inv Site", "site_name": site}).insert(ignore_permissions=True) + for store in ["Store 1", "Store 2"]: + if not frappe.db.exists("Store", store): + frappe.get_doc({"doctype": "Store", "store_name": store}).insert(ignore_permissions=True) + def create_inventory_dimension(**args): args = frappe._dict(args) diff --git a/erpnext/stock/report/stock_balance/test_stock_balance.py b/erpnext/stock/report/stock_balance/test_stock_balance.py index 1ab36a5c011..0759a5a1ad1 100644 --- a/erpnext/stock/report/stock_balance/test_stock_balance.py +++ b/erpnext/stock/report/stock_balance/test_stock_balance.py @@ -106,6 +106,7 @@ class TestStockBalance(ERPNextTestSuite): ) self.assertInvariants(rows) + @ERPNextTestSuite.change_settings("System Settings", {"float_precision": 3, "currency_precision": 3}) def test_opening_balance(self): self.generate_stock_ledger( self.item.name, diff --git a/erpnext/tests/utils.py b/erpnext/tests/utils.py index 542ecdc7588..afd78dfa9de 100644 --- a/erpnext/tests/utils.py +++ b/erpnext/tests/utils.py @@ -263,6 +263,10 @@ class ERPNextTestSuite(unittest.TestCase): frappe.db.commit() + # custom doctype + # DDL commands have implicit commit + cls.make_custom_doctype() + @classmethod def update_system_settings(cls): system_settings = frappe.get_doc("System Settings") @@ -3164,6 +3168,123 @@ class ERPNextTestSuite(unittest.TestCase): frappe.get_doc("Finance Book", {"finance_book_name": x.get("finance_book_name")}) ) + @classmethod + def make_custom_doctype(cls): + if not frappe.db.exists("DocType", "Shelf"): + frappe.get_doc( + { + "doctype": "DocType", + "name": "Shelf", + "module": "Stock", + "custom": 1, + "naming_rule": "By fieldname", + "autoname": "field:shelf_name", + "fields": [{"label": "Shelf Name", "fieldname": "shelf_name", "fieldtype": "Data"}], + "permissions": [ + { + "role": "System Manager", + "permlevel": 0, + "read": 1, + "write": 1, + "create": 1, + "delete": 1, + } + ], + } + ).insert(ignore_permissions=True) + + if not frappe.db.exists("DocType", "Rack"): + frappe.get_doc( + { + "doctype": "DocType", + "name": "Rack", + "module": "Stock", + "custom": 1, + "naming_rule": "By fieldname", + "autoname": "field:rack_name", + "fields": [{"label": "Rack Name", "fieldname": "rack_name", "fieldtype": "Data"}], + "permissions": [ + { + "role": "System Manager", + "permlevel": 0, + "read": 1, + "write": 1, + "create": 1, + "delete": 1, + } + ], + } + ).insert(ignore_permissions=True) + + if not frappe.db.exists("DocType", "Pallet"): + frappe.get_doc( + { + "doctype": "DocType", + "name": "Pallet", + "module": "Stock", + "custom": 1, + "naming_rule": "By fieldname", + "autoname": "field:pallet_name", + "fields": [{"label": "Pallet Name", "fieldname": "pallet_name", "fieldtype": "Data"}], + "permissions": [ + { + "role": "System Manager", + "permlevel": 0, + "read": 1, + "write": 1, + "create": 1, + "delete": 1, + } + ], + } + ).insert(ignore_permissions=True) + + if not frappe.db.exists("DocType", "Inv Site"): + frappe.get_doc( + { + "doctype": "DocType", + "name": "Inv Site", + "module": "Stock", + "custom": 1, + "naming_rule": "By fieldname", + "autoname": "field:site_name", + "fields": [{"label": "Site Name", "fieldname": "site_name", "fieldtype": "Data"}], + "permissions": [ + { + "role": "System Manager", + "permlevel": 0, + "read": 1, + "write": 1, + "create": 1, + "delete": 1, + } + ], + } + ).insert(ignore_permissions=True) + + if not frappe.db.exists("DocType", "Store"): + frappe.get_doc( + { + "doctype": "DocType", + "name": "Store", + "module": "Stock", + "custom": 1, + "naming_rule": "By fieldname", + "autoname": "field:store_name", + "fields": [{"label": "Store Name", "fieldname": "store_name", "fieldtype": "Data"}], + "permissions": [ + { + "role": "System Manager", + "permlevel": 0, + "read": 1, + "write": 1, + "create": 1, + "delete": 1, + } + ], + } + ).insert(ignore_permissions=True) + @contextmanager def set_user(self, user: str): try: