diff --git a/app/controllers/idv/personal_key_controller.rb b/app/controllers/idv/personal_key_controller.rb index 20204bc3218..5e2ca39ee67 100644 --- a/app/controllers/idv/personal_key_controller.rb +++ b/app/controllers/idv/personal_key_controller.rb @@ -14,8 +14,6 @@ def show add_proofing_component finish_idv_session - - @confirm = FeatureManagement.idv_personal_key_confirmation_enabled? ? 'modal' : 'skip' end def update diff --git a/app/javascript/packages/verify-flow/index.ts b/app/javascript/packages/verify-flow/index.ts index dc68b5016c1..38708f4881f 100644 --- a/app/javascript/packages/verify-flow/index.ts +++ b/app/javascript/packages/verify-flow/index.ts @@ -6,9 +6,6 @@ export { default as Cancel } from './cancel'; export { default as VerifyFlow } from './verify-flow'; export { default as VerifyFlowStepIndicator, VerifyFlowPath } from './verify-flow-step-indicator'; -export { default as personalKeyStep } from './steps/personal-key'; -export { default as personalKeyConfirmStep } from './steps/personal-key-confirm'; - export type { FlowContextValue } from './context/flow-context'; export type { SecretValues } from './context/secrets-context'; export type { AddressVerificationMethod } from './context/address-verification-method-context'; diff --git a/app/javascript/packs/verify-personal-key.tsx b/app/javascript/packs/verify-personal-key.tsx deleted file mode 100644 index ede5e5c5af9..00000000000 --- a/app/javascript/packs/verify-personal-key.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { render } from 'react-dom'; -import { FormSteps } from '@18f/identity-form-steps'; -import { personalKeyStep, personalKeyConfirmStep } from '@18f/identity-verify-flow'; - -interface AppRootValues { - personalKey: string; -} - -interface AppRootElement extends HTMLElement { - dataset: DOMStringMap & AppRootValues; -} - -const appRoot = document.getElementById('app-root') as AppRootElement; -const appForm = document.getElementById('app-form') as HTMLFormElement; - -render( - appForm.submit()} - />, - appRoot, -); diff --git a/app/views/shared/_personal_key.html.erb b/app/views/shared/_personal_key.html.erb index 42dcdb62ea0..24e0c08288b 100644 --- a/app/views/shared/_personal_key.html.erb +++ b/app/views/shared/_personal_key.html.erb @@ -45,7 +45,7 @@ t('forms.buttons.continue'), update_path, class: 'display-block usa-button usa-button--big usa-button--wide personal-key-continue margin-top-5', - 'data-toggle': @confirm, + 'data-toggle': FeatureManagement.idv_personal_key_confirmation_enabled? ? 'modal' : 'skip', ) %> <%= render 'shared/personal_key_confirmation_modal', code: code, update_path: update_path %> <%== javascript_packs_tag_once 'personal-key-page-controller' %> diff --git a/app/views/users/personal_keys/show.html.erb b/app/views/users/personal_keys/show.html.erb index cdd1b7db1d8..f443fd7b135 100644 --- a/app/views/users/personal_keys/show.html.erb +++ b/app/views/users/personal_keys/show.html.erb @@ -1,7 +1,3 @@ <% title t('titles.personal_key') %> -<%= form_tag(manage_personal_key_path, method: 'post', id: 'app-form') %> -<%= content_tag(:div, '', id: 'app-root', data: { personal_key: @code }) do %> - <%= render 'shared/personal_key', code: @code, update_path: manage_personal_key_path %> -<% end %> -<%= javascript_packs_tag_once('verify-personal-key') %> +<%= render('shared/personal_key', code: @code, update_path: manage_personal_key_path) %> diff --git a/spec/views/shared/_personal_key.html.erb_spec.rb b/spec/views/shared/_personal_key.html.erb_spec.rb index bff0e986e8e..594c9060d64 100644 --- a/spec/views/shared/_personal_key.html.erb_spec.rb +++ b/spec/views/shared/_personal_key.html.erb_spec.rb @@ -4,6 +4,8 @@ RSpec.describe 'shared/_personal_key.html.erb' do let(:personal_key) { RandomPhrase.new(num_words: 4).to_s } + subject(:rendered) { render 'shared/personal_key', code: personal_key, update_path: '/test' } + describe 'download link' do around do |ex| # data_uri depends on URI.decode which was removed in Ruby 3.0 :sob: @@ -19,8 +21,6 @@ def self.decode(value) end it 'has the download attribute and a data: url for the personal key' do - render 'shared/personal_key', code: personal_key, update_path: '/test' - doc = Nokogiri::HTML(rendered) download_link = doc.at_css('a[download]') data_uri = URI::Data.new(download_link[:href]) @@ -29,4 +29,29 @@ def self.decode(value) expect(data_uri.data).to eq(personal_key) end end + + describe 'continue button' do + let(:idv_personal_key_confirmation_enabled) { nil } + + before do + allow(FeatureManagement).to receive(:idv_personal_key_confirmation_enabled?). + and_return(idv_personal_key_confirmation_enabled) + end + + context 'without idv personal key confirmation' do + let(:idv_personal_key_confirmation_enabled) { false } + + it 'renders button with [data-toggle="skip"]' do + expect(rendered).to have_css('[data-toggle="skip"]') + end + end + + context 'with idv personal key confirmation' do + let(:idv_personal_key_confirmation_enabled) { true } + + it 'renders button with [data-toggle="modal"]' do + expect(rendered).to have_css('[data-toggle="modal"]') + end + end + end end