Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions app/views/idv/inherited_proofing/_cancel.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<%#
locals:
* step: Current step, used in analytics logging.
%>
<%= render PageFooterComponent.new do %>
<%= link_to cancel_link_text, idv_inherited_proofing_cancel_path(step: local_assigns[:step]) %>
<% end %>
2 changes: 2 additions & 0 deletions app/views/idv/inherited_proofing/agreement.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,5 @@
) %>
<%= f.submit t('inherited_proofing.buttons.continue'), class: 'margin-top-4' %>
<% end %>

<%= render 'idv/inherited_proofing/cancel', step: 'agreement' %>
2 changes: 2 additions & 0 deletions app/views/idv/inherited_proofing/get_started.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,6 @@
),
) %>
</p>

<%= render 'shared/cancel', link: idv_inherited_proofing_cancel_path(step: 'get_started') %>
<% end %>
3 changes: 2 additions & 1 deletion app/views/idv/inherited_proofing/verify_info.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<%= f.submit t('inherited_proofing.buttons.continue') %>
<% end %>


<%= render(
'shared/troubleshooting_options',
heading_tag: :h3,
Expand All @@ -20,3 +19,5 @@
},
].select(&:present?),
) %>

<%= render 'idv/inherited_proofing/cancel', step: 'verify_info' %>
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<p><%= t('inherited_proofing.cancel.description.start_over') %></p>

<div class="margin-top-4">
NOTE: Render "Start Over" button here, but first have to create an IP-specific SessionController.
<%# NOTE: Render "Start Over" button here, but first have to create an IP-specific SessionController. %>
<%#= render ButtonComponent.new(
action: ->(**tag_options, &block) do
button_to(idv_session_path(step: @flow_step), **tag_options, &block)
Expand Down
14 changes: 14 additions & 0 deletions spec/features/idv/inherited_proofing/agreement_step_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,13 @@ def expect_inherited_proofing_first_step

expect_ip_verify_info_step
end

context 'when clicking on the Cancel link' do
it 'redirects to the Cancellation UI' do
click_link t('links.cancel')
expect(page).to have_current_path(idv_inherited_proofing_cancel_path(step: :agreement))
end
end
end

context 'when JS is disabled' do
Expand All @@ -63,5 +70,12 @@ def expect_inherited_proofing_first_step

expect_ip_verify_info_step
end

context 'when clicking on the Cancel link' do
it 'redirects to the Cancellation UI' do
click_link t('links.cancel')
expect(page).to have_current_path(idv_inherited_proofing_cancel_path(step: :agreement))
end
end
end
end
52 changes: 52 additions & 0 deletions spec/features/idv/inherited_proofing/get_started_step_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
require 'rails_helper'

feature 'inherited proofing get started' do
include IdvHelper
include DocAuthHelper

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 }

def expect_ip_get_started_step
expect(page).to have_current_path(idv_ip_get_started_step)
end

def expect_inherited_proofing_get_started_step
expect(page).to have_current_path(idv_ip_get_started_step)
end

context 'when JS is enabled', :js do
before do
sign_in_and_2fa_user
complete_inherited_proofing_steps_before_get_started_step
end

context 'when clicking on the Cancel link' do
it 'redirects to the Cancellation UI' do
click_link t('links.cancel')
expect(page).to have_current_path(idv_inherited_proofing_cancel_path(step: :get_started))
end
end
end

context 'when JS is disabled' do
before do
sign_in_and_2fa_user
complete_inherited_proofing_steps_before_get_started_step
end

context 'when clicking on the Cancel link' do
it 'redirects to the Cancellation UI' do
click_link t('links.cancel')
expect(page).to have_current_path(idv_inherited_proofing_cancel_path(step: :get_started))
end
end
end
end
12 changes: 10 additions & 2 deletions spec/views/idv/inherited_proofing/agreement.html.erb_spec.rb
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
require 'rails_helper'

describe 'idv/inherited_proofing/agreement.html.erb' do
include Devise::Test::ControllerHelpers

let(:flow_session) { {} }
let(:sp_name) { nil }
let(:locale) { nil }
let(:sp_name) { 'test' }

before do
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/')
allow(view).to receive(:user_signing_up?).and_return(true)
end

it 'renders the Continue button' do
Expand All @@ -17,6 +19,12 @@
expect(rendered).to have_button(t('inherited_proofing.buttons.continue'))
end

it 'renders the Cancel link' do
render template: 'idv/inherited_proofing/agreement'

expect(rendered).to have_link(t('links.cancel_account_creation'))
end

context 'with or without service provider' do
it 'renders content' do
render template: 'idv/inherited_proofing/agreement'
Expand Down
47 changes: 24 additions & 23 deletions spec/views/idv/inherited_proofing/get_started.html.erb_spec.rb
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
require 'rails_helper'

describe 'idv/inherited_proofing/get_started.html.erb' do
include Devise::Test::ControllerHelpers

let(:flow_session) { {} }
let(:sp_name) { nil }
let(:locale) { nil }
let(:sp_name) { 'test' }

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/')
allow(view).to receive(:user_fully_authenticated?).and_return(true)
allow(view).to receive(:user_signing_up?).and_return(true)
end

it 'renders the Continue button' do
Expand All @@ -19,30 +22,28 @@
expect(rendered).to have_button(t('inherited_proofing.buttons.continue'))
end

describe 'I18n' do
before do
view.locale = locale
it 'renders the Cancel link' do
render template: 'idv/inherited_proofing/get_started'

expect(rendered).to have_link(t('links.cancel_account_creation'))
end

context 'with or without service provider' do
it 'renders troubleshooting options' do
render template: 'idv/inherited_proofing/get_started'
end

context 'with or without service provider' do
it 'renders troubleshooting options' do
render template: 'idv/inherited_proofing/get_started'

expect(rendered).to have_link(t('inherited_proofing.troubleshooting.options.get_va_help'))
expect(rendered).to have_link(
t('inherited_proofing.troubleshooting.options.learn_more_phone_or_mail'),
)
expect(rendered).not_to have_link(nil, href: idv_inherited_proofing_return_to_sp_path)
expect(rendered).to have_link(t('inherited_proofing.troubleshooting.options.get_va_help'))
expect(rendered).to have_link(
t('inherited_proofing.troubleshooting.options.learn_more_phone_or_mail'),
)
expect(rendered).to have_link(
t('idv.troubleshooting.options.get_help_at_sp', sp_name: sp_name),
)
end
expect(rendered).to have_link(t('inherited_proofing.troubleshooting.options.get_va_help'))
expect(rendered).to have_link(
t('inherited_proofing.troubleshooting.options.learn_more_phone_or_mail'),
)
expect(rendered).not_to have_link(nil, href: idv_inherited_proofing_return_to_sp_path)
expect(rendered).to have_link(t('inherited_proofing.troubleshooting.options.get_va_help'))
expect(rendered).to have_link(
t('inherited_proofing.troubleshooting.options.learn_more_phone_or_mail'),
)
expect(rendered).to have_link(
t('idv.troubleshooting.options.get_help_at_sp', sp_name: sp_name),
)
end
end
end