Sha256: 2077db882750d157f65370aa0cd807a093617d3a09adf7e15dfc4f790fa42092
Contents?: true
Size: 1.12 KB
Versions: 22
Compression:
Stored size: 1.12 KB
Contents
# frozen_string_literal: true describe Spotlight::ConfirmationsController, type: :controller do routes { Spotlight::Engine.routes } before do # rubocop:disable RSpec/InstanceVariable @request.env['devise.mapping'] = Devise.mappings[:contact_email] # rubocop:enable RSpec/InstanceVariable end describe 'GET new' do it 'exists' do get :new expect(response).to be_successful end end describe 'GET show' do let(:exhibit) { FactoryBot.create(:exhibit) } let(:contact_email) { FactoryBot.create(:contact_email, email: 'justin@example.com', exhibit: exhibit) } let(:raw_token) { contact_email.instance_variable_get(:@raw_confirmation_token) } describe 'when the token is invalid' do it 'gives reset instructions' do get :show expect(response).to be_successful end end describe 'when the token is valid' do it 'updates the user' do get :show, params: { confirmation_token: raw_token } expect(contact_email.reload).to be_confirmed expect(response).to redirect_to main_app.new_user_session_path end end end end
Version data entries
22 entries across 22 versions & 1 rubygems