test: syncing of odometer value
diff --git a/erpnext/hr/doctype/vehicle_log/test_vehicle_log.py b/erpnext/hr/doctype/vehicle_log/test_vehicle_log.py
index 35400b0..3770da7 100644
--- a/erpnext/hr/doctype/vehicle_log/test_vehicle_log.py
+++ b/erpnext/hr/doctype/vehicle_log/test_vehicle_log.py
@@ -8,25 +8,9 @@
from frappe.utils import nowdate,flt, cstr,random_string
# test_records = frappe.get_test_records('Vehicle Log')
class TestVehicleLog(unittest.TestCase):
- def test_make_vehicle_log(self):
- license_plate=random_string(10).upper()
+ def test_make_vehicle_log_and_syncing_of_odometer_value(self):
employee_id=frappe.db.sql("""select name from `tabEmployee` order by modified desc limit 1""")[0][0]
- vehicle = frappe.get_doc({
- "doctype": "Vehicle",
- "license_plate": cstr(license_plate),
- "make": "Maruti",
- "model": "PCM",
- "last_odometer":5000,
- "acquisition_date":frappe.utils.nowdate(),
- "location": "Mumbai",
- "chassis_no": "1234ABCD",
- "uom": "Litre",
- "vehicle_value":frappe.utils.flt(500000)
- })
- try:
- vehicle.insert()
- except frappe.DuplicateEntryError:
- pass
+ license_plate = get_vehicle(employee_id)
vehicle_log = frappe.get_doc({
"doctype": "Vehicle Log",
"license_plate": cstr(license_plate),
@@ -36,5 +20,41 @@
"fuel_qty":frappe.utils.flt(50),
"price": frappe.utils.flt(500)
})
- vehicle_log.insert()
- vehicle_log.submit()
\ No newline at end of file
+ vehicle_log.save()
+ vehicle_log.submit()
+
+ #checking value of vehicle odometer value on submit.
+ vehicle = frappe.get_doc("Vehicle", license_plate)
+ self.assertEqual(vehicle.last_odometer, vehicle_log.odometer)
+
+ #checking value vehicle odometer on vehicle log cancellation.
+ last_odometer = vehicle_log.last_odometer
+ current_odometer = vehicle_log.odometer
+ distance_travelled = current_odometer - last_odometer
+
+ vehicle_log.cancel()
+ vehicle.reload()
+
+ self.assertEqual(vehicle.last_odometer, current_odometer - distance_travelled)
+
+
+def get_vehicle(employee_id):
+ license_plate=random_string(10).upper()
+ vehicle = frappe.get_doc({
+ "doctype": "Vehicle",
+ "license_plate": cstr(license_plate),
+ "make": "Maruti",
+ "model": "PCM",
+ "employee": employee_id,
+ "last_odometer":5000,
+ "acquisition_date":frappe.utils.nowdate(),
+ "location": "Mumbai",
+ "chassis_no": "1234ABCD",
+ "uom": "Litre",
+ "vehicle_value":frappe.utils.flt(500000)
+ })
+ try:
+ vehicle.insert()
+ except frappe.DuplicateEntryError:
+ pass
+ return license_plate
\ No newline at end of file
diff --git a/erpnext/hr/doctype/vehicle_log/vehicle_log.py b/erpnext/hr/doctype/vehicle_log/vehicle_log.py
index dfdfc0d..12cc1dd 100644
--- a/erpnext/hr/doctype/vehicle_log/vehicle_log.py
+++ b/erpnext/hr/doctype/vehicle_log/vehicle_log.py
@@ -18,7 +18,7 @@
if not (service_detail.service_item and service_detail.type and service_detail.frequency and service_detail.expense_amount):
frappe.throw(_("Service Item,Type,frequency and expense amount are required"))
- def before_save(self):
+ def before_insert(self):
model_details = get_make_model(self.license_plate)
self.make = model_details[0]
self.model = model_details[1]