mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-03 12:19:12 +00:00
Remove test_records.json and modify test
This commit is contained in:
@@ -6,23 +6,13 @@ from __future__ import unicode_literals
|
|||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.test_runner import make_test_records
|
|
||||||
from frappe.utils import add_days, nowdate
|
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):
|
class TestContract(unittest.TestCase):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.contract_doc = frappe.copy_doc(contract_test_records[0])
|
frappe.db.sql("delete from `tabContract`")
|
||||||
|
self.contract_doc = get_contract()
|
||||||
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
|
|
||||||
|
|
||||||
def test_validate_start_date_before_end_date(self):
|
def test_validate_start_date_before_end_date(self):
|
||||||
self.contract_doc.start_date = nowdate()
|
self.contract_doc.start_date = nowdate()
|
||||||
@@ -32,7 +22,6 @@ class TestContract(unittest.TestCase):
|
|||||||
|
|
||||||
def test_unsigned_contract_status(self):
|
def test_unsigned_contract_status(self):
|
||||||
self.contract_doc.insert()
|
self.contract_doc.insert()
|
||||||
|
|
||||||
self.assertEqual(self.contract_doc.status, "Unsigned")
|
self.assertEqual(self.contract_doc.status, "Unsigned")
|
||||||
|
|
||||||
def test_active_signed_contract_status(self):
|
def test_active_signed_contract_status(self):
|
||||||
@@ -60,28 +49,29 @@ class TestContract(unittest.TestCase):
|
|||||||
self.assertEqual(self.contract_doc.status, "Inactive")
|
self.assertEqual(self.contract_doc.status, "Inactive")
|
||||||
|
|
||||||
def test_contract_status_with_no_fulfilment_terms(self):
|
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.contract_doc.insert()
|
||||||
|
|
||||||
self.assertEqual(self.contract_doc.fulfilment_status, "N/A")
|
self.assertEqual(self.contract_doc.fulfilment_status, "N/A")
|
||||||
|
|
||||||
def test_unfulfilled_contract_status(self):
|
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.save()
|
||||||
self.contract_doc.insert()
|
|
||||||
|
|
||||||
self.contract_doc.reload()
|
|
||||||
|
|
||||||
self.assertEqual(self.contract_doc.fulfilment_status, "Unfulfilled")
|
self.assertEqual(self.contract_doc.fulfilment_status, "Unfulfilled")
|
||||||
|
|
||||||
def test_fulfilled_contract_status(self):
|
def test_fulfilled_contract_status(self):
|
||||||
self.contract_doc.contract_terms = self.contract_template_with_requirements
|
self.contract_doc.contract_terms = "_Test Customer Contract with Requirements"
|
||||||
self.contract_doc.save()
|
|
||||||
self.contract_doc.insert()
|
|
||||||
|
|
||||||
self.contract_doc.reload()
|
|
||||||
|
|
||||||
# Mark all the terms as fulfilled
|
# 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:
|
for term in self.contract_doc.fulfilment_terms:
|
||||||
term.fulfilled = 1
|
term.fulfilled = 1
|
||||||
|
|
||||||
@@ -90,21 +80,40 @@ class TestContract(unittest.TestCase):
|
|||||||
self.assertEqual(self.contract_doc.fulfilment_status, "Fulfilled")
|
self.assertEqual(self.contract_doc.fulfilment_status, "Fulfilled")
|
||||||
|
|
||||||
def test_partially_fulfilled_contract_status(self):
|
def test_partially_fulfilled_contract_status(self):
|
||||||
self.contract_doc.contract_terms = self.contract_template_with_requirements
|
self.contract_doc.contract_terms = "_Test Customer Contract with Requirements"
|
||||||
self.contract_doc.insert()
|
self.contract_doc.requires_fulfilment = 1
|
||||||
|
|
||||||
self.contract_doc.reload()
|
|
||||||
|
|
||||||
# Mark only the first term as fulfilled
|
# 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.fulfilment_terms[0].fulfilled = 1
|
||||||
self.contract_doc.save()
|
self.contract_doc.save()
|
||||||
|
|
||||||
self.assertEqual(self.contract_doc.fulfilment_status, "Partially Fulfilled")
|
self.assertEqual(self.contract_doc.fulfilment_status, "Partially Fulfilled")
|
||||||
|
|
||||||
def test_lapsed_contract_status(self):
|
def test_lapsed_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.insert()
|
self.contract_doc.start_date = add_days(nowdate(), -2)
|
||||||
|
self.contract_doc.end_date = add_days(nowdate(), 1)
|
||||||
self.contract_doc.reload()
|
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")
|
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
|
||||||
|
|||||||
@@ -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."
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -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."
|
|
||||||
}
|
|
||||||
]
|
|
||||||
Reference in New Issue
Block a user