X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/1dc2ff7d576ebfb5a2889a4e49ede620f4d2faec..942e62117ff7f12d40618a94ea3f4e86f8cb25af:/test/factories/user.rb diff --git a/test/factories/user.rb b/test/factories/user.rb index a7219324a..69d5ba376 100644 --- a/test/factories/user.rb +++ b/test/factories/user.rb @@ -1,8 +1,14 @@ -FactoryGirl.define do +FactoryBot.define do factory :user do sequence(:email) { |n| "user#{n}@example.com" } sequence(:display_name) { |n| "User #{n}" } - pass_crypt Digest::MD5.hexdigest("test") + pass_crypt { Digest::MD5.hexdigest("test") } + + # These attributes are not the defaults, but in most tests we want + # a 'normal' user who can log in without being redirected etc. + status { "active" } + terms_seen { true } + data_public { true } trait :with_home_location do home_lat { rand(-90.0...90.0) } @@ -10,23 +16,23 @@ FactoryGirl.define do end trait :pending do - status "pending" + status { "pending" } end trait :active do - status "active" + status { "active" } end trait :confirmed do - status "confirmed" + status { "confirmed" } end trait :suspended do - status "suspended" + status { "suspended" } end trait :deleted do - status "deleted" + status { "deleted" } end factory :moderator_user do @@ -41,11 +47,12 @@ FactoryGirl.define do end end - # A commonly needed user is one who can log in an isn't redirected anywhere - factory :normal_user do - status "active" - terms_seen true - data_public true + factory :super_user do + after(:create) do |user, _evaluator| + UserRole::ALL_ROLES.each do |role| + create(:user_role, :role => role, :user => user) + end + end end end end