diff --git a/frappe/tests/test_api.py b/frappe/tests/test_api.py index a5c76e2698..8d3065982b 100644 --- a/frappe/tests/test_api.py +++ b/frappe/tests/test_api.py @@ -419,6 +419,19 @@ class TestResponse(FrappeAPITestCase): self.assertIn("text/csv", response.headers["content-type"]) self.assertGreater(cint(response.headers["content-length"]), 0) + from frappe.desk.utils import provide_binary_file + from frappe.utils.response import build_response + + filename = "دفتر الأستاذ العام" + encoded_filename = filename.encode("utf-8").decode("unicode-escape", "ignore") + ".xlsx" + provide_binary_file(filename, "xlsx", "content") + + response = build_response("binary") + self.assertEqual(response.status_code, 200) + self.assertEqual(response.headers["content-type"], "application/octet-stream") + self.assertGreater(cint(response.headers["content-length"]), 0) + self.assertEqual(response.headers["content-disposition"], f'filename="{encoded_filename}"') + def generate_admin_keys(): from frappe.core.doctype.user.user import generate_keys