fix: period closing voucher tests (#27198)

diff --git a/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py b/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py
index 2d19391..2a636bb 100644
--- a/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py
+++ b/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py
@@ -13,59 +13,49 @@
 
 class TestPeriodClosingVoucher(unittest.TestCase):
 	def test_closing_entry(self):
-		year_start_date = get_fiscal_year(today(), company="_Test Company")[1]
+		frappe.db.sql("delete from `tabGL Entry` where company='Test PCV Company'")
 
-		make_journal_entry("_Test Bank - _TC", "Sales - _TC", 400,
-			"_Test Cost Center - _TC", posting_date=now(), submit=True)
+		company = create_company()
+		cost_center = create_cost_center('Test Cost Center 1')
 
-		make_journal_entry("_Test Account Cost for Goods Sold - _TC",
-			"_Test Bank - _TC", 600, "_Test Cost Center - _TC", posting_date=now(), submit=True)
+		jv1 = make_journal_entry(
+			amount=400,
+			account1="Cash - TPC",
+			account2="Sales - TPC",
+			cost_center=cost_center,
+			posting_date=now(),
+			save=False
+		)
+		jv1.company = company
+		jv1.save()
+		jv1.submit()
 
-		random_expense_account = frappe.db.sql("""
-			select t1.account,
-				sum(t1.debit) - sum(t1.credit) as balance,
-				sum(t1.debit_in_account_currency) - sum(t1.credit_in_account_currency) \
-					as balance_in_account_currency
-			from `tabGL Entry` t1, `tabAccount` t2
-			where t1.account = t2.name and t2.root_type = 'Expense'
-				and t2.docstatus < 2 and t2.company = '_Test Company'
-				and t1.posting_date between %s and %s
-			group by t1.account
-			having sum(t1.debit) > sum(t1.credit)
-			limit 1""", (year_start_date, today()), as_dict=True)
-
-		profit_or_loss = frappe.db.sql("""select sum(t1.debit) - sum(t1.credit) as balance
-			from `tabGL Entry` t1, `tabAccount` t2
-			where t1.account = t2.name and t2.report_type = 'Profit and Loss'
-			and t2.docstatus < 2 and t2.company = '_Test Company'
-			and t1.posting_date between %s and %s""", (year_start_date, today()))
-
-		profit_or_loss = flt(profit_or_loss[0][0]) if profit_or_loss else 0
+		jv2 = make_journal_entry(
+			amount=600,
+			account1="Cost of Goods Sold - TPC",
+			account2="Cash - TPC",
+			cost_center=cost_center,
+			posting_date=now(),
+			save=False
+		)
+		jv2.company = company
+		jv2.save()
+		jv2.submit()
 
 		pcv = self.make_period_closing_voucher()
+		surplus_account = pcv.closing_account_head
 
-		# Check value for closing account
-		gle_amount_for_closing_account = frappe.db.sql("""select debit - credit
-			from `tabGL Entry` where voucher_type='Period Closing Voucher' and voucher_no=%s
-			and account = '_Test Account Reserves and Surplus - _TC'""", pcv.name)
+		expected_gle = (
+			('Cost of Goods Sold - TPC', 0.0, 600.0),
+			(surplus_account, 600.0, 400.0),
+			('Sales - TPC', 400.0, 0.0)
+		)
 
-		gle_amount_for_closing_account = flt(gle_amount_for_closing_account[0][0]) \
-			if gle_amount_for_closing_account else 0
+		pcv_gle = frappe.db.sql("""
+			select account, debit, credit from `tabGL Entry` where voucher_no=%s order by account
+		""", (pcv.name))
 
-		self.assertEqual(gle_amount_for_closing_account, profit_or_loss)
-
-		if random_expense_account:
-			# Check posted value for teh above random_expense_account
-			gle_for_random_expense_account = frappe.db.sql("""
-				select sum(debit - credit) as amount,
-					sum(debit_in_account_currency - credit_in_account_currency) as amount_in_account_currency
-				from `tabGL Entry`
-				where voucher_type='Period Closing Voucher' and voucher_no=%s and account =%s""",
-				(pcv.name, random_expense_account[0].account), as_dict=True)
-
-			self.assertEqual(gle_for_random_expense_account[0].amount, -1*random_expense_account[0].balance)
-			self.assertEqual(gle_for_random_expense_account[0].amount_in_account_currency,
-				-1*random_expense_account[0].balance_in_account_currency)
+		self.assertEqual(pcv_gle, expected_gle)
 
 	def test_cost_center_wise_posting(self):
 		frappe.db.sql("delete from `tabGL Entry` where company='Test PCV Company'")
@@ -93,31 +83,23 @@
 			debit_to="Debtors - TPC"
 		)
 
