Esempio n. 1
0
	def _test_auto_material_request(self, item_code):
		item = frappe.get_doc("Item", item_code)

		if item.variant_of:
			template = frappe.get_doc("Item", item.variant_of)
		else:
			template = item

		# stock entry reqd for auto-reorder
		create_stock_reconciliation(item_code=item_code, warehouse="_Test Warehouse - _TC",
			qty=10, rate=100)

		frappe.db.set_value("Stock Settings", None, "auto_indent", 1)
		projected_qty = frappe.db.get_value("Bin", {"item_code": item_code,
			"warehouse": "_Test Warehouse - _TC"}, "projected_qty") or 0

		# update re-level qty so that it is more than projected_qty
		if projected_qty > template.reorder_levels[0].warehouse_reorder_level:
			template.reorder_levels[0].warehouse_reorder_level += projected_qty
			template.save()

		from erpnext.stock.reorder_item import reorder_item
		mr_list = reorder_item()

		frappe.db.set_value("Stock Settings", None, "auto_indent", 0)

		items = []
		for mr in mr_list:
			for d in mr.items:
				items.append(d.item_code)

		self.assertTrue(item_code in items)
Esempio n. 2
0
	def _test_auto_material_request(self, item_code):
		item = frappe.get_doc("Item", item_code)

		if item.variant_of:
			template = frappe.get_doc("Item", item.variant_of)
		else:
			template = item

		# stock entry reqd for auto-reorder
		create_stock_reconciliation(item_code=item_code, warehouse="_Test Warehouse - _TC", 
			qty=10, rate=100)

		frappe.db.set_value("Stock Settings", None, "auto_indent", 1)
		projected_qty = frappe.db.get_value("Bin", {"item_code": item_code,
			"warehouse": "_Test Warehouse - _TC"}, "projected_qty") or 0

		# update re-level qty so that it is more than projected_qty
		if projected_qty > template.reorder_levels[0].warehouse_reorder_level:
			template.reorder_levels[0].warehouse_reorder_level += projected_qty
			template.save()

		from erpnext.stock.reorder_item import reorder_item
		mr_list = reorder_item()

		frappe.db.set_value("Stock Settings", None, "auto_indent", 0)

		items = []
		for mr in mr_list:
			for d in mr.items:
				items.append(d.item_code)

		self.assertTrue(item_code in items)
Esempio n. 3
0
	def _test_auto_material_request(self, item_code, material_request_type="Purchase", warehouse="_Test Warehouse - _TC"):
		variant = frappe.get_doc("Item", item_code)

		projected_qty, actual_qty = frappe.db.get_value("Bin", {"item_code": item_code,
			"warehouse": warehouse}, ["projected_qty", "actual_qty"]) or [0, 0]

		# stock entry reqd for auto-reorder
		create_stock_reconciliation(item_code=item_code, warehouse=warehouse,
			qty = actual_qty + abs(projected_qty) + 10, rate=100)

		projected_qty = frappe.db.get_value("Bin", {"item_code": item_code,
			"warehouse": warehouse}, "projected_qty") or 0

		frappe.db.set_value("Stock Settings", None, "auto_indent", 1)

		# update re-level qty so that it is more than projected_qty
		if projected_qty >= variant.reorder_levels[0].warehouse_reorder_level:
			variant.reorder_levels[0].warehouse_reorder_level += projected_qty
			variant.reorder_levels[0].material_request_type = material_request_type
			variant.save()

		from erpnext.stock.reorder_item import reorder_item
		mr_list = reorder_item()

		frappe.db.set_value("Stock Settings", None, "auto_indent", 0)

		items = []
		for mr in mr_list:
			for d in mr.items:
				items.append(d.item_code)

		self.assertTrue(item_code in items)
Esempio n. 4
0
	def _test_auto_material_request(self, item_code, material_request_type="Purchase", warehouse="_Test Warehouse - _TC"):
		variant = frappe.get_doc("Item", item_code)

		projected_qty, actual_qty = frappe.db.get_value("Bin", {"item_code": item_code,
			"warehouse": warehouse}, ["projected_qty", "actual_qty"]) or [0, 0]

		# stock entry reqd for auto-reorder
		create_stock_reconciliation(item_code=item_code, warehouse=warehouse,
			qty = actual_qty + abs(projected_qty) + 10, rate=100)

		projected_qty = frappe.db.get_value("Bin", {"item_code": item_code,
			"warehouse": warehouse}, "projected_qty") or 0

		frappe.db.set_value("Stock Settings", None, "auto_indent", 1)

		# update re-level qty so that it is more than projected_qty
		if projected_qty >= variant.reorder_levels[0].warehouse_reorder_level:
			variant.reorder_levels[0].warehouse_reorder_level += projected_qty
			variant.reorder_levels[0].material_request_type = material_request_type
			variant.save()

		from erpnext.stock.reorder_item import reorder_item
		mr_list = reorder_item()

		frappe.db.set_value("Stock Settings", None, "auto_indent", 0)

		items = []
		for mr in mr_list:
			for d in mr.items:
				items.append(d.item_code)

		self.assertTrue(item_code in items)