find_users_by_email view loads a page with search form and is linked to

This commit is contained in:
Pea Tyczynska
2018-07-06 11:10:14 +01:00
parent 464fa94935
commit ea6a5b6e7d
5 changed files with 82 additions and 0 deletions

View File

@@ -26,6 +26,7 @@ from app.main.views import ( # noqa
invites,
feedback,
providers,
find_users,
platform_admin,
letter_jobs,
email_branding,

View File

@@ -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(),
)

View File

@@ -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 %}
<h1 class="heading-large">
Find users by e-mail
</h1>
<form
method="post"
action="{{ url_for('.find_users_by_email') }}"
class="grid-row"
>
<div class="column-three-quarters">
{{ textbox(
form.search,
width='1-1',
label='Find users by e-mail'
) }}
</div>
<div class="column-one-quarter align-button-with-textbox">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
<button type="submit" class="button">Search</button>
</div>
</form>
<form id="search-form" method="post">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
</form>
{% endblock %}

View File

@@ -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'))
] %}
<li>

View File

@@ -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