test: warehouse conversion and treeview test

This commit is contained in:
Ankush Menat 2022-03-19 19:53:10 +05:30 committed by Ankush Menat
parent 953afda01b
commit 684d9d66d1
2 changed files with 33 additions and 5 deletions

View File

@ -4,12 +4,12 @@
import frappe
from frappe.test_runner import make_test_records
from frappe.tests.utils import FrappeTestCase
from frappe.utils import cint
import erpnext
from erpnext.accounts.doctype.account.test_account import create_account, get_inventory_account
from erpnext.accounts.doctype.account.test_account import create_account
from erpnext.stock.doctype.item.test_item import create_item
from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
from erpnext.stock.doctype.warehouse.warehouse import convert_to_group_or_ledger, get_children
test_records = frappe.get_test_records('Warehouse')
@ -65,6 +65,33 @@ class TestWarehouse(FrappeTestCase):
f"{item} linked to {item_default.default_warehouse} in {warehouse_ids}."
)
def test_group_non_group_conversion(self):
warehouse = frappe.get_doc("Warehouse", create_warehouse("TestGroupConversion"))
convert_to_group_or_ledger(warehouse.name)
warehouse.reload()
self.assertEqual(warehouse.is_group, 1)
child = create_warehouse("GroupWHChild", {"parent_warehouse": warehouse.name})
# chid exists
self.assertRaises(frappe.ValidationError, convert_to_group_or_ledger, warehouse.name)
frappe.delete_doc("Warehouse", child)
convert_to_group_or_ledger(warehouse.name)
warehouse.reload()
self.assertEqual(warehouse.is_group, 0)
make_stock_entry(item_code="_Test Item", target=warehouse.name, qty=1)
# SLE exists
self.assertRaises(frappe.ValidationError, convert_to_group_or_ledger, warehouse.name)
def test_get_children(self):
company = "_Test Company"
children = get_children("Warehouse", parent=company, company=company, is_root=True)
self.assertTrue(any(wh['value'] == "_Test Warehouse - _TC" for wh in children))
def create_warehouse(warehouse_name, properties=None, company=None):
if not company:

View File

@ -158,9 +158,10 @@ def add_node():
frappe.get_doc(args).insert()
@frappe.whitelist()
def convert_to_group_or_ledger():
args = frappe.form_dict
return frappe.get_doc("Warehouse", args.docname).convert_to_group_or_ledger()
def convert_to_group_or_ledger(docname=None):
if not docname:
docname = frappe.form_dict.docname
return frappe.get_doc("Warehouse", docname).convert_to_group_or_ledger()
def get_child_warehouses(warehouse):
from frappe.utils.nestedset import get_descendants_of