@ -12,20 +12,40 @@ describe Auth::ConfirmationsController, type: :controller do
end
end
describe 'GET #show' do
describe 'GET #show' do
let! ( :user ) { Fabricate ( :user , confirmation_token : 'foobar' , confirmed_at : nil ) }
context 'when user is unconfirmed' do
let! ( :user ) { Fabricate ( :user , confirmation_token : 'foobar' , confirmed_at : nil ) }
before do
before do
allow ( BootstrapTimelineWorker ) . to receive ( :perform_async )
allow ( BootstrapTimelineWorker ) . to receive ( :perform_async )
@request . env [ 'devise.mapping' ] = Devise . mappings [ :user ]
@request . env [ 'devise.mapping' ] = Devise . mappings [ :user ]
get :show , params : { confirmation_token : 'foobar' }
get :show , params : { confirmation_token : 'foobar' }
end
end
it 'redirects to login' do
expect ( response ) . to redirect_to ( new_user_session_path )
end
it 'redirects to login' do
it 'queues up bootstrapping of home timeline' do
expect ( response ) . to redirect_to ( new_user_session_path )
expect ( BootstrapTimelineWorker ) . to have_received ( :perform_async ) . with ( user . account_id )
end
end
end
it 'queues up bootstrapping of home timeline' do
context 'when user is updating email' do
expect ( BootstrapTimelineWorker ) . to have_received ( :perform_async ) . with ( user . account_id )
let! ( :user ) { Fabricate ( :user , confirmation_token : 'foobar' , unconfirmed_email : 'new-email@example.com' ) }
before do
allow ( BootstrapTimelineWorker ) . to receive ( :perform_async )
@request . env [ 'devise.mapping' ] = Devise . mappings [ :user ]
get :show , params : { confirmation_token : 'foobar' }
end
it 'redirects to login' do
expect ( response ) . to redirect_to ( new_user_session_path )
end
it 'does not queue up bootstrapping of home timeline' do
expect ( BootstrapTimelineWorker ) . to_not have_received ( :perform_async )
end
end
end
end
end
end
end