summaryrefslogtreecommitdiff
path: root/test/controllers/sessions_controller_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/controllers/sessions_controller_test.rb')
-rw-r--r--test/controllers/sessions_controller_test.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/controllers/sessions_controller_test.rb b/test/controllers/sessions_controller_test.rb
new file mode 100644
index 0000000..bfcc647
--- /dev/null
+++ b/test/controllers/sessions_controller_test.rb
@@ -0,0 +1,32 @@
1require File.dirname(__FILE__) + '/../test_helper'
2require 'sessions_controller'
3
4# Re-raise errors caught by the controller.
5class SessionsController; def rescue_action(e) raise e end; end
6
7class SessionsControllerTest < ActionController::TestCase
8 # Be sure to include AuthenticatedTestHelper in test/test_helper.rb instead
9 # Then, you can remove it from this and the units test.
10 include AuthenticatedTestHelper
11
12 fixtures :users
13
14 def test_should_login_and_redirect
15 post :create, params: { login: 'quentin', password: 'monkey' }
16 assert session[:user_id]
17 assert_response :redirect
18 end
19
20 def test_should_fail_login_and_not_redirect
21 post :create, params: { login: 'quentin', password: 'bad password' }
22 assert_nil session[:user_id]
23 assert_response :success
24 end
25
26 def test_should_logout
27 login_as :quentin
28 get :destroy
29 assert_nil session[:user_id]
30 assert_response :redirect
31 end
32end