]> git.openstreetmap.org Git - rails.git/blobdiff - test/factories/user.rb
Merge branch 'master' into moderation
[rails.git] / test / factories / user.rb
index 6376659ab0b9ec76c696f156cbe1cb0fa0bb7d75..8fe768410594dd8e4bf63bc60bab9bdb699a2ec3 100644 (file)
@@ -4,11 +4,37 @@ FactoryGirl.define do
     sequence(:display_name) { |n| "User #{n}" }
     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) }
       home_lon { rand(-180.0...180.0) }
     end
 
+    trait :pending do
+      status "pending"
+    end
+
+    trait :active do
+      status "active"
+    end
+
+    trait :confirmed do
+      status "confirmed"
+    end
+
+    trait :suspended do
+      status "suspended"
+    end
+
+    trait :deleted do
+      status "deleted"
+    end
+
     factory :moderator_user do
       after(:create) do |user, _evaluator|
         create(:user_role, :role => "moderator", :user => user)
@@ -20,5 +46,13 @@ FactoryGirl.define do
         create(:user_role, :role => "administrator", :user => user)
       end
     end
+
+    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