fix: flaky salary slip email test (#30358)
diff --git a/erpnext/payroll/doctype/payroll_entry/payroll_entry.py b/erpnext/payroll/doctype/payroll_entry/payroll_entry.py
index 32b0f0f..9061c5f 100644
--- a/erpnext/payroll/doctype/payroll_entry/payroll_entry.py
+++ b/erpnext/payroll/doctype/payroll_entry/payroll_entry.py
@@ -708,6 +708,8 @@
if not_submitted_ss:
frappe.msgprint(_("Could not submit some Salary Slips"))
+ frappe.flags.via_payroll_entry = False
+
@frappe.whitelist()
@frappe.validate_and_sanitize_search_inputs
def get_payroll_entries_for_jv(doctype, txt, searchfield, start, page_len, filters):
diff --git a/erpnext/payroll/doctype/salary_slip/test_salary_slip.py b/erpnext/payroll/doctype/salary_slip/test_salary_slip.py
index 5e41b66..f072135 100644
--- a/erpnext/payroll/doctype/salary_slip/test_salary_slip.py
+++ b/erpnext/payroll/doctype/salary_slip/test_salary_slip.py
@@ -38,6 +38,8 @@
class TestSalarySlip(unittest.TestCase):
def setUp(self):
setup_test()
+ frappe.flags.pop("via_payroll_entry", None)
+
def tearDown(self):
frappe.db.rollback()
@@ -409,15 +411,17 @@
"email_salary_slip_to_employee": 1
})
def test_email_salary_slip(self):
- frappe.db.sql("delete from `tabEmail Queue`")
+ frappe.db.delete("Email Queue")
- make_employee("test_email_salary_slip@salary.com", company="_Test Company")
- ss = make_employee_salary_slip("test_email_salary_slip@salary.com", "Monthly", "Test Salary Slip Email")
+ user_id = "test_email_salary_slip@salary.com"
+
+ make_employee(user_id, company="_Test Company")
+ ss = make_employee_salary_slip(user_id, "Monthly", "Test Salary Slip Email")
ss.company = "_Test Company"
ss.save()
ss.submit()
- email_queue = frappe.db.sql("""select name from `tabEmail Queue`""")
+ email_queue = frappe.db.a_row_exists("Email Queue")
self.assertTrue(email_queue)
def test_loan_repayment_salary_slip(self):