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)
Ejemplo n.º 2
0
	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)
Ejemplo n.º 3
0
	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")
Ejemplo n.º 4
0
    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")