diff --git a/app/main/__init__.py b/app/main/__init__.py
index 7510e236a..c42d86d65 100644
--- a/app/main/__init__.py
+++ b/app/main/__init__.py
@@ -26,6 +26,7 @@ from app.main.views import ( # noqa
invites,
feedback,
providers,
+ find_users,
platform_admin,
letter_jobs,
email_branding,
diff --git a/app/main/views/find_users.py b/app/main/views/find_users.py
new file mode 100644
index 000000000..80135d9b0
--- /dev/null
+++ b/app/main/views/find_users.py
@@ -0,0 +1,16 @@
+from flask import abort, render_template, request, url_for
+from flask_login import login_required
+
+from app.main import main
+from app.utils import user_is_platform_admin
+from app.main.forms import SearchUsersForm
+
+
+@main.route("/find-users-by-email", methods=['GET'])
+@login_required
+@user_is_platform_admin
+def find_users_by_email():
+ return render_template(
+ 'views/find-users/find-users-by-email.html',
+ form=SearchUsersForm(),
+ )
diff --git a/app/templates/views/find-users/find-users-by-email.html b/app/templates/views/find-users/find-users-by-email.html
new file mode 100644
index 000000000..650b5cdde
--- /dev/null
+++ b/app/templates/views/find-users/find-users-by-email.html
@@ -0,0 +1,40 @@
+{% extends "views/platform-admin/_base_template.html" %}
+{% from "components/page-footer.html" import page_footer %}
+
+{% block per_page_title %}
+ Find users by e-mail
+{% endblock %}
+
+{% block org_page_title %}
+ Find users by e-mail
+{% endblock %}
+
+{% block platform_admin_content %}
+
+
+ Find users by e-mail
+
+
+
+
+
+
+{% endblock %}
diff --git a/app/templates/views/platform-admin/_base_template.html b/app/templates/views/platform-admin/_base_template.html
index 4434534f0..7ea7ce43c 100644
--- a/app/templates/views/platform-admin/_base_template.html
+++ b/app/templates/views/platform-admin/_base_template.html
@@ -20,6 +20,7 @@
('Email branding', url_for('main.email_branding')),
('Letter jobs', url_for('main.letter_jobs')),
('Inbound SMS numbers', url_for('main.inbound_sms_admin')),
+ ('Find users by email', url_for('main.find_users_by_email')),
('Email Complaints', url_for('main.platform_admin_list_complaints'))
] %}
diff --git a/tests/app/main/views/test_find_users.py b/tests/app/main/views/test_find_users.py
new file mode 100644
index 000000000..0f061a53e
--- /dev/null
+++ b/tests/app/main/views/test_find_users.py
@@ -0,0 +1,24 @@
+import pytest
+from flask import url_for
+from lxml import html
+from app.main.views.find_users import find_users_by_email
+
+from tests.conftest import mock_get_user
+
+def test_find_users_by_email_page_loads_correctly(
+ client,
+ platform_admin_user,
+ mocker
+):
+ mock_get_user(mocker, user=platform_admin_user)
+ client.login(platform_admin_user)
+
+ client.login(platform_admin_user)
+ response = client.get(url_for('main.find_users_by_email'))
+
+ assert response.status_code == 200
+
+ document = html.fromstring(response.get_data(as_text=True))
+ header = document.xpath('//h1')[0].text
+ assert "Find users by e-mail" in header
+ assert len(document.xpath("//input[@type='search']")) > 0