1 # frozen_string_literal: true
 
   3 pass_crypt = PasswordHash.create("s3cr3t").first
 
   7     sequence(:email) { |n| "user#{n}@example.com" }
 
   8     sequence(:display_name) { |n| "User #{n}" }
 
   9     pass_crypt { pass_crypt }
 
  11     # These attributes are not the defaults, but in most tests we want
 
  12     # a 'normal' user who can log in without being redirected etc.
 
  13     after(:build) do |user, _evaluator|
 
  18     terms_agreed { Time.now.utc }
 
  21     trait :with_home_location do
 
  22       home_lat { rand(-90.0...90.0) }
 
  23       home_lon { rand(-180.0...180.0) }
 
  27       after(:build) do |user, _evaluator|
 
  37       after(:build) do |user, _evaluator|
 
  43       after(:build) do |user, _evaluator|
 
  49       after(:build) do |user, _evaluator|
 
  54     factory :importer_user do
 
  55       after(:create) do |user, _evaluator|
 
  56         create(:user_role, :role => "importer", :user => user)
 
  60     factory :moderator_user do
 
  61       after(:create) do |user, _evaluator|
 
  62         create(:user_role, :role => "moderator", :user => user)
 
  66     factory :administrator_user do
 
  67       after(:create) do |user, _evaluator|
 
  68         create(:user_role, :role => "administrator", :user => user)
 
  72     factory :super_user do
 
  73       after(:create) do |user, _evaluator|
 
  74         UserRole::ALL_ROLES.each do |role|
 
  75           create(:user_role, :role => role, :user => user)