X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/8ecb53b8692cbaac262fba5b1baa632d7cef5353..2e34b62fac7d0a9a7b03e92bdf26f691736e2954:/test/models/user_test.rb diff --git a/test/models/user_test.rb b/test/models/user_test.rb index 4c863272b..72e1ca5d9 100644 --- a/test/models/user_test.rb +++ b/test/models/user_test.rb @@ -4,41 +4,31 @@ class UserTest < ActiveSupport::TestCase include Rails::Dom::Testing::Assertions::SelectorAssertions def test_invalid_with_empty_attributes - user = User.new + user = build(:user, :email => nil, + :pass_crypt => nil, + :display_name => nil, + :home_lat => nil, + :home_lon => nil, + :home_zoom => nil) assert_not user.valid? - assert user.errors[:email].any? - assert user.errors[:pass_crypt].any? - assert user.errors[:display_name].any? - assert user.errors[:email].any? - assert user.errors[:home_lat].none? - assert user.errors[:home_lon].none? - assert user.errors[:home_zoom].none? + assert_predicate user.errors[:email], :any? + assert_predicate user.errors[:pass_crypt], :any? + assert_predicate user.errors[:display_name], :any? + assert_predicate user.errors[:home_lat], :none? + assert_predicate user.errors[:home_lon], :none? + assert_predicate user.errors[:home_zoom], :none? end def test_unique_email existing_user = create(:user) - new_user = User.new( - :email => existing_user.email, - :status => "active", - :pass_crypt => Digest::MD5.hexdigest("test"), - :display_name => "new user", - :data_public => 1, - :description => "desc" - ) + new_user = build(:user, :email => existing_user.email) assert_not new_user.save assert_includes new_user.errors[:email], "has already been taken" end def test_unique_display_name existing_user = create(:user) - new_user = User.new( - :email => "tester@openstreetmap.org", - :status => "pending", - :pass_crypt => Digest::MD5.hexdigest("test"), - :display_name => existing_user.display_name, - :data_public => 1, - :description => "desc" - ) + new_user = build(:user, :display_name => existing_user.display_name) assert_not new_user.save assert_includes new_user.errors[:display_name], "has already been taken" end @@ -65,7 +55,7 @@ class UserTest < ActiveSupport::TestCase def test_display_name_length user = build(:user) user.display_name = "123" - assert user.valid?, "should allow 3 char name name" + assert_predicate user, :valid?, "should allow 3 char name name" user.display_name = "12" assert_not user.valid?, "should not allow 2 char name" user.display_name = "" @@ -76,7 +66,7 @@ class UserTest < ActiveSupport::TestCase def test_display_name_valid # Due to sanitisation in the view some of these that you might not - # expact are allowed + # expect are allowed # However, would they affect the xml planet dumps? ok = ["Name", "'me", "he\"", "