Split list of user’s services into live and trial

This gives us as platform admin users a bit more context when we’re
looking at a user’s profile.
This commit is contained in:
Chris Hill-Scott
2019-06-12 09:50:11 +01:00
parent 451fadb1b3
commit 14a3420fbe
2 changed files with 38 additions and 14 deletions

View File

@@ -13,15 +13,37 @@
</h1>
<p>{{ user.email_address }}</p>
<p>{{ user.mobile_number }}</p>
<h2 class="heading-medium">Services</h2>
<h2 class="heading-medium">Live services</h2>
<nav class="browse-list">
<ul>
{% for service in user.services %}
<li class="browse-list-item">
<a class="browse-list-hint" href={{url_for('.service_dashboard', service_id=service.id)}}>{{ service.name }}</a>
</li>
{% endfor %}
</ul>
{% if user.live_services %}
<ul>
{% for service in user.live_services %}
<li class="browse-list-item">
<a class="browse-list-hint" href={{url_for('.service_dashboard', service_id=service.id)}}>{{ service.name }}</a>
</li>
{% endfor %}
</ul>
{% else %}
<p class="hint">
No live services
</p>
{% endif %}
</nav>
<h2 class="heading-medium">Trial mode services</h2>
<nav class="browse-list">
{% if user.trial_mode_services %}
<ul>
{% for service in user.trial_mode_services %}
<li class="browse-list-item">
<a class="browse-list-hint" href={{url_for('.service_dashboard', service_id=service.id)}}>{{ service.name }}</a>
</li>
{% endfor %}
</ul>
{% else %}
<p class="hint">
No services in trial mode
</p>
{% endif %}
</nav>
<h2 class="heading-medium">Last login</h2>
{% if not user.logged_in_at %}

View File

@@ -101,8 +101,8 @@ def test_user_information_page_shows_information_about_user(
mocker.patch(
'app.user_api_client.get_organisations_and_services_for_user',
return_value={'organisations': [], 'services_without_organisations': [
{"id": 1, "name": "Fresh Orchard Juice"},
{"id": 2, "name": "Nature Therapy"},
{"id": 1, "name": "Fresh Orchard Juice", "restricted": True},
{"id": 2, "name": "Nature Therapy", "restricted": False},
]},
autospec=True
)
@@ -116,10 +116,12 @@ def test_user_information_page_shows_information_about_user(
assert document.xpath("//p/text()[normalize-space()='test@gov.uk']")
assert document.xpath("//p/text()[normalize-space()='+447700900986']")
assert document.xpath("//h2/text()[normalize-space()='Services']")
assert document.xpath("//a/text()[normalize-space()='Fresh Orchard Juice']")
assert document.xpath("//h2/text()[normalize-space()='Live services']")
assert document.xpath("//a/text()[normalize-space()='Nature Therapy']")
assert document.xpath("//h2/text()[normalize-space()='Trial mode services']")
assert document.xpath("//a/text()[normalize-space()='Fresh Orchard Juice']")
assert document.xpath("//h2/text()[normalize-space()='Last login']")
assert not document.xpath("//p/text()[normalize-space()='0 failed login attempts']")
@@ -137,8 +139,8 @@ def test_user_information_page_displays_if_there_are_failed_login_attempts(
mocker.patch(
'app.user_api_client.get_organisations_and_services_for_user',
return_value={'organisations': [], 'services_without_organisations': [
{"id": 1, "name": "Fresh Orchard Juice"},
{"id": 2, "name": "Nature Therapy"},
{"id": 1, "name": "Fresh Orchard Juice", "restricted": True},
{"id": 2, "name": "Nature Therapy", "restricted": True},
]},
autospec=True
)