Merge pull request #31454 from gavindsouza/mariadb-client-refactor

fix: Misc enhancements
diff --git a/.github/helper/install.sh b/.github/helper/install.sh
index f0f83b0..efd2f5c 100644
--- a/.github/helper/install.sh
+++ b/.github/helper/install.sh
@@ -2,13 +2,6 @@
 
 set -e
 
-# Check for merge conflicts before proceeding
-python -m compileall -f "${GITHUB_WORKSPACE}"
-if grep -lr --exclude-dir=node_modules "^<<<<<<< " "${GITHUB_WORKSPACE}"
-    then echo "Found merge conflicts"
-    exit 1
-fi
-
 cd ~ || exit
 
 sudo apt update && sudo apt install redis-server libcups2-dev
diff --git a/.github/workflows/patch.yml b/.github/workflows/patch.yml
index a71db72..ecbb7c6 100644
--- a/.github/workflows/patch.yml
+++ b/.github/workflows/patch.yml
@@ -34,6 +34,14 @@
       - name: Clone
         uses: actions/checkout@v2
 
+      - name: Check for valid Python & Merge Conflicts
+        run: |
+          python -m compileall -f "${GITHUB_WORKSPACE}"
+          if grep -lr --exclude-dir=node_modules "^<<<<<<< " "${GITHUB_WORKSPACE}"
+              then echo "Found merge conflicts"
+              exit 1
+          fi
+
       - name: Setup Python
         uses: "gabrielfalcao/pyenv-action@v9"
         with:
diff --git a/.github/workflows/server-tests-mariadb.yml b/.github/workflows/server-tests-mariadb.yml
index f65cb46..64134bc 100644
--- a/.github/workflows/server-tests-mariadb.yml
+++ b/.github/workflows/server-tests-mariadb.yml
@@ -61,6 +61,14 @@
         with:
           python-version: '3.10'
 
+      - name: Check for valid Python & Merge Conflicts
+        run: |
+          python -m compileall -f "${GITHUB_WORKSPACE}"
+          if grep -lr --exclude-dir=node_modules "^<<<<<<< " "${GITHUB_WORKSPACE}"
+              then echo "Found merge conflicts"
+              exit 1
+          fi
+
       - name: Setup Node
         uses: actions/setup-node@v2
         with:
diff --git a/.github/workflows/server-tests-postgres.yml b/.github/workflows/server-tests-postgres.yml
index 53a94db..651c935 100644
--- a/.github/workflows/server-tests-postgres.yml
+++ b/.github/workflows/server-tests-postgres.yml
@@ -48,6 +48,14 @@
         with:
           python-version: '3.10'
 
+      - name: Check for valid Python & Merge Conflicts
+        run: |
+          python -m compileall -f "${GITHUB_WORKSPACE}"
+          if grep -lr --exclude-dir=node_modules "^<<<<<<< " "${GITHUB_WORKSPACE}"
+              then echo "Found merge conflicts"
+              exit 1
+          fi
+
       - name: Setup Node
         uses: actions/setup-node@v2
         with:
@@ -90,7 +98,6 @@
           restore-keys: |
             ${{ runner.os }}-yarn-
 
-
       - name: Install
         run: bash ${GITHUB_WORKSPACE}/.github/helper/install.sh
         env:
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 3dca588..e9ed2e4 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
@@ -114,7 +114,7 @@
 			(pcv.name),
 		)
 
-		self.assertEqual(pcv_gle, expected_gle)
+		self.assertSequenceEqual(pcv_gle, expected_gle)
 
 		pcv.reload()
 		pcv.cancel()
@@ -175,7 +175,7 @@
 			(pcv.name),
 		)
 
-		self.assertEqual(pcv_gle, expected_gle)
+		self.assertSequenceEqual(pcv_gle, expected_gle)
 
 	def make_period_closing_voucher(self, submit=True):
 		surplus_account = create_account()
diff --git a/erpnext/assets/doctype/asset/test_asset.py b/erpnext/assets/doctype/asset/test_asset.py
index 34d374c..986b700 100644
--- a/erpnext/assets/doctype/asset/test_asset.py
+++ b/erpnext/assets/doctype/asset/test_asset.py
@@ -133,7 +133,7 @@
 			order by account""",
 			pi.name,
 		)
-		self.assertEqual(gle, expected_gle)
+		self.assertSequenceEqual(gle, expected_gle)
 
 		pi.cancel()
 		asset.cancel()
@@ -208,7 +208,7 @@
 			order by account""",
 			asset.journal_entry_for_scrap,
 		)
