Beispiel #1
0
	def test_purchase_asset(self):
		asset = frappe.get_doc("Asset", "Macbook Pro 1")
		asset.submit()
		
		pi = make_purchase_invoice(asset.name, asset.item_code, asset.gross_purchase_amount, 
			asset.company, asset.purchase_date)
		pi.supplier = "_Test Supplier"
		pi.insert()
		pi.submit()
		
		asset.load_from_db()
		self.assertEqual(asset.supplier, "_Test Supplier")
		self.assertEqual(asset.purchase_date, getdate("2015-01-01"))
		self.assertEqual(asset.purchase_invoice, pi.name)
		
		expected_gle = (
			("_Test Fixed Asset - _TC", 100000.0, 0.0),
			("Creditors - _TC", 0.0, 100000.0)
		)

		gle = frappe.db.sql("""select account, debit, credit from `tabGL Entry`
			where voucher_type='Purchase Invoice' and voucher_no = %s
			order by account""", pi.name)

		self.assertEqual(gle, expected_gle)

		pi.cancel()

		asset.load_from_db()
		self.assertEqual(asset.supplier, None)
		self.assertEqual(asset.purchase_invoice, None)
		
		self.assertFalse(frappe.db.get_value("GL Entry", 
			{"voucher_type": "Purchase Invoice", "voucher_no": pi.name}))
Beispiel #2
0
	def test_purchase_asset(self):
		asset = frappe.get_doc("Asset", "Macbook Pro 1")
		asset.submit()
		
		pi = make_purchase_invoice(asset.name, asset.item_code, asset.gross_purchase_amount, 
			asset.company, asset.purchase_date)
		pi.supplier = "_Test Supplier"
		pi.insert()
		pi.submit()
		
		asset.load_from_db()
		self.assertEqual(asset.supplier, "_Test Supplier")
		self.assertEqual(asset.purchase_date, getdate("2015-01-01"))
		self.assertEqual(asset.purchase_invoice, pi.name)
		
		expected_gle = (
			("_Test Fixed Asset - _TC", 100000.0, 0.0),
			("Creditors - _TC", 0.0, 100000.0)
		)

		gle = frappe.db.sql("""select account, debit, credit from `tabGL Entry`
			where voucher_type='Purchase Invoice' and voucher_no = %s
			order by account""", pi.name)

		self.assertEqual(gle, expected_gle)

		pi.cancel()

		asset.load_from_db()
		self.assertEqual(asset.supplier, None)
		self.assertEqual(asset.purchase_invoice, None)
		
		self.assertFalse(frappe.db.get_value("GL Entry", 
			{"voucher_type": "Purchase Invoice", "voucher_no": pi.name}))
Beispiel #3
0
def make_asset_purchase_entry():
	asset_list = frappe.get_all("Asset", filters={"purchase_invoice": ["in", ("", None)]}, 
		fields=["name", "item_code", "gross_purchase_amount", "company", "purchase_date"])
				
	# make purchase invoice
	for asset in asset_list:
		pi = make_purchase_invoice(asset.name, asset.item_code, asset.gross_purchase_amount, 
			asset.company, asset.purchase_date)
		pi.supplier = get_random("Supplier")
		pi.save()
		pi.submit()
		
	return asset_list
Beispiel #4
0
def make_asset_purchase_entry():
	asset_list = frappe.get_all("Asset", filters={"purchase_invoice": ["in", ("", None)]}, 
		fields=["name", "item_code", "gross_purchase_amount", "company", "purchase_date"])
				
	# make purchase invoice
	for asset in asset_list:
		pi = make_purchase_invoice(asset.name, asset.item_code, asset.gross_purchase_amount, 
			asset.company, asset.purchase_date)
		pi.supplier = get_random("Supplier")
		pi.save()
		pi.submit()
		
	return asset_list