test: add test case for Quality Procedure`
This commit is contained in:
parent
8fbd4cea5b
commit
30c6b83a10
@ -1,23 +1,21 @@
|
|||||||
# Copyright (c) 2018, Frappe and Contributors
|
# Copyright (c) 2018, Frappe and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests.utils import FrappeTestCase
|
||||||
|
|
||||||
from .quality_procedure import add_node
|
from .quality_procedure import add_node
|
||||||
|
|
||||||
|
|
||||||
class TestQualityProcedure(unittest.TestCase):
|
class TestQualityProcedure(FrappeTestCase):
|
||||||
def test_add_node(self):
|
def test_add_node(self):
|
||||||
try:
|
procedure = create_procedure(
|
||||||
procedure = frappe.get_doc(
|
{
|
||||||
dict(
|
"quality_procedure_name": "Test Procedure 1",
|
||||||
doctype="Quality Procedure",
|
"is_group": 1,
|
||||||
quality_procedure_name="Test Procedure 1",
|
"processes": [dict(process_description="Test Step 1")],
|
||||||
processes=[dict(process_description="Test Step 1")],
|
}
|
||||||
)
|
)
|
||||||
).insert()
|
|
||||||
|
|
||||||
frappe.local.form_dict = frappe._dict(
|
frappe.local.form_dict = frappe._dict(
|
||||||
doctype="Quality Procedure",
|
doctype="Quality Procedure",
|
||||||
@ -41,16 +39,69 @@ class TestQualityProcedure(unittest.TestCase):
|
|||||||
# child unset
|
# child unset
|
||||||
self.assertFalse([d for d in procedure.processes if d.name == node.name])
|
self.assertFalse([d for d in procedure.processes if d.name == node.name])
|
||||||
|
|
||||||
finally:
|
def test_remove_parent_from_old_child(self):
|
||||||
procedure.delete()
|
child_qp = create_procedure(
|
||||||
|
{
|
||||||
|
"quality_procedure_name": "Test Child 1",
|
||||||
def create_procedure():
|
"is_group": 0,
|
||||||
return frappe.get_doc(
|
}
|
||||||
dict(
|
|
||||||
doctype="Quality Procedure",
|
|
||||||
quality_procedure_name="Test Procedure 1",
|
|
||||||
is_group=1,
|
|
||||||
processes=[dict(process_description="Test Step 1")],
|
|
||||||
)
|
)
|
||||||
).insert()
|
group_qp = create_procedure(
|
||||||
|
{
|
||||||
|
"quality_procedure_name": "Test Group",
|
||||||
|
"is_group": 1,
|
||||||
|
"processes": [dict(procedure=child_qp.name)],
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
child_qp.reload()
|
||||||
|
self.assertEqual(child_qp.parent_quality_procedure, group_qp.name)
|
||||||
|
|
||||||
|
group_qp.reload()
|
||||||
|
del group_qp.processes[0]
|
||||||
|
group_qp.save()
|
||||||
|
|
||||||
|
child_qp.reload()
|
||||||
|
self.assertEqual(child_qp.parent_quality_procedure, None)
|
||||||
|
|
||||||
|
def remove_child_from_old_parent(self):
|
||||||
|
child_qp = create_procedure(
|
||||||
|
{
|
||||||
|
"quality_procedure_name": "Test Child 1",
|
||||||
|
"is_group": 0,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
group_qp = create_procedure(
|
||||||
|
{
|
||||||
|
"quality_procedure_name": "Test Group",
|
||||||
|
"is_group": 1,
|
||||||
|
"processes": [dict(procedure=child_qp.name)],
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
group_qp.reload()
|
||||||
|
self.assertTrue([d for d in group_qp.processes if d.procedure == child_qp.name])
|
||||||
|
|
||||||
|
child_qp.reload()
|
||||||
|
self.assertEqual(child_qp.parent_quality_procedure, group_qp.name)
|
||||||
|
|
||||||
|
child_qp.parent_quality_procedure = None
|
||||||
|
child_qp.save()
|
||||||
|
|
||||||
|
group_qp.reload()
|
||||||
|
self.assertFalse([d for d in group_qp.processes if d.procedure == child_qp.name])
|
||||||
|
|
||||||
|
|
||||||
|
def create_procedure(kwargs=None):
|
||||||
|
kwargs = frappe._dict(kwargs or {})
|
||||||
|
|
||||||
|
doc = frappe.new_doc("Quality Procedure")
|
||||||
|
doc.quality_procedure_name = kwargs.quality_procedure_name or "_Test Procedure"
|
||||||
|
doc.is_group = kwargs.is_group or 0
|
||||||
|
|
||||||
|
for process in kwargs.processes or []:
|
||||||
|
doc.append("processes", process)
|
||||||
|
|
||||||
|
doc.insert()
|
||||||
|
|
||||||
|
return doc
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user