From 3011c8f059fd1de0099653d309af14d936de74fe Mon Sep 17 00:00:00 2001 From: Mitchell Henke Date: Mon, 25 Oct 2021 12:37:14 -0500 Subject: [PATCH 1/7] simple version of continuing to SP after recovering with personal key --- app/controllers/accounts/connected_accounts_controller.rb | 2 ++ app/controllers/accounts/history_controller.rb | 2 ++ .../accounts/two_factor_authentication_controller.rb | 2 ++ app/controllers/accounts_controller.rb | 2 ++ app/controllers/events_controller.rb | 2 ++ app/view_models/account_show.rb | 8 ++++++-- app/views/accounts/_personal_key.html.erb | 6 ++++++ 7 files changed, 22 insertions(+), 2 deletions(-) diff --git a/app/controllers/accounts/connected_accounts_controller.rb b/app/controllers/accounts/connected_accounts_controller.rb index 6c2a5db033f..4a60e70ccbd 100644 --- a/app/controllers/accounts/connected_accounts_controller.rb +++ b/app/controllers/accounts/connected_accounts_controller.rb @@ -9,6 +9,8 @@ def show @view_model = AccountShow.new( decrypted_pii: nil, personal_key: flash[:personal_key], + sp_session_request_url: sp_session_request_url_without_prompt_login, + sp_name: decorated_session.sp_name, decorated_user: current_user.decorate, locked_for_session: pii_locked_for_session?(current_user), ) diff --git a/app/controllers/accounts/history_controller.rb b/app/controllers/accounts/history_controller.rb index ff60ea139bf..5919aadb0d1 100644 --- a/app/controllers/accounts/history_controller.rb +++ b/app/controllers/accounts/history_controller.rb @@ -9,6 +9,8 @@ def show @view_model = AccountShow.new( decrypted_pii: nil, personal_key: flash[:personal_key], + sp_session_request_url: sp_session_request_url_without_prompt_login, + sp_name: decorated_session.sp_name, decorated_user: current_user.decorate, locked_for_session: pii_locked_for_session?(current_user), ) diff --git a/app/controllers/accounts/two_factor_authentication_controller.rb b/app/controllers/accounts/two_factor_authentication_controller.rb index ba93183a373..94119e693ef 100644 --- a/app/controllers/accounts/two_factor_authentication_controller.rb +++ b/app/controllers/accounts/two_factor_authentication_controller.rb @@ -10,6 +10,8 @@ def show @view_model = AccountShow.new( decrypted_pii: nil, personal_key: flash[:personal_key], + sp_session_request_url: sp_session_request_url_without_prompt_login, + sp_name: decorated_session.sp_name, decorated_user: current_user.decorate, locked_for_session: pii_locked_for_session?(current_user), ) diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index e327e8dbf43..7d5394d58c3 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -11,6 +11,8 @@ def show @view_model = AccountShow.new( decrypted_pii: cacher.fetch, personal_key: flash[:personal_key], + sp_session_request_url: sp_session_request_url_without_prompt_login, + sp_name: decorated_session.sp_name, decorated_user: current_user.decorate, locked_for_session: pii_locked_for_session?(current_user), ) diff --git a/app/controllers/events_controller.rb b/app/controllers/events_controller.rb index c7b6e6f885f..8686b1e62ec 100644 --- a/app/controllers/events_controller.rb +++ b/app/controllers/events_controller.rb @@ -10,6 +10,8 @@ def show @view_model = AccountShow.new( decrypted_pii: nil, personal_key: nil, + sp_session_request_url: sp_session_request_url_without_prompt_login, + sp_name: decorated_session.sp_name, decorated_user: current_user.decorate, locked_for_session: pii_locked_for_session?(current_user), ) diff --git a/app/view_models/account_show.rb b/app/view_models/account_show.rb index da0bfdd61bf..376e82dfdcb 100644 --- a/app/view_models/account_show.rb +++ b/app/view_models/account_show.rb @@ -1,10 +1,14 @@ class AccountShow - attr_reader :decorated_user, :decrypted_pii, :personal_key, :locked_for_session, :pii + attr_reader :decorated_user, :decrypted_pii, :personal_key, :locked_for_session, :pii, + :sp_session_request_url, :sp_name - def initialize(decrypted_pii:, personal_key:, decorated_user:, locked_for_session:) + def initialize(decrypted_pii:, personal_key:, sp_session_request_url:, sp_name:, decorated_user:, + locked_for_session:) @decrypted_pii = decrypted_pii @personal_key = personal_key @decorated_user = decorated_user + @sp_name = sp_name + @sp_session_request_url = sp_session_request_url @locked_for_session = locked_for_session @pii = determine_pii end diff --git a/app/views/accounts/_personal_key.html.erb b/app/views/accounts/_personal_key.html.erb index a757ac96739..0c5bbe8e131 100644 --- a/app/views/accounts/_personal_key.html.erb +++ b/app/views/accounts/_personal_key.html.erb @@ -9,4 +9,10 @@
<%= view_model.personal_key %>
+ +