-		self.assertEqual(gle, expected_gle)
+		self.assertSequenceEqual(gle, expected_gle)
 
 		restore_asset(asset.name)
 
@@ -253,7 +253,7 @@
 			si.name,
 		)
 
-		self.assertEqual(gle, expected_gle)
+		self.assertSequenceEqual(gle, expected_gle)
 
 		si.cancel()
 		self.assertEqual(frappe.db.get_value("Asset", asset.name, "status"), "Partially Depreciated")
@@ -361,7 +361,7 @@
 			pr.name,
 		)
 
-		self.assertEqual(pr_gle, expected_gle)
+		self.assertSequenceEqual(pr_gle, expected_gle)
 
 		pi = make_invoice(pr.name)
 		pi.submit()
@@ -381,7 +381,7 @@
 			pi.name,
 		)
 
-		self.assertEqual(pi_gle, expected_gle)
+		self.assertSequenceEqual(pi_gle, expected_gle)
 
 		asset = frappe.db.get_value("Asset", {"purchase_receipt": pr.name, "docstatus": 0}, "name")
 
@@ -414,7 +414,7 @@
 			asset_doc.name,
 		)
 
-		self.assertEqual(gle, expected_gle)
+		self.assertSequenceEqual(gle, expected_gle)
 
 	def test_asset_cwip_toggling_cases(self):
 		cwip = frappe.db.get_value("Asset Category", "Computers", "enable_cwip_accounting")
@@ -1287,7 +1287,7 @@
 			asset.name,
 		)
 
-		self.assertEqual(gle, expected_gle)
+		self.assertSequenceEqual(gle, expected_gle)
 		self.assertEqual(asset.get("value_after_depreciation"), 0)
 
 	def test_expected_value_change(self):
diff --git a/erpnext/assets/doctype/asset_value_adjustment/test_asset_value_adjustment.py b/erpnext/assets/doctype/asset_value_adjustment/test_asset_value_adjustment.py
index ebeb174..62c6366 100644
--- a/erpnext/assets/doctype/asset_value_adjustment/test_asset_value_adjustment.py
+++ b/erpnext/assets/doctype/asset_value_adjustment/test_asset_value_adjustment.py
@@ -91,7 +91,7 @@
 			adj_doc.journal_entry,
 		)
 
-		self.assertEqual(gle, expected_gle)
+		self.assertSequenceEqual(gle, expected_gle)
 
 
 def make_asset_value_adjustment(**args):
diff --git a/erpnext/setup/doctype/global_defaults/global_defaults.py b/erpnext/setup/doctype/global_defaults/global_defaults.py
index 984bab4..16e9434 100644
--- a/erpnext/setup/doctype/global_defaults/global_defaults.py
+++ b/erpnext/setup/doctype/global_defaults/global_defaults.py
@@ -30,18 +30,20 @@
 			frappe.db.set_default(key, self.get(keydict[key], ""))
 
 		# update year start date and year end date from fiscal_year
-		year_start_end_date = frappe.db.sql(
-			"""select year_start_date, year_end_date
-			from `tabFiscal Year` where name=%s""",
-			self.current_fiscal_year,
-		)
-		if year_start_end_date:
-			ysd = year_start_end_date[0][0] or ""
-			yed = year_start_end_date[0][1] or ""
+		if self.current_fiscal_year:
+			if fiscal_year := frappe.get_all(
+				"Fiscal Year",
+				filters={"name": self.current_fiscal_year},
+				fields=["year_start_date", "year_end_date"],
+				limit=1,
+				order_by=None,
+			):
+				ysd = fiscal_year[0].year_start_date or ""
+				yed = fiscal_year[0].year_end_date or ""
 
-			if ysd and yed:
-				frappe.db.set_default("year_start_date", ysd.strftime("%Y-%m-%d"))
-				frappe.db.set_default("year_end_date", yed.strftime("%Y-%m-%d"))
+				if ysd and yed:
+					frappe.db.set_default("year_start_date", ysd.strftime("%Y-%m-%d"))
+					frappe.db.set_default("year_end_date", yed.strftime("%Y-%m-%d"))
 
 		# enable default currency
 		if self.default_currency:
@@ -50,7 +52,6 @@
 		self.toggle_rounded_total()
 		self.toggle_in_words()
 
-		# clear cache
 		frappe.clear_cache()
 
 	@frappe.whitelist()