Remove test_records.json and modify test
diff --git a/erpnext/crm/doctype/contract/test_contract.py b/erpnext/crm/doctype/contract/test_contract.py
index 2b5c875..d5f4e71 100644
--- a/erpnext/crm/doctype/contract/test_contract.py
+++ b/erpnext/crm/doctype/contract/test_contract.py
@@ -6,23 +6,13 @@
import unittest
import frappe
-from frappe.test_runner import make_test_records
from frappe.utils import add_days, nowdate
-contract_test_records = frappe.get_test_records('Contract')
-make_test_records('Contract Template')
-make_test_records("Customer", force=True)
-
-
class TestContract(unittest.TestCase):
+
def setUp(self):
- self.contract_doc = frappe.copy_doc(contract_test_records[0])
-
- template_with_requirements = frappe.get_all("Contract Template", filters={"requires_fulfilment": 1})
- self.contract_template_with_requirements = template_with_requirements[0].name
-
- template_without_requirements = frappe.get_all("Contract Template", filters={"requires_fulfilment": 0})
- self.contract_template_without_requirements = template_without_requirements[0].name
+ frappe.db.sql("delete from `tabContract`")
+ self.contract_doc = get_contract()
def test_validate_start_date_before_end_date(self):
self.contract_doc.start_date = nowdate()
@@ -32,7 +22,6 @@
def test_unsigned_contract_status(self):
self.contract_doc.insert()
-
self.assertEqual(self.contract_doc.status, "Unsigned")
def test_active_signed_contract_status(self):
@@ -60,28 +49,29 @@
self.assertEqual(self.contract_doc.status, "Inactive")
def test_contract_status_with_no_fulfilment_terms(self):
- self.contract_doc.contract_terms = self.contract_template_without_requirements
+ self.contract_doc.contract_term = "_Test Customer Contract"
self.contract_doc.insert()
self.assertEqual(self.contract_doc.fulfilment_status, "N/A")
def test_unfulfilled_contract_status(self):
- self.contract_doc.contract_terms = self.contract_template_with_requirements
+ self.contract_doc.contract_term = "_Test Customer Contract with Requirements"
+ self.contract_doc.requires_fulfilment = 1
self.contract_doc.save()
- self.contract_doc.insert()
-
- self.contract_doc.reload()
-
self.assertEqual(self.contract_doc.fulfilment_status, "Unfulfilled")
def test_fulfilled_contract_status(self):
- self.contract_doc.contract_terms = self.contract_template_with_requirements
- self.contract_doc.save()
- self.contract_doc.insert()
-
- self.contract_doc.reload()
+ self.contract_doc.contract_terms = "_Test Customer Contract with Requirements"
# Mark all the terms as fulfilled
+ self.contract_doc.requires_fulfilment = 1
+ fulfilment_terms = []
+ fulfilment_terms.append({
+ "requirement": "This is a test requirement.",
+ "fulfilled": 0
+ })
+ self.contract_doc.set("fulfilment_terms", fulfilment_terms)
+
for term in self.contract_doc.fulfilment_terms:
term.fulfilled = 1
@@ -90,21 +80,40 @@
self.assertEqual(self.contract_doc.fulfilment_status, "Fulfilled")
def test_partially_fulfilled_contract_status(self):
- self.contract_doc.contract_terms = self.contract_template_with_requirements
- self.contract_doc.insert()
-
- self.contract_doc.reload()
+ self.contract_doc.contract_terms = "_Test Customer Contract with Requirements"
+ self.contract_doc.requires_fulfilment = 1
# Mark only the first term as fulfilled
+ self.contract_doc.save()
+ fulfilment_terms = []
+ fulfilment_terms.append({
+ "requirement": "This is a test requirement.",
+ "fulfilled": 0
+ })
+ fulfilment_terms.append({
+ "requirement": "This is another test requirement.",
+ "fulfilled": 0
+ })
+
+ self.contract_doc.set("fulfilment_terms", fulfilment_terms)
self.contract_doc.fulfilment_terms[0].fulfilled = 1
self.contract_doc.save()
self.assertEqual(self.contract_doc.fulfilment_status, "Partially Fulfilled")
def test_lapsed_contract_status(self):
- self.contract_doc.contract_terms = self.contract_template_with_requirements
- self.contract_doc.insert()
-
- self.contract_doc.reload()
+ self.contract_doc.contract_term = "_Test Customer Contract with Requirements"
+ self.contract_doc.start_date = add_days(nowdate(), -2)
+ self.contract_doc.end_date = add_days(nowdate(), 1)
+ self.contract_doc.requires_fulfilment = 1
+ self.contract_doc.fulfilment_deadline = add_days(nowdate(), -1)
+ self.contract_doc.save()
self.assertEqual(self.contract_doc.fulfilment_status, "Lapsed")
+
+def get_contract():
+ doc = frappe.new_doc("Contract")
+ doc.party_type = "Customer"
+ doc.party_name = "_Test Customer"
+ doc.contract_terms = "This is a test customer contract."
+ return doc
diff --git a/erpnext/crm/doctype/contract/test_records.json b/erpnext/crm/doctype/contract/test_records.json
deleted file mode 100644
index 23cc3bb..0000000
--- a/erpnext/crm/doctype/contract/test_records.json
+++ /dev/null
@@ -1,20 +0,0 @@
-[
- {
- "doctype": "Contract",
- "party_type": "Customer",
- "party_name": "_Test Customer",
- "contract_terms": "This is a test customer contract."
- },
- {
- "doctype": "Contract",
- "party_type": "Supplier",
- "party_name": "_Test Supplier",
- "contract_terms": "This is a test supplier contract."
- },
- {
- "doctype": "Contract",
- "party_type": "Employee",
- "party_name": "_Test Employee",
- "contract_terms": "This is a test employee contract."
- }
-]
\ No newline at end of file
diff --git a/erpnext/crm/doctype/contract_template/test_records.json b/erpnext/crm/doctype/contract_template/test_records.json
deleted file mode 100644
index 341b1cf..0000000
--- a/erpnext/crm/doctype/contract_template/test_records.json
+++ /dev/null
@@ -1,31 +0,0 @@
-[
- {
- "doctype": "Contract Template",
- "title": "_Test Customer Contract",
- "contract_terms": "This is a test customer contract."
- },
- {
- "doctype": "Contract Template",
- "title": "_Test Customer Contract with Requirements",
- "contract_terms": "This is a test customer contract.",
- "requires_fulfilment": 1,
- "fulfilment_terms": [
- {
- "requirement": "This is a test requirement."
- },
- {
- "requirement": "This is another test requirement."
- }
- ]
- },
- {
- "doctype": "Contract Template",
- "title": "_Test Supplier Contract",
- "contract_terms": "This is a test supplier contract."
- },
- {
- "doctype": "Contract Template",
- "title": "_Test Employee Contract",
- "contract_terms": "This is a test employee contract."
- }
-]
\ No newline at end of file