+ <% if view_model.sp_session_request_url %> + <%= link_to("Continue to #{view_model.sp_name}", view_model.sp_session_request_url) %> + <% end %> +

<% end %> From f091669915154b0e918a966d8c48aaf05e8e9c89 Mon Sep 17 00:00:00 2001 From: Mitchell Henke Date: Mon, 25 Oct 2021 14:55:02 -0500 Subject: [PATCH 2/7] Update app/views/accounts/_personal_key.html.erb Co-authored-by: Zach Margolis --- app/views/accounts/_personal_key.html.erb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/views/accounts/_personal_key.html.erb b/app/views/accounts/_personal_key.html.erb index 0c5bbe8e131..d07b160ab41 100644 --- a/app/views/accounts/_personal_key.html.erb +++ b/app/views/accounts/_personal_key.html.erb @@ -10,9 +10,10 @@ <%= view_model.personal_key %> -

- <% if view_model.sp_session_request_url %> + <% if view_model.sp_session_request_url %> +

+ <%# TODO: translate %> <%= link_to("Continue to #{view_model.sp_name}", view_model.sp_session_request_url) %> - <% end %> -

+

+ <% end %> <% end %> From c60f779841ffd5b8da54b808e3d0630855c03f27 Mon Sep 17 00:00:00 2001 From: Mitchell Henke Date: Mon, 25 Oct 2021 15:47:37 -0500 Subject: [PATCH 3/7] fix specs --- spec/controllers/accounts_controller_spec.rb | 4 ++++ spec/view_models/account_show_spec.rb | 10 ++++++++++ .../accounts/connected_accounts/show.html.erb_spec.rb | 1 + spec/views/accounts/history/show.html.erb_spec.rb | 1 + spec/views/accounts/show.html.erb_spec.rb | 1 + .../two_factor_authentication/show.html.erb_spec.rb | 2 ++ 6 files changed, 19 insertions(+) diff --git a/spec/controllers/accounts_controller_spec.rb b/spec/controllers/accounts_controller_spec.rb index aba60a92fd3..da9c64691a7 100644 --- a/spec/controllers/accounts_controller_spec.rb +++ b/spec/controllers/accounts_controller_spec.rb @@ -44,6 +44,8 @@ view_model = AccountShow.new( decrypted_pii: nil, personal_key: nil, + sp_session_request_url: nil, + sp_name: nil, decorated_user: user.decorate, locked_for_session: false, ) @@ -86,6 +88,8 @@ view_model = AccountShow.new( decrypted_pii: nil, personal_key: nil, + sp_session_request_url: nil, + sp_name: nil, decorated_user: user.decorate, locked_for_session: false, ) diff --git a/spec/view_models/account_show_spec.rb b/spec/view_models/account_show_spec.rb index d940bbbf356..8551ba73c99 100644 --- a/spec/view_models/account_show_spec.rb +++ b/spec/view_models/account_show_spec.rb @@ -14,6 +14,7 @@ ) profile_index = AccountShow.new( decrypted_pii: decrypted_pii, personal_key: '', decorated_user: user.decorate, + sp_session_request_url: nil, sp_name: nil, locked_for_session: false ) @@ -28,6 +29,7 @@ email_address.update!(last_sign_in_at: 1.minute.from_now) profile_index = AccountShow.new( decrypted_pii: {}, personal_key: '', decorated_user: decorated_user, + sp_session_request_url: nil, sp_name: nil, locked_for_session: false ) @@ -46,6 +48,7 @@ profile_index = AccountShow.new( decrypted_pii: {}, personal_key: '', decorated_user: user.decorate, + sp_session_request_url: nil, sp_name: nil, locked_for_session: false ) @@ -61,6 +64,7 @@ ).to receive(:enabled?).and_return(false) profile_index = AccountShow.new( decrypted_pii: {}, personal_key: '', decorated_user: user, + sp_session_request_url: nil, sp_name: nil, locked_for_session: false ) @@ -78,6 +82,8 @@ account_show = AccountShow.new( decrypted_pii: {}, personal_key: '', + sp_session_request_url: nil, + sp_name: nil, decorated_user: user.reload.decorate, locked_for_session: false, ) @@ -95,6 +101,8 @@ account_show = AccountShow.new( decrypted_pii: {}, personal_key: '', + sp_session_request_url: nil, + sp_name: nil, decorated_user: user.reload.decorate, locked_for_session: false, ) @@ -113,6 +121,8 @@ AccountShow.new( decrypted_pii: decrypted_pii, personal_key: '', + sp_session_request_url: nil, + sp_name: nil, decorated_user: user.decorate, locked_for_session: false, ) diff --git a/spec/views/accounts/connected_accounts/show.html.erb_spec.rb b/spec/views/accounts/connected_accounts/show.html.erb_spec.rb index 601117eceb9..123de533c63 100644 --- a/spec/views/accounts/connected_accounts/show.html.erb_spec.rb +++ b/spec/views/accounts/connected_accounts/show.html.erb_spec.rb @@ -10,6 +10,7 @@ :view_model, AccountShow.new( decrypted_pii: nil, personal_key: nil, decorated_user: decorated_user, + sp_session_request_url: nil, sp_name: nil, locked_for_session: false ), ) diff --git a/spec/views/accounts/history/show.html.erb_spec.rb b/spec/views/accounts/history/show.html.erb_spec.rb index a0ae03f63b8..b537e95feee 100644 --- a/spec/views/accounts/history/show.html.erb_spec.rb +++ b/spec/views/accounts/history/show.html.erb_spec.rb @@ -11,6 +11,7 @@ :view_model, AccountShow.new( decrypted_pii: nil, personal_key: nil, decorated_user: decorated_user, + sp_session_request_url: nil, sp_name: nil, locked_for_session: false ), ) diff --git a/spec/views/accounts/show.html.erb_spec.rb b/spec/views/accounts/show.html.erb_spec.rb index 4010a697d83..139f650ff0e 100644 --- a/spec/views/accounts/show.html.erb_spec.rb +++ b/spec/views/accounts/show.html.erb_spec.rb @@ -11,6 +11,7 @@ :view_model, AccountShow.new( decrypted_pii: nil, personal_key: nil, decorated_user: decorated_user, + sp_session_request_url: nil, sp_name: nil, locked_for_session: false ), ) diff --git a/spec/views/accounts/two_factor_authentication/show.html.erb_spec.rb b/spec/views/accounts/two_factor_authentication/show.html.erb_spec.rb index 58b129bf98c..bc2073e4d39 100644 --- a/spec/views/accounts/two_factor_authentication/show.html.erb_spec.rb +++ b/spec/views/accounts/two_factor_authentication/show.html.erb_spec.rb @@ -11,6 +11,7 @@ :view_model, AccountShow.new( decrypted_pii: nil, personal_key: nil, decorated_user: decorated_user, + sp_session_request_url: nil, sp_name: nil, locked_for_session: false ), ) @@ -33,6 +34,7 @@ :view_model, AccountShow.new( decrypted_pii: nil, personal_key: nil, decorated_user: decorated_user, + sp_session_request_url: nil, sp_name: nil, locked_for_session: false ), ) From e05343dab7f4fd02a4d09709236c16e750a389cf Mon Sep 17 00:00:00 2001 From: Mitchell Henke Date: Mon, 25 Oct 2021 16:03:21 -0500 Subject: [PATCH 4/7] fix erblint --- .erb-lint.yml | 1 - app/views/accounts/_personal_key.html.erb | 6 +----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/.erb-lint.yml b/.erb-lint.yml index efe20705430..c3b8984df1f 100644 --- a/.erb-lint.yml +++ b/.erb-lint.yml @@ -14,7 +14,6 @@ linters: - '*/app/views/accounts/_password_reset.html.erb' - '*/app/views/accounts/_pending_profile_bounced_gpo.html.erb' - '*/app/views/accounts/_pending_profile_gpo.html.erb' - - '*/app/views/accounts/_personal_key.html.erb' - '*/app/views/accounts/_phone.html.erb' - '*/app/views/accounts/_piv_cac.html.erb' - '*/app/views/accounts/_webauthn.html.erb' diff --git a/app/views/accounts/_personal_key.html.erb b/app/views/accounts/_personal_key.html.erb index d07b160ab41..5ddb400bff4 100644 --- a/app/views/accounts/_personal_key.html.erb +++ b/app/views/accounts/_personal_key.html.erb @@ -1,8 +1,4 @@ -<%= render 'shared/alert', { - type: 'warning', - class: 'margin-bottom-8', - text_tag: 'div', -} do %> +<%= render 'shared/alert', { type: 'warning', class: 'margin-bottom-8', text_tag: 'div' } do %>

