1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
require 'test_helper'
class UsersControllerTest < ActionController::TestCase
test "should get new" do
get :new
assert_equal User, assigns(:user).class
assert_response :success
end
test "should create new user" do
params = User.valid_attributes_hash
user = stub params.merge(:id => 123)
params.stringify_keys!
User.expects(:create!).with(params).returns(user)
post :create, :user => params
assert_nil session[:user_id]
assert_response :redirect
assert_redirected_to root_url
end
test "should redirect to signup form on failed attempt" do
params = User.valid_attributes_hash.slice(:login)
user = User.new(params)
params.stringify_keys!
User.expects(:create!).with(params).raises(VALIDATION_FAILED.new(user))
post :create, :user => params
assert_nil session[:user_id]
assert_equal user, assigns[:user]
assert_response :redirect
assert_redirected_to new_user_path
end
test "should get edit view" do
params = User.valid_attributes_hash
user = stub params.merge(:id => 123, :class => User, :to_key => ['123'], :new_record? => false, :persisted? => :true)
login user
get :edit, :id => user.id
assert_equal user, assigns[:user]
end
test "should process updated params" do
params = User.valid_attributes_hash
user = stub params.merge(:id => 123)
params.stringify_keys!
user.expects(:update).with(params).returns(user)
login user
post :update, :user => params, :id => user.id
assert_equal user, assigns[:user]
assert_response :redirect
assert_redirected_to edit_user_path(user)
end
test "should validate updated params" do
params = User.valid_attributes_hash
user = stub params.merge(:id => 123)
params.stringify_keys!
user.expects(:update).with(params).returns(user)
login user
post :update, :user => params, :id => user.id
assert_equal user, assigns[:user]
end
end
|