test: creating schedule and visit
diff --git a/erpnext/maintenance/doctype/maintenance_schedule/test_maintenance_schedule.py b/erpnext/maintenance/doctype/maintenance_schedule/test_maintenance_schedule.py
index 3c307e9..834c054 100644
--- a/erpnext/maintenance/doctype/maintenance_schedule/test_maintenance_schedule.py
+++ b/erpnext/maintenance/doctype/maintenance_schedule/test_maintenance_schedule.py
@@ -2,7 +2,8 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals
-from frappe.utils.data import get_datetime, add_days
+from frappe.utils.data import add_days, today
+from erpnext.maintenance.doctype.maintenance_schedule.maintenance_schedule import make_maintenance_visit
import frappe
import unittest
@@ -21,6 +22,52 @@
ms.cancel()
events_after_cancel = get_events(ms)
self.assertTrue(len(events_after_cancel) == 0)
+
+ def test_make_schedule(self):
+ ms = make_maintenance_schedule()
+ ms.save()
+ i = ms.items[0]
+ expected_end_date = add_days(i.start_date, i.no_of_visits * 7)
+ self.assertEqual(i.end_date, expected_end_date)
+
+ i.no_of_visits = 2
+ ms.save()
+ expected_end_date = add_days(i.start_date, i.no_of_visits * 7)
+ self.assertEqual(i.end_date, expected_end_date)
+
+ items = ms.get_pending_data(data_type = "items")
+ items = items.split('\n')
+ items.pop(0)
+ expected_items = ['_Test Item']
+ self.assertTrue(items,expected_items)
+
+ dates = ms.get_pending_data(data_type = "date",item_name = i.item_name)
+ dates = dates.split('\n')
+ dates.pop(0)
+ expected_dates = ['07-05-2021','14-05-2021']
+ self.assertEqual(dates,expected_dates)
+
+
+ ms.submit()
+ s_id = ms.get_pending_data(data_type = "id",item_name = i.item_name, s_date = "14-05-2021")
+ test = make_maintenance_visit(source_name = ms.name, item_name = "_Test Item", s_id = s_id)
+ visit = frappe.new_doc('Maintenance Visit')
+ visit = test
+ visit.completion_status = "Partially Completed"
+
+ visit.set('purposes',[{
+ 'item_code':i.item_code,
+ 'description':"test",
+ 'work_done':"test",
+ 'prevdoc_docname':ms.name,
+ 'prevdoc_doctype':ms.doctype,
+ 'prevdoc_detail_docname':s_id
+ }])
+ visit.submit()
+ ms = frappe.get_doc('Maintenance Schedule',ms.name)
+ self.assertTrue(ms.schedules[1].completion_status,"Partially Completed")
+
+
def get_events(ms):
return frappe.get_all("Event Participants", filters={
@@ -29,16 +76,16 @@
"parenttype": "Event"
})
+
def make_maintenance_schedule():
ms = frappe.new_doc("Maintenance Schedule")
ms.company = "_Test Company"
ms.customer = "_Test Customer"
- ms.transaction_date = get_datetime()
+ ms.transaction_date = today()
ms.append("items", {
"item_code": "_Test Item",
- "start_date": get_datetime(),
- "end_date": add_days(get_datetime(), 32),
+ "start_date": today(),
"periodicity": "Weekly",
"no_of_visits": 4,
"sales_person": "Sales Team",