Commit cd0503b

mo khan <mo@mokhan.ca>
2016-05-17 03:49:36
redirect to dashboard if already logged in.
1 parent eaf2f8a
Changed files (2)
app/controllers/sessions_controller.rb
@@ -13,7 +13,11 @@ class SessionsController < PublicController
   end
 
   def new
-    @user = User.new
+    if current_user.present?
+      redirect_to dashboard_path
+    else
+      @user = User.new
+    end
   end
 
   def destroy
spec/controllers/sessions_controller_spec.rb
@@ -1,6 +1,23 @@
 require "rails_helper"
 
 describe SessionsController do
+  describe "#new" do
+    context "when already logged in" do
+      let(:user) { create(:user) }
+
+      it 'redirects to the dashboard' do
+        http_login(user)
+        get :new
+        expect(response).to redirect_to(dashboard_path)
+      end
+    end
+
+    it 'loads a new user' do
+      get :new
+      expect(assigns(:user)).to be_new_record
+    end
+  end
+
   describe "#create" do
     let(:user) { create(:user, password: "password") }