scube-server/spec/controllers/sessions_controller_spec.rb
2015-04-30 12:31:02 +00:00

47 lines
1014 B
Ruby

describe SessionsController do
describe 'GET new' do
it 'responds successfully' do
expect(response).to be_success
end
end
describe 'POST create' do
let(:user) { FactoryGirl.create(:user) }
def do_create
post :create, session: {
email: user.email,
password: user.password
}
end
context 'with valid credentials' do
it 'signs the user in' do
do_create
expect(controller.current_user).to eq user
end
it 'redirects to the home page' do
do_create
expect(response).to redirect_to :root
end
end
[:email, :password].each do |attr|
context "with invalid credentials (#{attr})" do
before do
allow(user).to receive(attr).and_return(user.send(attr) + '_INVALID')
end
it 'renders the new template' do
do_create
expect(response).to render_template 'new'
end
end
end
end
describe 'DELETE destroy' do
end
end