Revision de851041
Added by Amos Benari almost 11 years ago
- ID de85104153e359d34cab004c6499d67df829de02
test/functional/users_controller_test.rb | ||
---|---|---|
|
||
test "should create regular user" do
|
||
post :create, {
|
||
:commit => "Submit",
|
||
:user => {
|
||
:login => "foo",
|
||
:mail => "foo@bar.com",
|
||
... | ... | |
|
||
test "should create admin user" do
|
||
post :create, {
|
||
:commit => "Submit",
|
||
:user => {
|
||
:login => "foo",
|
||
:admin => true,
|
||
... | ... | |
test "should update user" do
|
||
user = User.create :login => "foo", :mail => "foo@bar.com", :auth_source => auth_sources(:one)
|
||
|
||
put :update, { :commit => "Submit", :id => user.id, :user => {:login => "johnsmith"} }, set_session_user
|
||
put :update, { :id => user.id, :user => {:login => "johnsmith"} }, set_session_user
|
||
mod_user = User.find_by_id(user.id)
|
||
|
||
assert mod_user.login == "johnsmith"
|
||
... | ... | |
|
||
assert user.roles =([roles(:anonymous)])
|
||
|
||
put :update, { :commit => "Submit", :id => user.id, :user => {:login => "johnsmith"} }, set_session_user
|
||
put :update, { :id => user.id, :user => {:login => "johnsmith"} }, set_session_user
|
||
mod_user = User.find_by_id(user.id)
|
||
|
||
assert mod_user.roles =([roles(:anonymous)])
|
||
... | ... | |
user.password = "changeme"
|
||
assert user.save
|
||
|
||
put :update, {:commit => "Submit", :id => user.id,
|
||
put :update, {:id => user.id,
|
||
:user => {
|
||
:login => "johnsmith", :password => "dummy", :password_confirmation => "dummy"
|
||
},
|
||
... | ... | |
user.password = "changeme"
|
||
assert user.save
|
||
|
||
put :update, {:commit => "Submit", :id => user.id,
|
||
put :update, {:id => user.id,
|
||
:user => {
|
||
:login => "johnsmith", :password => "dummy", :password_confirmation => "DUMMY"
|
||
},
|
||
... | ... | |
user.password = "changeme"
|
||
assert user.save
|
||
|
||
put :update, {:commit => "Submit", :id => user.id,
|
||
put :update, {:id => user.id,
|
||
:user => { :login => "foobar" },
|
||
}, set_session_user
|
||
|
||
... | ... | |
|
||
test "should modify session when locale is updated" do
|
||
User.current = User.admin
|
||
put :update, {:commit => "Submit", :id => User.admin.id, :user => { :locale => "cs" } }, set_session_user
|
||
put :update, {:id => User.admin.id, :user => { :locale => "cs" } }, set_session_user
|
||
assert_redirected_to users_url
|
||
assert User.admin.locale == "cs"
|
||
put :update, {:commit => "Submit", :id => User.admin.id, :user => { :locale => "" } }, set_session_user
|
||
put :update, { :id => User.admin.id, :user => { :locale => "" } }, set_session_user
|
||
assert User.admin.locale.nil?
|
||
assert session[:locale].nil?
|
||
end
|
||
... | ... | |
|
||
update_hash = {"user"=>{ "login" => sample_user.login,
|
||
"hostgroup_ids" => ["", Hostgroup.find_by_name("root").id.to_s] },
|
||
"commit" => "Submit",
|
||
"id" => sample_user.id }
|
||
|
||
put :update, update_hash , set_session_user
|
||
... | ... | |
update_hash = {"user"=>{
|
||
"login" => target.login,
|
||
"admin" => false},
|
||
"commit" => "Submit",
|
||
"id" => target.id}
|
||
put :update, update_hash, set_session_user.merge(:user => user.id)
|
||
|
||
... | ... | |
assert_template :edit
|
||
end
|
||
|
||
test "should be able to create user without mail and update the mail later" do
|
||
user = User.create :login => "mailess", :mail=> nil, :auth_source => auth_sources(:one)
|
||
user.admin = true
|
||
user.save!(:validate => false)
|
||
|
||
update_hash = {"user"=>{
|
||
"login" => user.login,
|
||
"mail" => "you@have.mail"},
|
||
"id" => user.id}
|
||
put :update, update_hash, set_session_user.merge(:user => user.id)
|
||
|
||
assert !User.find_by_login(user.login).mail.blank?
|
||
end
|
||
|
||
end
|
Also available in: Unified diff
fixes #2639 After creating user with empty e-mail it becomes impossible to add it.
(cherry picked from commit 802ae177dc9d35c3fc3889fa34b24e7f32001eb8)