Changesets can be listed by changeset number.
The Git repository is here.
- Revision:
- 206
- Log:
Initial import of Gullery, an open source photo gallery:
http://nubyonrails.com/pages/gullery
- Author:
- rool
- Date:
- Sun May 20 19:05:59 +0100 2007
- Size:
- 2473 Bytes
1 | require File.dirname(__FILE__) + '/../test_helper' |
2 | require 'account_controller' |
3 | |
4 | # Re-raise errors caught by the controller. |
5 | class AccountController; def rescue_action(e) raise e end; end |
6 | |
7 | class AccountControllerTest < Test::Unit::TestCase |
8 | # Be sure to include AuthenticatedTestHelper in test/test_helper.rb instead |
9 | include AuthenticatedTestHelper |
10 | |
11 | fixtures :users |
12 | |
13 | def setup |
14 | @controller = AccountController.new |
15 | @request = ActionController::TestRequest.new |
16 | @response = ActionController::TestResponse.new |
17 | |
18 | # for testing action mailer |
19 | # @emails = ActionMailer::Base.deliveries |
20 | # @emails.clear |
21 | end |
22 | |
23 | def test_should_login_and_redirect |
24 | post :login, :login => 'quentin', :password => 'quentin' |
25 | assert session[:user] |
26 | assert_response :redirect |
27 | end |
28 | |
29 | def test_should_fail_login_and_not_redirect |
30 | post :login, :login => 'quentin', :password => 'bad password' |
31 | assert_nil session[:user] |
32 | assert_response :success |
33 | end |
34 | |
35 | def test_should_allow_signup_if_no_other_users |
36 | User.find(1).destroy |
37 | old_count = User.count |
38 | create_user |
39 | assert_response :redirect |
40 | assert_equal old_count+1, User.count |
41 | end |
42 | |
43 | def test_should_require_login_on_signup |
44 | User.find(1).destroy |
45 | old_count = User.count |
46 | create_user(:login => nil) |
47 | assert assigns(:user).errors.on(:login) |
48 | assert_response :success |
49 | assert_equal old_count, User.count |
50 | end |
51 | |
52 | def test_should_require_password_on_signup |
53 | User.find(1).destroy |
54 | old_count = User.count |
55 | create_user(:password => nil) |
56 | assert assigns(:user).errors.on(:password) |
57 | assert_response :success |
58 | assert_equal old_count, User.count |
59 | end |
60 | |
61 | def test_should_require_password_confirmation_on_signup |
62 | User.find(1).destroy |
63 | old_count = User.count |
64 | create_user(:password_confirmation => nil) |
65 | assert assigns(:user).errors.on(:password_confirmation) |
66 | assert_response :success |
67 | assert_equal old_count, User.count |
68 | end |
69 | |
70 | def test_should_reject_extra_logins |
71 | old_count = User.count |
72 | create_user |
73 | assert_response :redirect |
74 | end |
75 | |
76 | |
77 | def test_should_logout |
78 | login_as :quentin |
79 | get :logout |
80 | assert_nil session[:user] |
81 | assert_response :redirect |
82 | end |
83 | |
84 | protected |
85 | |
86 | def create_user(options = {}) |
87 | post :signup, :user => { :name => 'Quire Jamison', :login => 'quire', :email => 'quire@example.com', |
88 | :password => 'quire', :password_confirmation => 'quire' }.merge(options) |
89 | end |
90 | end |