From 38a6c35afd8aab0daf5da0d2def7bc0d3672792c Mon Sep 17 00:00:00 2001 From: Kenneth Kehl <@kkehl@flexion.us> Date: Thu, 8 Aug 2024 13:11:58 -0700 Subject: [PATCH] add test --- app/main/views/platform_admin.py | 2 +- tests/app/main/views/test_platform_admin.py | 33 +++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/app/main/views/platform_admin.py b/app/main/views/platform_admin.py index e5b6b9760..07d3b46b5 100644 --- a/app/main/views/platform_admin.py +++ b/app/main/views/platform_admin.py @@ -100,7 +100,7 @@ def download_all_users(): csv_data = output.getvalue() # Create a direct download response with the CSV data and appropriate headers - response = Response(csv_data, content_type="text/csv") + response = Response(csv_data, content_type="text/csv; charset=utf-8") response.headers["Content-Disposition"] = "attachment; filename=users.csv" return response diff --git a/tests/app/main/views/test_platform_admin.py b/tests/app/main/views/test_platform_admin.py index e617b27f8..d4b237077 100644 --- a/tests/app/main/views/test_platform_admin.py +++ b/tests/app/main/views/test_platform_admin.py @@ -1254,3 +1254,36 @@ def test_get_daily_sms_provider_volumes_report_calls_api_and_download_data( + "80" + "\r\n" ) + + +def test_get_users_report(client_request, platform_admin_user, mocker): + mocker.patch( + "app.main.views.platform_admin.user_api_client.get_all_users_detailed", + return_value=[ + { + "name": "Johnny Sokko", + "email_address": "j_sokko@unicorn.gov", + "mobile_number": "15555555555", + "service": "Emperor, Guillotine, Service", + } + ], + ) + + client_request.login(platform_admin_user) + response = client_request.get_response( + "main.download_all_users", + _data={}, + _expected_status=200, + ) + + assert response.content_type == "text/csv; charset=utf-8" + assert "attachment" in response.headers["Content-Disposition"] + assert "filename" in response.headers["Content-Disposition"] + assert "users" in response.headers["Content-Disposition"] + + my_response = response.get_data(as_text=True) + + assert "Johnny Sokko" in my_response + assert "Emperor Guillotine Service" in my_response + assert "j_sokko@unicorn.gov" in my_response + assert "15555555555" in my_response