X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/e731dd71a77ad4ad1e9db22535e89444bb98e5d9..9ee3df33bd577c65f08db5f68d301f7e8f34298c:/test/factories/user.rb diff --git a/test/factories/user.rb b/test/factories/user.rb index 48a124adb..7f1f14e9c 100644 --- a/test/factories/user.rb +++ b/test/factories/user.rb @@ -1,14 +1,19 @@ +pass_crypt = PasswordHash.create("test").first + 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 { pass_crypt } # 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" } + after(:build) do |user, _evaluator| + user.activate + end + terms_seen { true } - terms_agreed { Time.now.getutc } + terms_agreed { Time.now.utc } data_public { true } trait :with_home_location do @@ -17,23 +22,37 @@ FactoryBot.define do end trait :pending do - status { "pending" } + after(:build) do |user, _evaluator| + user.deactivate + end end trait :active do - status { "active" } + # status { "active" } end trait :confirmed do - status { "confirmed" } + after(:build) do |user, _evaluator| + user.confirm + end end trait :suspended do - status { "suspended" } + after(:build) do |user, _evaluator| + user.suspend + end end trait :deleted do - status { "deleted" } + after(:build) do |user, _evaluator| + user.soft_destroy + end + end + + factory :importer_user do + after(:create) do |user, _evaluator| + create(:user_role, :role => "importer", :user => user) + end end factory :moderator_user do