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(