diff --git a/app/services/idv/steps/inherited_proofing/verify_info_step.rb b/app/services/idv/steps/inherited_proofing/verify_info_step.rb index 28a2c844989..d10d25eb092 100644 --- a/app/services/idv/steps/inherited_proofing/verify_info_step.rb +++ b/app/services/idv/steps/inherited_proofing/verify_info_step.rb @@ -5,6 +5,17 @@ class VerifyInfoStep < InheritedProofingBaseStep STEP_INDICATOR_STEP = :verify_info def call end + + def extra_view_variables + { + pii: pii, + step_url: method(:idv_inherited_proofing_step_url), + } + end + + def pii + flow_session[:pii_from_user] + end end end end diff --git a/app/views/idv/inherited_proofing/_verify.html.erb b/app/views/idv/inherited_proofing/_verify.html.erb new file mode 100644 index 00000000000..51f1b0e6d52 --- /dev/null +++ b/app/views/idv/inherited_proofing/_verify.html.erb @@ -0,0 +1,65 @@ +<%# +locals: + pii - user's information + remote_identity_proofing - true if we're doing RIDP, false if we're doing IPP + step_url - generator for step URLs +%> +<% title t('inherited_proofing.headings.verify_information') %> + +<%= render PageHeadingComponent.new.with_content(t('titles.idv.verify_info')) %> +
+
+
+
+
<%= t('idv.form.first_name') %>:
+
<%= pii[:first_name].upcase %>
+
+
+
<%= t('idv.form.last_name') %>:
+
<%= pii[:last_name].upcase %>
+
+
+
<%= t('idv.form.dob') %>:
+
<%= pii[:dob] %>
+
+
+
+
+
+
+
<%= t('idv.form.address1') %>:
+
<%= pii[:address1].upcase %>
+
+
+
<%= t('idv.form.city') %>:
+
<%= pii[:city].upcase %>
+
+
+
<%= t('idv.form.state') %>:
+
<%= pii[:state].upcase %>
+
+
+
<%= t('idv.form.zipcode') %>:
+
<%= pii[:zipcode] %>
+
+
+
+
+
+ <%= t('idv.form.ssn') %>: + <%= render( + 'shared/masked_text', + text: SsnFormatter.format(pii[:ssn]), + masked_text: SsnFormatter.format_masked(pii[:ssn]), + accessible_masked_text: t( + 'idv.accessible_labels.masked_ssn', + first_number: pii[:ssn][0], + last_number: pii[:ssn][-1], + ), + toggle_label: t('forms.ssn.show'), + ) %> +
+
+
+ +<% javascript_packs_tag_once 'form-steps-wait' %> diff --git a/app/views/idv/inherited_proofing/verify_info.html.erb b/app/views/idv/inherited_proofing/verify_info.html.erb index 13199e19660..f2a66410449 100644 --- a/app/views/idv/inherited_proofing/verify_info.html.erb +++ b/app/views/idv/inherited_proofing/verify_info.html.erb @@ -1,10 +1,4 @@ -<% title t('inherited_proofing.headings.verify_information') %> - - <%= render PageHeadingComponent.new.with_content(t('inherited_proofing.headings.verify_information')) %> - - Fakey McFakerson
- 123 Main St
- Anytown, DC, 12345 +<%= render 'verify', pii: pii, step_url: step_url, remote_identity_proofing: true %> <%= simple_form_for :inherited_proofing, url: url_for, diff --git a/spec/features/idv/inherited_proofing/verify_info_step_spec.rb b/spec/features/idv/inherited_proofing/verify_info_step_spec.rb new file mode 100644 index 00000000000..e6bd7665b66 --- /dev/null +++ b/spec/features/idv/inherited_proofing/verify_info_step_spec.rb @@ -0,0 +1,57 @@ +require 'rails_helper' + +feature 'inherited proofing verify info' do + include IdvHelper + include DocAuthHelper + include_context 'va_user_context' + + before do + allow(IdentityConfig.store).to receive(:va_inherited_proofing_mock_enabled).and_return true + allow_any_instance_of(Idv::InheritedProofingController).to \ + receive(:va_inherited_proofing?).and_return true + allow_any_instance_of(Idv::InheritedProofingController).to \ + receive(:va_inherited_proofing_auth_code).and_return auth_code + end + + let(:auth_code) { Idv::InheritedProofing::Va::Mocks::Service::VALID_AUTH_CODE } + + before do + sign_in_and_2fa_user + complete_inherited_proofing_steps_before_verify_step + end + + describe 'page content' do + it 'renders the Continue button' do + expect(page).to have_button(t('inherited_proofing.buttons.continue')) + end + + it 'renders content' do + expect(page).to have_content(t('titles.idv.verify_info')) + expect(page).to have_link(t('inherited_proofing.troubleshooting.options.get_va_help')) + end + end + + describe 'user info' do + it "displays the user's personal information" do + expect(page).to have_text user_attributes[:first_name].upcase + expect(page).to have_text user_attributes[:last_name].upcase + expect(page).to have_text user_attributes[:birth_date] + end + + it "displays the user's address" do + expect(page).to have_text user_attributes[:address][:street].upcase + expect(page).to have_text user_attributes[:address][:city].upcase + expect(page).to have_text user_attributes[:address][:state].upcase + expect(page).to have_text user_attributes[:address][:zip] + end + + it "obfuscates the user's ssn" do + expect(page).to have_text '1**-**-***9' + end + + it "can display the user's ssn when selected" do + check 'Show Social Security number' + expect(page).to have_text '123-45-6789' + end + end +end diff --git a/spec/support/features/doc_auth_helper.rb b/spec/support/features/doc_auth_helper.rb index 3ac70410036..104dafaa3ce 100644 --- a/spec/support/features/doc_auth_helper.rb +++ b/spec/support/features/doc_auth_helper.rb @@ -107,6 +107,12 @@ def complete_inherited_proofing_steps_before_agreement_step(expect_accessible: f expect(page).to be_axe_clean.according_to :section508, :"best-practice" if expect_accessible end + def complete_inherited_proofing_steps_before_verify_step(expect_accessible: false) + complete_inherited_proofing_steps_before_agreement_step(expect_accessible: expect_accessible) + complete_agreement_step + expect(page).to be_axe_clean.according_to :section508, :"best-practice" if expect_accessible + end + def complete_doc_auth_steps_before_agreement_step(expect_accessible: false) complete_doc_auth_steps_before_welcome_step(expect_accessible: expect_accessible) complete_welcome_step diff --git a/spec/views/idv/inherited_proofing/verify_info.html.erb_spec.rb b/spec/views/idv/inherited_proofing/verify_info.html.erb_spec.rb deleted file mode 100644 index 2997119ebdf..00000000000 --- a/spec/views/idv/inherited_proofing/verify_info.html.erb_spec.rb +++ /dev/null @@ -1,28 +0,0 @@ -require 'rails_helper' - -describe 'idv/inherited_proofing/verify_info.html.erb' do - let(:flow_session) { {} } - let(:sp_name) { nil } - let(:locale) { nil } - - before do - @decorated_session = instance_double(ServiceProviderSessionDecorator) - allow(@decorated_session).to receive(:sp_name).and_return(sp_name) - allow(view).to receive(:decorated_session).and_return(@decorated_session) - allow(view).to receive(:flow_session).and_return(flow_session) - allow(view).to receive(:url_for).and_return('https://www.example.com/') - end - - it 'renders the Continue button' do - render template: 'idv/inherited_proofing/verify_info' - - expect(rendered).to have_button(t('inherited_proofing.buttons.continue')) - end - - it 'renders content' do - render template: 'idv/inherited_proofing/verify_info' - - expect(rendered).to have_content(t('inherited_proofing.headings.verify_information')) - expect(rendered).to have_link(t('inherited_proofing.troubleshooting.options.get_va_help')) - end -end