<%= t('idv.messages.personal_key') %>

From 1daeb208eda230d34c574c0df3d4383f815d8eab Mon Sep 17 00:00:00 2001 From: Mitchell Henke Date: Mon, 25 Oct 2021 16:22:37 -0500 Subject: [PATCH 5/7] add spec --- spec/views/accounts/show.html.erb_spec.rb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/spec/views/accounts/show.html.erb_spec.rb b/spec/views/accounts/show.html.erb_spec.rb index 139f650ff0e..eb14851fecc 100644 --- a/spec/views/accounts/show.html.erb_spec.rb +++ b/spec/views/accounts/show.html.erb_spec.rb @@ -150,4 +150,26 @@ expect(user.email_addresses.size).to eq(5) end end + + context 'when a profile has just been re-activated with personal key during SP auth' do + let(:sp) { build(:service_provider, return_to_sp_url: 'https://www.example.com/auth') } + before do + assign( + :view_model, + AccountShow.new( + decrypted_pii: nil, personal_key: 'abc123', decorated_user: decorated_user, + sp_session_request_url: sp.return_to_sp_url, sp_name: sp.friendly_name, + locked_for_session: false + ), + ) + end + + it 'renders the link to continue to the SP' do + render + + expect(rendered).to have_link( + "Continue to #{sp.friendly_name}", href: sp.return_to_sp_url + ) + end + end end From 0121655f748e392dd3e40fc93fb311bf173065ab Mon Sep 17 00:00:00 2001 From: Mitchell Henke Date: Tue, 26 Oct 2021 09:33:02 -0500 Subject: [PATCH 6/7] move sp continue into own partial --- .erb-lint.yml | 3 -- app/view_models/account_show.rb | 14 ++++++++ app/views/accounts/_password_reset.html.erb | 6 +--- .../_pending_profile_bounced_gpo.html.erb | 6 +--- .../accounts/_pending_profile_gpo.html.erb | 6 +--- app/views/accounts/_personal_key.html.erb | 9 +---- .../_service_provider_continue.html.erb | 4 +++ app/views/accounts/show.html.erb | 33 ++++++++++++------- 8 files changed, 43 insertions(+), 38 deletions(-) create mode 100644 app/views/accounts/_service_provider_continue.html.erb diff --git a/.erb-lint.yml b/.erb-lint.yml index c3b8984df1f..aae60fce722 100644 --- a/.erb-lint.yml +++ b/.erb-lint.yml @@ -11,9 +11,6 @@ linters: - '*/app/views/accounts/_connected_app.html.erb' - '*/app/views/accounts/_emails.html.erb' - '*/app/views/accounts/_identity_item.html.erb' - - '*/app/views/accounts/_password_reset.html.erb' - - '*/app/views/accounts/_pending_profile_bounced_gpo.html.erb' - - '*/app/views/accounts/_pending_profile_gpo.html.erb' - '*/app/views/accounts/_phone.html.erb' - '*/app/views/accounts/_piv_cac.html.erb' - '*/app/views/accounts/_webauthn.html.erb' diff --git a/app/view_models/account_show.rb b/app/view_models/account_show.rb index 376e82dfdcb..855df2b7414 100644 --- a/app/view_models/account_show.rb +++ b/app/view_models/account_show.rb @@ -34,6 +34,20 @@ def show_manage_personal_key_partial? end end + def show_service_provider_continue_partial? + sp_name.present? && sp_session_request_url.present? + end + + def show_gpo_partial? + decorated_user.pending_profile_requires_verification? + end + + def showing_any_partials? + show_service_provider_continue_partial? || show_manage_personal_key_partial? || + show_pii_partial? || show_password_reset_partial? || show_personal_key_partial? || + show_gpo_partial? + end + def backup_codes_generated_at decorated_user.user.backup_code_configurations.order(created_at: :asc).first&.created_at end diff --git a/app/views/accounts/_password_reset.html.erb b/app/views/accounts/_password_reset.html.erb index 5c248d45449..219ee48c5bf 100644 --- a/app/views/accounts/_password_reset.html.erb +++ b/app/views/accounts/_password_reset.html.erb @@ -1,8 +1,4 @@ -<%= render 'shared/alert', { - type: 'warning', - class: 'margin-bottom-8', - text_tag: 'div', -} do %> +<%= render 'shared/alert', { type: 'warning', text_tag: 'div' } do %>

