Browse Source

Add missing tests for confirmations controller (#7866)

pull/4/head
Shuhei Kitagawa 5 years ago
committed by Yamagishi Kazutoshi
parent
commit
459394a020
1 changed files with 43 additions and 0 deletions
  1. +43
    -0
      spec/controllers/auth/confirmations_controller_spec.rb

+ 43
- 0
spec/controllers/auth/confirmations_controller_spec.rb View File

@ -3,6 +3,8 @@
require 'rails_helper'
describe Auth::ConfirmationsController, type: :controller do
render_views
describe 'GET #new' do
it 'returns http success' do
@request.env['devise.mapping'] = Devise.mappings[:user]
@ -48,4 +50,45 @@ describe Auth::ConfirmationsController, type: :controller do
end
end
end
describe 'GET #finish_signup' do
subject { get :finish_signup }
let(:user) { Fabricate(:user) }
before do
sign_in user, scope: :user
@request.env['devise.mapping'] = Devise.mappings[:user]
end
it 'renders finish_signup' do
is_expected.to render_template :finish_signup
expect(assigns(:user)).to have_attributes id: user.id
end
end
describe 'PATCH #finish_signup' do
subject { patch :finish_signup, params: { user: { email: email }} }
let(:user) { Fabricate(:user) }
before do
sign_in user, scope: :user
@request.env['devise.mapping'] = Devise.mappings[:user]
end
context 'when email is valid' do
let(:email) { 'new_' + user.email }
it 'redirects to root_path' do
is_expected.to redirect_to root_path
end
end
context 'when email is invalid' do
let(:email) { '' }
it 'renders finish_signup' do
is_expected.to render_template :finish_signup
end
end
end
end

Loading…
Cancel
Save