-		pcv = frappe.get_doc({
-			"transaction_date": today(),
-			"posting_date": today(),
-			"fiscal_year": get_fiscal_year(today())[0],
-			"company": "Test PCV Company",
-			"cost_center_wise_pnl": 1,
-			"closing_account_head": surplus_account,
-			"remarks": "Test",
-			"doctype": "Period Closing Voucher"
-		})
-		pcv.insert()
-		pcv.submit()
+		pcv = self.make_period_closing_voucher()
+		surplus_account = pcv.closing_account_head
 
 		expected_gle = (
-			('Sales - TPC', 200.0, 0.0, cost_center2),
+			(surplus_account, 0.0, 400.0, cost_center1),
 			(surplus_account, 0.0, 200.0, cost_center2),
 			('Sales - TPC', 400.0, 0.0, cost_center1),
-			(surplus_account, 0.0, 400.0, cost_center1)
+			('Sales - TPC', 200.0, 0.0, cost_center2),
 		)
 
 		pcv_gle = frappe.db.sql("""
-			select account, debit, credit, cost_center from `tabGL Entry` where voucher_no=%s
+			select account, debit, credit, cost_center
+			from `tabGL Entry` where voucher_no=%s
+			order by account, cost_center
 		""", (pcv.name))
 
-		self.assertTrue(pcv_gle, expected_gle)
+		self.assertEqual(pcv_gle, expected_gle)
 
 	def test_period_closing_with_finance_book_entries(self):
 		frappe.db.sql("delete from `tabGL Entry` where company='Test PCV Company'")
@@ -146,39 +128,35 @@
 		jv.save()
 		jv.submit()
 
-		pcv = frappe.get_doc({
-			"transaction_date": today(),
-			"posting_date": today(),
-			"fiscal_year": get_fiscal_year(today())[0],
-			"company": company,
-			"closing_account_head": surplus_account,
-			"remarks": "Test",
-			"doctype": "Period Closing Voucher"
-		})
-		pcv.insert()
-		pcv.submit()
+		pcv = self.make_period_closing_voucher()
+		surplus_account = pcv.closing_account_head
 
 		expected_gle = (
-			(surplus_account, 0.0, 400.0, ''),
+			(surplus_account, 0.0, 400.0, None),
 			(surplus_account, 0.0, 400.0, jv.finance_book),
-			('Sales - TPC', 400.0, 0.0, ''),
+			('Sales - TPC', 400.0, 0.0, None),
 			('Sales - TPC', 400.0, 0.0, jv.finance_book)
 		)
 
 		pcv_gle = frappe.db.sql("""
-			select account, debit, credit, finance_book from `tabGL Entry` where voucher_no=%s
+			select account, debit, credit, finance_book
+			from `tabGL Entry` where voucher_no=%s
+			order by account, finance_book
 		""", (pcv.name))
 
-		self.assertTrue(pcv_gle, expected_gle)
+		self.assertEqual(pcv_gle, expected_gle)
 
 	def make_period_closing_voucher(self):
+		surplus_account = create_account()
+		cost_center = create_cost_center("Test Cost Center 1")
 		pcv = frappe.get_doc({
 			"doctype": "Period Closing Voucher",
-			"closing_account_head": "_Test Account Reserves and Surplus - _TC",
-			"company": "_Test Company",
-			"fiscal_year": get_fiscal_year(today(), company="_Test Company")[0],
+			"transaction_date": today(),
 			"posting_date": today(),
-			"cost_center": "_Test Cost Center - _TC",
+			"company": "Test PCV Company",
+			"fiscal_year": get_fiscal_year(today(), company="Test PCV Company")[0],
+			"cost_center": cost_center,
+			"closing_account_head": surplus_account,
 			"remarks": "test"
 		})
 		pcv.insert()