diff --git a/app/templates/views/user-profile.html b/app/templates/views/user-profile.html
index 25f60cf2f..4044a707c 100644
--- a/app/templates/views/user-profile.html
+++ b/app/templates/views/user-profile.html
@@ -48,7 +48,10 @@
{% if current_user.platform_admin %}
{% call row(id='security-keys') %}
{{ text_field('Security keys') }}
- {{ text_field(current_user.webauthn_credentials|length) }}
+ {{ optional_text_field(
+ ('{} registered'.format(current_user.webauthn_credentials|length)) if current_user.webauthn_credentials else None,
+ default='None registered'
+ ) }}
{{ edit_field('Change', url_for('.user_profile_security_keys')) }}
{% endcall %}
{% endif %}
diff --git a/tests/app/main/views/test_user_profile.py b/tests/app/main/views/test_user_profile.py
index 277a70ef9..e2cac7438 100644
--- a/tests/app/main/views/test_user_profile.py
+++ b/tests/app/main/views/test_user_profile.py
@@ -37,20 +37,25 @@ def test_overview_page_shows_disable_for_platform_admin(
assert ' '.join(disable_platform_admin_row.text.split()) == 'Use platform admin view Yes Change'
-@pytest.mark.parametrize('has_keys', [False, True])
+@pytest.mark.parametrize('key_count, expected_row_text', [
+ (0, 'Security keys None registered Change'),
+ (1, 'Security keys 1 registered Change'),
+ (2, 'Security keys 2 registered Change'),
+])
def test_overview_page_shows_security_keys_for_platform_admin(
mocker,
client_request,
platform_admin_user,
- has_keys,
webauthn_credential,
+ key_count,
+ expected_row_text,
):
client_request.login(platform_admin_user)
- credentials = [webauthn_credential] if has_keys else []
+ credentials = [webauthn_credential for _ in range(key_count)]
mocker.patch('app.user_api_client.get_webauthn_credentials_for_user', return_value=credentials)
page = client_request.get('main.user_profile')
security_keys_row = page.select_one('#security-keys')
- assert ' '.join(security_keys_row.text.split()) == f'Security keys {len(credentials)} Change'
+ assert ' '.join(security_keys_row.text.split()) == expected_row_text
def test_should_show_name_page(