require 'spec_helper'

describe ConfirmationsController do
  let(:user) { create(:user, confirmed_at: nil) }

  before do
    @request.env['devise.mapping'] = Devise.mappings[:user]
  end

  context 'user is not signed in' do
    it 'confirms and signs in user' do
      get :show, confirmation_token: user.confirmation_token
      user.reload
      expect(user.confirmed?).to eq true
      expect(controller.current_user).to eq user
    end
  end

  context 'user is signed in' do
    before { sign_in user }

    it 'confirms user' do
      get :show, confirmation_token: user.confirmation_token
      user.reload
      expect(user.confirmed?).to eq true
    end
  end
end

Add devise confirmation controller test
Add devise confirmation controller test
