]> git.openstreetmap.org Git - rails.git/blobdiff - test/factories/user.rb
Merge remote-tracking branch 'upstream/pull/4407'
[rails.git] / test / factories / user.rb
index 48a124adb7c0fe9872cf1513ebb37eca461ea8ef..166461637662609dc6bdb58c08cb87f3c9e17ddc 100644 (file)
@@ -6,9 +6,12 @@ FactoryBot.define do
 
     # These attributes are not the defaults, but in most tests we want
     # a 'normal' user who can log in without being redirected etc.
 
     # 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_seen { true }
-    terms_agreed { Time.now.getutc }
+    terms_agreed { Time.now.utc }
     data_public { true }
 
     trait :with_home_location do
     data_public { true }
 
     trait :with_home_location do
@@ -17,23 +20,37 @@ FactoryBot.define do
     end
 
     trait :pending do
     end
 
     trait :pending do
-      status { "pending" }
+      after(:build) do |user, _evaluator|
+        user.deactivate
+      end
     end
 
     trait :active do
     end
 
     trait :active do
-      status { "active" }
+      status { "active" }
     end
 
     trait :confirmed do
     end
 
     trait :confirmed do
-      status { "confirmed" }
+      after(:build) do |user, _evaluator|
+        user.confirm
+      end
     end
 
     trait :suspended do
     end
 
     trait :suspended do
-      status { "suspended" }
+      after(:build) do |user, _evaluator|
+        user.suspend
+      end
     end
 
     trait :deleted do
     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
     end
 
     factory :moderator_user do