Commit 984c3f67

mo khan <mo@mokhan.ca>
2014-08-07 00:02:39
redirect to dashboard after logging in.
1 parent 04ffb1d
Changed files (2)
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