<%= t('account.index.reactivation.instructions') %>

diff --git a/app/views/accounts/_pending_profile_bounced_gpo.html.erb b/app/views/accounts/_pending_profile_bounced_gpo.html.erb index 2bb4f0f6ce6..6291582f886 100644 --- a/app/views/accounts/_pending_profile_bounced_gpo.html.erb +++ b/app/views/accounts/_pending_profile_bounced_gpo.html.erb @@ -1,8 +1,4 @@ -<%= render 'shared/alert', { - type: 'warning', - class: 'margin-bottom-8', - text_tag: 'div', -} do %> +<%= render 'shared/alert', { type: 'warning', text_tag: 'div' } do %>

<%= t('account.index.verification.bounced') %>

diff --git a/app/views/accounts/_pending_profile_gpo.html.erb b/app/views/accounts/_pending_profile_gpo.html.erb index 38ad9b713ad..413e069eda1 100644 --- a/app/views/accounts/_pending_profile_gpo.html.erb +++ b/app/views/accounts/_pending_profile_gpo.html.erb @@ -1,8 +1,4 @@ -<%= render 'shared/alert', { - type: 'warning', - class: 'margin-bottom-8', - text_tag: 'div', -} do %> +<%= render 'shared/alert', { type: 'warning', text_tag: 'div' } do %>

