Merge pull request #48038 from ljain112/fix-test

This commit is contained in:
Sagar Vora
2025-06-24 11:32:22 +00:00
committed by GitHub
8 changed files with 102 additions and 120 deletions

View File

@@ -295,22 +295,21 @@ class TestPurchaseOrder(IntegrationTestCase):
user = "test@example.com"
test_user = frappe.get_doc("User", user)
test_user.add_roles("Accounts User")
frappe.set_user(user)
# update qty
trans_item = json.dumps(
[{"item_code": "_Test Item", "rate": 200, "qty": 7, "docname": po.items[0].name}]
)
self.assertRaises(
frappe.ValidationError, update_child_qty_rate, "Purchase Order", trans_item, po.name
)
with self.set_user(user):
# update qty
trans_item = json.dumps(
[{"item_code": "_Test Item", "rate": 200, "qty": 7, "docname": po.items[0].name}]
)
self.assertRaises(
frappe.ValidationError, update_child_qty_rate, "Purchase Order", trans_item, po.name
)
# add new item
trans_item = json.dumps([{"item_code": "_Test Item", "rate": 100, "qty": 2}])
self.assertRaises(
frappe.ValidationError, update_child_qty_rate, "Purchase Order", trans_item, po.name
)
frappe.set_user("Administrator")
# add new item
trans_item = json.dumps([{"item_code": "_Test Item", "rate": 100, "qty": 2}])
self.assertRaises(
frappe.ValidationError, update_child_qty_rate, "Purchase Order", trans_item, po.name
)
def test_update_child_with_tax_template(self):
"""

View File

@@ -192,7 +192,7 @@ class TestSupplierPortal(IntegrationTestCase):
supplier.append("portal_users", {"user": user})
supplier.save()
frappe.set_user(user)
_, suppliers = get_customers_suppliers("Purchase Order", user)
with self.set_user(user):
_, suppliers = get_customers_suppliers("Purchase Order", user)
self.assertIn(supplier.name, suppliers)
self.assertIn(supplier.name, suppliers)

View File

@@ -105,7 +105,6 @@ class TestQueries(ERPNextTestSuite):
value=1,
property_type="Check",
)
frappe.clear_cache(doctype="Payment Entry")
user = create_user("test_employee_query@example.com", "Accounts User", "HR User")
add_user_permissions(
@@ -136,7 +135,6 @@ class TestQueries(ERPNextTestSuite):
self.assertGreater(len(result), 1)
ps.delete(ignore_permissions=1, force=1, delete_permanently=1)
frappe.clear_cache(doctype="Payment Entry")
# only one employee should be returned even though ignore_user_permissions is passed as 1
result = queries.employee_query(**params)

View File

@@ -547,17 +547,20 @@ class TestSalesOrder(AccountsTestMixin, IntegrationTestCase):
so = make_sales_order(item_code="_Test Item", qty=4)
test_user = create_user("test_so_child_perms@example.com", "Accounts User")
frappe.set_user(test_user.name)
with self.set_user(test_user.name):
# update qty
trans_item = json.dumps(
[{"item_code": "_Test Item", "rate": 200, "qty": 7, "docname": so.items[0].name}]
)
self.assertRaises(
frappe.ValidationError, update_child_qty_rate, "Sales Order", trans_item, so.name
)
# update qty
trans_item = json.dumps(
[{"item_code": "_Test Item", "rate": 200, "qty": 7, "docname": so.items[0].name}]
)
self.assertRaises(frappe.ValidationError, update_child_qty_rate, "Sales Order", trans_item, so.name)
# add new item
trans_item = json.dumps([{"item_code": "_Test Item", "rate": 100, "qty": 2}])
self.assertRaises(frappe.ValidationError, update_child_qty_rate, "Sales Order", trans_item, so.name)
# add new item
trans_item = json.dumps([{"item_code": "_Test Item", "rate": 100, "qty": 2}])
self.assertRaises(
frappe.ValidationError, update_child_qty_rate, "Sales Order", trans_item, so.name
)
def test_update_child_qty_rate_with_workflow(self):
from frappe.model.workflow import apply_workflow
@@ -569,26 +572,25 @@ class TestSalesOrder(AccountsTestMixin, IntegrationTestCase):
user = "test@example.com"
test_user = frappe.get_doc("User", user)
test_user.add_roles("Sales User", "Test Junior Approver")
frappe.set_user(user)
with self.set_user(user):
# user shouldn't be able to edit since grand_total will become > 200 if qty is doubled
trans_item = json.dumps(
[{"item_code": "_Test Item", "rate": 150, "qty": 2, "docname": so.items[0].name}]
)
self.assertRaises(
frappe.ValidationError, update_child_qty_rate, "Sales Order", trans_item, so.name
)
# user shouldn't be able to edit since grand_total will become > 200 if qty is doubled
trans_item = json.dumps(
[{"item_code": "_Test Item", "rate": 150, "qty": 2, "docname": so.items[0].name}]
)
self.assertRaises(frappe.ValidationError, update_child_qty_rate, "Sales Order", trans_item, so.name)
frappe.set_user("Administrator")
user2 = "test2@example.com"
test_user2 = frappe.get_doc("User", user2)
test_user2.add_roles("Sales User", "Test Approver")
frappe.set_user(user2)
# Test Approver is allowed to edit with grand_total > 200
update_child_qty_rate("Sales Order", trans_item, so.name)
so.reload()
self.assertEqual(so.items[0].qty, 2)
with self.set_user(user2):
# Test Approver is allowed to edit with grand_total > 200
update_child_qty_rate("Sales Order", trans_item, so.name)
so.reload()
self.assertEqual(so.items[0].qty, 2)
frappe.set_user("Administrator")
test_user.remove_roles("Sales User", "Test Junior Approver", "Test Approver")
test_user2.remove_roles("Sales User", "Test Junior Approver", "Test Approver")
workflow.is_active = 0
@@ -816,22 +818,20 @@ class TestSalesOrder(AccountsTestMixin, IntegrationTestCase):
frappe.permissions.add_user_permission("Warehouse", "_Test Warehouse 2 - _TC1", test_user_2.name)
frappe.permissions.add_user_permission("Company", "_Test Company 1", test_user_2.name)
frappe.set_user(test_user.name)
with self.set_user(test_user.name):
so = make_sales_order(
company="_Test Company 1",
customer="_Test Customer 1",
warehouse="_Test Warehouse 2 - _TC1",
do_not_save=True,
)
so.conversion_rate = 0.02
so.plc_conversion_rate = 0.02
self.assertRaises(frappe.PermissionError, so.insert)
so = make_sales_order(
company="_Test Company 1",
customer="_Test Customer 1",
warehouse="_Test Warehouse 2 - _TC1",
do_not_save=True,
)
so.conversion_rate = 0.02
so.plc_conversion_rate = 0.02
self.assertRaises(frappe.PermissionError, so.insert)
with self.set_user(test_user_2.name):
so.insert()
frappe.set_user(test_user_2.name)
so.insert()
frappe.set_user("Administrator")
frappe.permissions.remove_user_permission("Warehouse", "_Test Warehouse 1 - _TC", test_user.name)
frappe.permissions.remove_user_permission("Warehouse", "_Test Warehouse 2 - _TC1", test_user_2.name)
frappe.permissions.remove_user_permission("Company", "_Test Company 1", test_user_2.name)

View File

@@ -78,8 +78,6 @@ class TestInventoryDimension(IntegrationTestCase):
self.assertFalse(custom_field)
def test_inventory_dimension(self):
frappe.clear_cache(doctype="Inventory Dimension")
warehouse = "Shelf Warehouse - _TC"
item_code = "_Test Item"
@@ -150,8 +148,6 @@ class TestInventoryDimension(IntegrationTestCase):
self.assertRaises(DoNotChangeError, inv_dim1.save)
def test_inventory_dimension_for_purchase_receipt_and_delivery_note(self):
frappe.clear_cache(doctype="Inventory Dimension")
inv_dimension = create_inventory_dimension(
reference_document="Rack", dimension_name="Rack", apply_to_all_doctypes=1
)
@@ -167,9 +163,6 @@ class TestInventoryDimension(IntegrationTestCase):
"Delivery Note", dict(fieldname="rack", label="Rack", fieldtype="Link", options="Rack")
)
frappe.reload_doc("stock", "doctype", "purchase_receipt_item")
frappe.reload_doc("stock", "doctype", "delivery_note_item")
pr_doc = make_purchase_receipt(qty=2, do_not_submit=True)
pr_doc.rack = "Rack 1"
pr_doc.save()
@@ -439,7 +432,6 @@ class TestInventoryDimension(IntegrationTestCase):
self.assertEqual(d.store, "Inter Transfer Store 2")
def test_validate_negative_stock_for_inventory_dimension(self):
frappe.clear_cache(doctype="Inventory Dimension")
item_code = "Test Negative Inventory Dimension Item"
frappe.db.set_single_value("Stock Settings", "allow_negative_stock", 1)
create_item(item_code)

View File

@@ -752,15 +752,14 @@ class TestStockEntry(IntegrationTestCase):
frappe.get_doc("User", "test2@example.com").add_roles(
"Sales User", "Sales Manager", "Stock User", "Stock Manager"
)
frappe.set_user("test2@example.com")
with self.set_user("test2@example.com"):
from erpnext.stock.utils import InvalidWarehouseCompany
from erpnext.stock.utils import InvalidWarehouseCompany
st1 = frappe.copy_doc(self.globalTestRecords["Stock Entry"][0])
st1.get("items")[0].t_warehouse = "_Test Warehouse 2 - _TC1"
st1.set_stock_entry_type()
st1.insert()
self.assertRaises(InvalidWarehouseCompany, st1.submit)
st1 = frappe.copy_doc(self.globalTestRecords["Stock Entry"][0])
st1.get("items")[0].t_warehouse = "_Test Warehouse 2 - _TC1"
st1.set_stock_entry_type()
st1.insert()
self.assertRaises(InvalidWarehouseCompany, st1.submit)
# permission tests
def test_warehouse_user(self):
@@ -778,24 +777,23 @@ class TestStockEntry(IntegrationTestCase):
st1 = frappe.copy_doc(self.globalTestRecords["Stock Entry"][0])
st1.company = "_Test Company 1"
frappe.set_user("test@example.com")
st1.get("items")[0].t_warehouse = "_Test Warehouse 2 - _TC1"
self.assertRaises(frappe.PermissionError, st1.insert)
with self.set_user("test@example.com"):
st1.get("items")[0].t_warehouse = "_Test Warehouse 2 - _TC1"
self.assertRaises(frappe.PermissionError, st1.insert)
test_user.add_roles("System Manager")
frappe.set_user("test2@example.com")
st1 = frappe.copy_doc(self.globalTestRecords["Stock Entry"][0])
st1.company = "_Test Company 1"
st1.get("items")[0].t_warehouse = "_Test Warehouse 2 - _TC1"
st1.get("items")[0].expense_account = "Stock Adjustment - _TC1"
st1.get("items")[0].cost_center = "Main - _TC1"
st1.set_stock_entry_type()
st1.insert()
st1.submit()
st1.cancel()
with self.set_user("test2@example.com"):
st1 = frappe.copy_doc(self.globalTestRecords["Stock Entry"][0])
st1.company = "_Test Company 1"
st1.get("items")[0].t_warehouse = "_Test Warehouse 2 - _TC1"
st1.get("items")[0].expense_account = "Stock Adjustment - _TC1"
st1.get("items")[0].cost_center = "Main - _TC1"
st1.set_stock_entry_type()
st1.insert()
st1.submit()
st1.cancel()
frappe.set_user("Administrator")
remove_user_permission("Warehouse", "_Test Warehouse 1 - _TC", "test@example.com")
remove_user_permission("Warehouse", "_Test Warehouse 2 - _TC1", "test2@example.com")
remove_user_permission("Company", "_Test Company 1", "test2@example.com")

View File

@@ -423,37 +423,35 @@ class TestStockLedgerEntry(IntegrationTestCase, StockTestMixin):
user.add_roles("Stock User")
user.remove_roles("Stock Manager")
frappe.set_user(user.name)
with self.set_user(user.name):
stock_entry_on_today = make_stock_entry(
target="_Test Warehouse - _TC", qty=10, basic_rate=100
)
back_dated_se_1 = make_stock_entry(
target="_Test Warehouse - _TC",
qty=10,
basic_rate=100,
posting_date=add_days(today(), -1),
do_not_submit=True,
)
stock_entry_on_today = make_stock_entry(target="_Test Warehouse - _TC", qty=10, basic_rate=100)
back_dated_se_1 = make_stock_entry(
target="_Test Warehouse - _TC",
qty=10,
basic_rate=100,
posting_date=add_days(today(), -1),
do_not_submit=True,
)
# Block back-dated entry
self.assertRaises(BackDatedStockTransaction, back_dated_se_1.submit)
# Block back-dated entry
self.assertRaises(BackDatedStockTransaction, back_dated_se_1.submit)
frappe.set_user("Administrator")
user.add_roles("Stock Manager")
frappe.set_user(user.name)
with self.set_user(user.name):
# Back dated entry allowed to Stock Manager
back_dated_se_2 = make_stock_entry(
target="_Test Warehouse - _TC", qty=10, basic_rate=100, posting_date=add_days(today(), -1)
)
# Back dated entry allowed to Stock Manager
back_dated_se_2 = make_stock_entry(
target="_Test Warehouse - _TC", qty=10, basic_rate=100, posting_date=add_days(today(), -1)
)
back_dated_se_2.cancel()
stock_entry_on_today.cancel()
back_dated_se_2.cancel()
stock_entry_on_today.cancel()
finally:
frappe.db.set_single_value(
"Stock Settings", "role_allowed_to_create_edit_back_dated_transactions", None
)
frappe.set_user("Administrator")
user.remove_roles("Stock Manager")
def test_batchwise_item_valuation_fifo(self):

View File

@@ -27,21 +27,18 @@ class TestWebsite(IntegrationTestCase):
create_order_assignment(supplier="Supplier1", po=po1.name)
create_order_assignment(supplier="Supplier2", po=po2.name)
frappe.set_user("Administrator")
# checking if data consist of all order assignment of Supplier1 and Supplier2
self.assertTrue("Supplier1" and "Supplier2" in [data.supplier for data in get_data()])
frappe.set_user("supplier1@gmail.com")
# checking if data only consist of order assignment of Supplier1
self.assertTrue("Supplier1" in [data.supplier for data in get_data()])
self.assertFalse([data.supplier for data in get_data() if data.supplier != "Supplier1"])
with self.set_user("supplier1@gmail.com"):
# checking if data only consist of order assignment of Supplier1
self.assertTrue("Supplier1" in [data.supplier for data in get_data()])
self.assertFalse([data.supplier for data in get_data() if data.supplier != "Supplier1"])
frappe.set_user("supplier2@gmail.com")
# checking if data only consist of order assignment of Supplier2
self.assertTrue("Supplier2" in [data.supplier for data in get_data()])
self.assertFalse([data.supplier for data in get_data() if data.supplier != "Supplier2"])
frappe.set_user("Administrator")
with self.set_user("supplier2@gmail.com"):
# checking if data only consist of order assignment of Supplier2
self.assertTrue("Supplier2" in [data.supplier for data in get_data()])
self.assertFalse([data.supplier for data in get_data() if data.supplier != "Supplier2"])
def get_data():