Functional tests now work properly, bearing in mind whether a user is logged in or...
[depot.git] / test / functional / users_controller_test.rb
1 require 'test_helper'
2
3 class UsersControllerTest < ActionController::TestCase
4
5 fixtures :users
6
7
8 test "should get index" do
9 get :index, {}, { :user_id => users(:dave).id }
10 assert_response :success
11 assert_not_nil assigns(:users)
12 end
13
14 test "should get new" do
15 get :new, {}, { :user_id => users(:dave).id }
16 assert_response :success
17 end
18
19 test "should create user" do
20 assert_difference('User.count') do
21 post :create, {:user => {:name => "noone", :password => "password" }}, { :user_id => users(:dave).id }
22 end
23
24 # redirect to index, not user show page
25 assert_redirected_to users_path
26 end
27
28 test "should show user" do
29 get :show, {:id => users(:dave).id}, { :user_id => users(:dave).id }
30 assert_response :success
31 end
32
33 test "should get edit" do
34 get :edit, {:id => users(:dave).id}, { :user_id => users(:dave).id }
35 assert_response :success
36 end
37
38 test "should update user" do
39 put :update, {:id => users(:dave).id, :user => { }}, { :user_id => users(:dave).id }
40 # redirect to index, not user show page
41 assert_redirected_to users_path
42 end
43
44 test "should destroy user" do
45 assert_difference('User.count', -1) do
46 delete :destroy, {:id => users(:dave).id}, { :user_id => users(:dave).id }
47 end
48
49 assert_redirected_to users_path
50 end
51
52
53
54
55 test "get index without logged-in user" do
56 get :index
57 assert_redirected_to :controller => "admin", :action => "login"
58 assert_equal "Please log in", flash[:notice]
59 end
60
61 test "get new without logged-in user" do
62 get :new
63 assert_redirected_to :controller => "admin", :action => "login"
64 assert_equal "Please log in", flash[:notice]
65 end
66
67 test "create user without logged-in user" do
68 post :create, :user => { }
69 assert_redirected_to :controller => "admin", :action => "login"
70 assert_equal "Please log in", flash[:notice]
71 end
72
73 test "show user without logged-in user" do
74 get :show, :id => users(:dave).id
75 assert_redirected_to :controller => "admin", :action => "login"
76 assert_equal "Please log in", flash[:notice]
77 end
78
79 test "get edit without logged-in user" do
80 get :edit, :id => users(:dave).id
81 assert_redirected_to :controller => "admin", :action => "login"
82 assert_equal "Please log in", flash[:notice]
83 end
84
85 test "update user without logged-in user" do
86 put :update, :id => users(:dave).id, :user => { }
87 assert_redirected_to :controller => "admin", :action => "login"
88 assert_equal "Please log in", flash[:notice]
89 end
90
91 test "destroy user without logged-in user" do
92 delete :destroy, :id => users(:dave).id
93 assert_redirected_to :controller => "admin", :action => "login"
94 assert_equal "Please log in", flash[:notice]
95 end
96
97
98 end