Merge pull request #48038 from ljain112/fix-test
This commit is contained in:
@@ -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):
|
||||
"""
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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():
|
||||
|
||||
Reference in New Issue
Block a user