Commit 984c3f67
Changed files (2)
app
controllers
spec
controllers
app/controllers/sessions_controller.rb
@@ -4,10 +4,9 @@ class SessionsController < ApplicationController
end
def create
- @session = Session.login(session_params[:username], session_params[:password])
- if @session
+ if @session = Session.login(session_params[:username], session_params[:password])
cookies.signed[:cookie_monster] = @session.id
- render nothing: true
+ redirect_to my_dashboard_path
else
flash[:error] = "invalid credentials"
render :new
spec/controllers/sessions_controller_spec.rb
@@ -15,13 +15,19 @@ describe SessionsController do
let(:username) { "joe" }
let(:password) { "password" }
- it "returns a valid session" do
+ before :each do
Session.stub(:login).with(username, password).and_return(user_session)
-
post :create, session: { username: username, password: password }
+ end
+
+ it "returns a valid session" do
expect(cookies.signed[:cookie_monster]).to_not be_nil
expect(cookies.signed[:cookie_monster]).to eql(user_session.id)
end
+
+ it "redirects to the dashboard" do
+ expect(response).to redirect_to(my_dashboard_path)
+ end
end
context "when the username is not known" do