test: syncing of odometer value
This commit is contained in:
		
							parent
							
								
									eacc1bc2dc
								
							
						
					
					
						commit
						1a11cb5a07
					
				| @ -8,25 +8,9 @@ import unittest | ||||
| 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 @@ class TestVehicleLog(unittest.TestCase): | ||||
| 			"fuel_qty":frappe.utils.flt(50), | ||||
| 			"price": frappe.utils.flt(500) | ||||
| 		}) | ||||
| 		vehicle_log.insert() | ||||
| 		vehicle_log.submit() | ||||
| 		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 | ||||
| @ -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): | ||||
| 							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] | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user