def test_make_time_log(self): from erpnext.projects.doctype.time_log.test_time_log import make_time_log_test_record prod_order = make_prod_order_test_record(item="_Test FG Item 2", planned_start_date=now(), qty=1, do_not_save=True) prod_order.set_production_order_operations() prod_order.insert() prod_order.submit() d = prod_order.operations[0] d.completed_qty = flt(d.completed_qty) time_log = make_time_log_test_record(hours=1, production_order= prod_order.name, operation= d.operation, completed_qty= prod_order.qty - d.completed_qty, operation_id=d.name, for_manufacturing=1, simulate=True) self.assertEqual(prod_order.name, time_log.production_order) self.assertEqual((prod_order.qty - d.completed_qty), time_log.completed_qty) self.assertEqual(time_diff_in_hours(d.planned_end_time, d.planned_start_time),time_log.hours) manufacturing_settings = frappe.get_doc({ "doctype": "Manufacturing Settings", "allow_production_on_holidays": 0 }) manufacturing_settings.save() prod_order.load_from_db() self.assertEqual(prod_order.operations[0].status, "Completed") self.assertEqual(prod_order.operations[0].completed_qty, prod_order.qty) self.assertEqual(prod_order.operations[0].actual_operation_time, 60) self.assertEqual(prod_order.operations[0].actual_operating_cost, 100) time_log.cancel() prod_order.load_from_db() self.assertEqual(prod_order.operations[0].status, "Pending") self.assertEqual(flt(prod_order.operations[0].completed_qty), 0) self.assertEqual(flt(prod_order.operations[0].actual_operation_time), 0) self.assertEqual(flt(prod_order.operations[0].actual_operating_cost), 0) time_log2 = make_time_log_test_record(from_time= add_days(time_log.to_time, 1) ,production_order= prod_order.name, operation= d.operation, completed_qty= 5, operation_id=d.name, for_manufacturing=1, do_not_save=True) self.assertRaises(OverProductionLoggedError, time_log2.save)
def test_time_log_status(self): time_log = make_time_log_test_record(simulate=True) self.assertEquals(frappe.db.get_value("Time Log", time_log.name, "status"), "Submitted") tlb = create_time_log_batch(time_log.name) self.assertEquals(frappe.db.get_value("Time Log", time_log.name, "status"), "Batched for Billing") tlb.cancel() self.assertEquals(frappe.db.get_value("Time Log", time_log.name, "status"), "Submitted")
def test_time_log_status(self): time_log = make_time_log_test_record(simulate=True) self.assertEquals( frappe.db.get_value("Time Log", time_log.name, "status"), "Submitted") tlb = create_time_log_batch(time_log.name) self.assertEquals( frappe.db.get_value("Time Log", time_log.name, "status"), "Batched for Billing") tlb.cancel() self.assertEquals( frappe.db.get_value("Time Log", time_log.name, "status"), "Submitted")