test: syncing of odometer value
This commit is contained in:
parent
eacc1bc2dc
commit
1a11cb5a07
@ -8,14 +8,44 @@ import unittest
|
|||||||
from frappe.utils import nowdate,flt, cstr,random_string
|
from frappe.utils import nowdate,flt, cstr,random_string
|
||||||
# test_records = frappe.get_test_records('Vehicle Log')
|
# test_records = frappe.get_test_records('Vehicle Log')
|
||||||
class TestVehicleLog(unittest.TestCase):
|
class TestVehicleLog(unittest.TestCase):
|
||||||
def test_make_vehicle_log(self):
|
def test_make_vehicle_log_and_syncing_of_odometer_value(self):
|
||||||
license_plate=random_string(10).upper()
|
|
||||||
employee_id=frappe.db.sql("""select name from `tabEmployee` order by modified desc limit 1""")[0][0]
|
employee_id=frappe.db.sql("""select name from `tabEmployee` order by modified desc limit 1""")[0][0]
|
||||||
|
license_plate = get_vehicle(employee_id)
|
||||||
|
vehicle_log = frappe.get_doc({
|
||||||
|
"doctype": "Vehicle Log",
|
||||||
|
"license_plate": cstr(license_plate),
|
||||||
|
"employee":employee_id,
|
||||||
|
"date":frappe.utils.nowdate(),
|
||||||
|
"odometer":5010,
|
||||||
|
"fuel_qty":frappe.utils.flt(50),
|
||||||
|
"price": frappe.utils.flt(500)
|
||||||
|
})
|
||||||
|
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({
|
vehicle = frappe.get_doc({
|
||||||
"doctype": "Vehicle",
|
"doctype": "Vehicle",
|
||||||
"license_plate": cstr(license_plate),
|
"license_plate": cstr(license_plate),
|
||||||
"make": "Maruti",
|
"make": "Maruti",
|
||||||
"model": "PCM",
|
"model": "PCM",
|
||||||
|
"employee": employee_id,
|
||||||
"last_odometer":5000,
|
"last_odometer":5000,
|
||||||
"acquisition_date":frappe.utils.nowdate(),
|
"acquisition_date":frappe.utils.nowdate(),
|
||||||
"location": "Mumbai",
|
"location": "Mumbai",
|
||||||
@ -27,14 +57,4 @@ class TestVehicleLog(unittest.TestCase):
|
|||||||
vehicle.insert()
|
vehicle.insert()
|
||||||
except frappe.DuplicateEntryError:
|
except frappe.DuplicateEntryError:
|
||||||
pass
|
pass
|
||||||
vehicle_log = frappe.get_doc({
|
return license_plate
|
||||||
"doctype": "Vehicle Log",
|
|
||||||
"license_plate": cstr(license_plate),
|
|
||||||
"employee":employee_id,
|
|
||||||
"date":frappe.utils.nowdate(),
|
|
||||||
"odometer":5010,
|
|
||||||
"fuel_qty":frappe.utils.flt(50),
|
|
||||||
"price": frappe.utils.flt(500)
|
|
||||||
})
|
|
||||||
vehicle_log.insert()
|
|
||||||
vehicle_log.submit()
|
|
||||||
@ -18,7 +18,7 @@ class VehicleLog(Document):
|
|||||||
if not (service_detail.service_item and service_detail.type and service_detail.frequency and service_detail.expense_amount):
|
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"))
|
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)
|
model_details = get_make_model(self.license_plate)
|
||||||
self.make = model_details[0]
|
self.make = model_details[0]
|
||||||
self.model = model_details[1]
|
self.model = model_details[1]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user