diff --git a/app/views/devise/passwords/new.html.slim b/app/views/devise/passwords/new.html.slim
index 345c3eab860..52b74d9aaee 100644
--- a/app/views/devise/passwords/new.html.slim
+++ b/app/views/devise/passwords/new.html.slim
@@ -10,4 +10,6 @@ p.mt-tiny.mb0#email-description
= f.input :email, required: true, input_html: { 'aria-describedby': 'email-description' }
= f.button :submit, t('forms.buttons.continue'), class: 'mt2'
-= render 'shared/cancel', link: new_user_session_path
+.mt2.pt1.border-top
+ = link_to t('links.cancel'), decorated_session.cancel_link_path, class: 'h5'
+
diff --git a/spec/views/devise/passwords/new.html.slim_spec.rb b/spec/views/devise/passwords/new.html.slim_spec.rb
index 2cf85198c02..ad5d316f3f5 100644
--- a/spec/views/devise/passwords/new.html.slim_spec.rb
+++ b/spec/views/devise/passwords/new.html.slim_spec.rb
@@ -1,12 +1,18 @@
require 'rails_helper'
describe 'devise/passwords/new.html.slim' do
- let(:user) { build_stubbed(:user) }
-
before do
@password_reset_email_form = PasswordResetEmailForm.new('')
-
- allow(view).to receive(:current_user).and_return(user)
+ sp = build_stubbed(
+ :service_provider,
+ friendly_name: 'Awesome Application!',
+ return_to_sp_url: 'www.awesomeness.com'
+ )
+ view_context = ActionController::Base.new.view_context
+ @decorated_session = DecoratedSession.new(
+ sp: sp, view_context: view_context, sp_session: {}
+ ).call
+ allow(view).to receive(:decorated_session).and_return(@decorated_session)
end
it 'has a localized title' do
@@ -26,4 +32,10 @@
expect(rendered).to have_xpath("//form[@autocomplete='off']")
end
+
+ it 'has a cancel link that points to the decorated_session cancel_link_path' do
+ render
+
+ expect(rendered).to have_link(t('links.cancel'), href: @decorated_session.cancel_link_path)
+ end
end