Project

General

Profile

« Previous | Next » 

Revision de851041

Added by Amos Benari almost 11 years ago

  • ID de85104153e359d34cab004c6499d67df829de02

fixes #2639 After creating user with empty e-mail it becomes impossible to add it.
(cherry picked from commit 802ae177dc9d35c3fc3889fa34b24e7f32001eb8)

View differences:

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