<%= t('account.index.verification.instructions') %>

diff --git a/app/views/accounts/_personal_key.html.erb b/app/views/accounts/_personal_key.html.erb index 5ddb400bff4..09c6adb4de2 100644 --- a/app/views/accounts/_personal_key.html.erb +++ b/app/views/accounts/_personal_key.html.erb @@ -1,15 +1,8 @@ -<%= render 'shared/alert', { type: 'warning', class: 'margin-bottom-8', text_tag: 'div' } do %> +<%= render 'shared/alert', { type: 'warning', class: 'margin-bottom-2', text_tag: 'div' } do %>

<%= t('idv.messages.personal_key') %>

<%= view_model.personal_key %>
- - <% if view_model.sp_session_request_url %> -

- <%# TODO: translate %> - <%= link_to("Continue to #{view_model.sp_name}", view_model.sp_session_request_url) %> -

- <% end %> <% end %> diff --git a/app/views/accounts/_service_provider_continue.html.erb b/app/views/accounts/_service_provider_continue.html.erb new file mode 100644 index 00000000000..c2020380dfa --- /dev/null +++ b/app/views/accounts/_service_provider_continue.html.erb @@ -0,0 +1,4 @@ +<%= render 'shared/alert', { type: 'info', text_tag: 'div' } do %> + <%# TODO: translate %> + <%= link_to("Continue to #{view_model.sp_name}", view_model.sp_session_request_url) %> +<% end %> diff --git a/app/views/accounts/show.html.erb b/app/views/accounts/show.html.erb index 4c4837219ee..a0e8707b8a9 100644 --- a/app/views/accounts/show.html.erb +++ b/app/views/accounts/show.html.erb @@ -1,18 +1,27 @@ <% title t('titles.account') %> -<% if @view_model.show_personal_key_partial? %> - <%= render 'accounts/personal_key', view_model: @view_model %> -<% end %> -<% if @view_model.show_password_reset_partial? %> - <%= render 'accounts/password_reset', view_model: @view_model %> -<% end %> +<% if @view_model.showing_any_partials? %> +
+ <% if @view_model.show_personal_key_partial? %> + <%= render 'accounts/personal_key', view_model: @view_model %> + <% end %> -<% if @view_model.decorated_user.pending_profile_requires_verification? %> - <% if @view_model.decorated_user.gpo_mail_bounced? %> - <%= render 'accounts/pending_profile_bounced_gpo' %> - <% else %> - <%= render 'accounts/pending_profile_gpo' %> - <% end %> + <% if @view_model.show_password_reset_partial? %> + <%= render 'accounts/password_reset', view_model: @view_model %> + <% end %> + + <% if @view_model.show_gpo_partial? %> + <% if @view_model.decorated_user.gpo_mail_bounced? %> + <%= render 'accounts/pending_profile_bounced_gpo' %> + <% else %> + <%= render 'accounts/pending_profile_gpo' %> + <% end %> + <% end %> + + <% if @view_model.show_service_provider_continue_partial? %> + <%= render 'accounts/service_provider_continue', view_model: @view_model %> + <% end %> +
<% end %> <%= render 'accounts/header', view_model: @view_model %> From e030ef3d3237b907644da560d7a45d02c71cb45c Mon Sep 17 00:00:00 2001 From: Mitchell Henke Date: Wed, 27 Oct 2021 09:08:26 -0500 Subject: [PATCH 7/7] add translations --- app/views/accounts/_service_provider_continue.html.erb | 3 +-- config/locales/account/en.yml | 1 + config/locales/account/es.yml | 1 + config/locales/account/fr.yml | 1 + spec/views/accounts/show.html.erb_spec.rb | 3 ++- 5 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/views/accounts/_service_provider_continue.html.erb b/app/views/accounts/_service_provider_continue.html.erb index c2020380dfa..2b0e9d8f120 100644 --- a/app/views/accounts/_service_provider_continue.html.erb +++ b/app/views/accounts/_service_provider_continue.html.erb @@ -1,4 +1,3 @@ <%= render 'shared/alert', { type: 'info', text_tag: 'div' } do %> - <%# TODO: translate %> - <%= link_to("Continue to #{view_model.sp_name}", view_model.sp_session_request_url) %> + <%= link_to(t('account.index.continue_to_service_provider', service_provider: view_model.sp_name), view_model.sp_session_request_url) %> <% end %> diff --git a/config/locales/account/en.yml b/config/locales/account/en.yml index 3880f507710..e8f9193574a 100644 --- a/config/locales/account/en.yml +++ b/config/locales/account/en.yml @@ -32,6 +32,7 @@ en: backup_code_confirm_regenerate: Yes, regenerate codes backup_codes_exist: Generated backup_codes_no_exist: Not generated + continue_to_service_provider: Continue to %{service_provider} default: default device: '%{browser} on %{os}' dob: Date of birth diff --git a/config/locales/account/es.yml b/config/locales/account/es.yml index 065aa4e4af2..cd8e05f037a 100644 --- a/config/locales/account/es.yml +++ b/config/locales/account/es.yml @@ -33,6 +33,7 @@ es: backup_code_confirm_regenerate: Sí, regenerar códigos. backup_codes_exist: Generado backup_codes_no_exist: No generado + continue_to_service_provider: Continuar con %{service_provider} default: defecto device: '%{browser} en %{os}' dob: Fecha de nacimiento diff --git a/config/locales/account/fr.yml b/config/locales/account/fr.yml index 56e33d63eb0..4692b6634a8 100644 --- a/config/locales/account/fr.yml +++ b/config/locales/account/fr.yml @@ -34,6 +34,7 @@ fr: backup_code_confirm_regenerate: Oui, régénérer les codes backup_codes_exist: Généré backup_codes_no_exist: Non généré + continue_to_service_provider: Continuer à %{service_provider} default: défaut device: '%{browser} sur %{os}' dob: Date de naissance diff --git a/spec/views/accounts/show.html.erb_spec.rb b/spec/views/accounts/show.html.erb_spec.rb index eb14851fecc..d9cb2be9302 100644 --- a/spec/views/accounts/show.html.erb_spec.rb +++ b/spec/views/accounts/show.html.erb_spec.rb @@ -168,7 +168,8 @@ render expect(rendered).to have_link( - "Continue to #{sp.friendly_name}", href: sp.return_to_sp_url + t('account.index.continue_to_service_provider', service_provider: sp.friendly_name), + href: sp.return_to_sp_url, ) end end