1
0
Fork 0
creddit/spec/controllers/application_controller_spec.rb

55 lines
1.4 KiB
Ruby

require 'rails_helper'
describe ApplicationController, type: :controller do
let!(:user) { create(:user) }
let!(:user_session) { create(:user_session, user: user) }
describe '#logged_in?' do
context 'when logged in' do
before(:each) { request.cookies['user_session'] = user_session.key }
it 'should return true' do
expect(controller.send(:logged_in?)).to be(true)
end
end
context 'when not logged in' do
it 'should return false' do
expect(controller.send(:logged_in?)).to be(false)
end
end
end
describe '#current_user' do
context 'when logged in' do
before(:each) { request.cookies['user_session'] = user_session.key }
it 'should return the current user' do
expect(controller.send(:current_user)).to eq(user)
end
end
context 'when not logged in' do
it 'should return nil' do
expect(controller.send(:current_user)).to be_a(GuestUser)
end
end
end
describe '#current_session' do
context 'when logged in' do
before(:each) { request.cookies['user_session'] = user_session.key }
it 'should return the curren session' do
expect(controller.send(:current_session)).to eq(user_session)
end
end
context 'when not logged in' do
it 'should return nil' do
expect(controller.send(:current_session)).to be_nil
end
end
end
end