Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save ivan22/81b2cb1ce159ac41214c to your computer and use it in GitHub Desktop.

Select an option

Save ivan22/81b2cb1ce159ac41214c to your computer and use it in GitHub Desktop.

In your logged_in_controller.rb

class LoggedInController < ApplicationController
  before_filter :authenticate_user!
end

In your logged_in_controller_spec.rb

require 'spec_helper'

describe LoggedInController do
  controller(LoggedInController) do
    def index
      render nothing: true
    end
  end

  describe "#authenticate_user!" do
    let(:user) { create(:user) }

    before { @request.env["devise.mapping"] = Devise.mappings[:user] }

    def do_request
      get :index
    end

    context "when user is logged in" do
      before { sign_in user }
      before { do_request }

      it { should_not redirect_to new_user_session_path }
    end

    context "when user is not logged in" do
      before { do_request }

      it { should redirect_to new_user_session_path }
    end
  end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment