58 lines
1.3 KiB
Ruby
58 lines
1.3 KiB
Ruby
FactoryGirl.define do
|
|
factory :user do
|
|
sequence(:email) { |n| "user#{n}@example.com" }
|
|
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)
|
|
end
|
|
end
|
|
|
|
factory :administrator_user do
|
|
after(:create) do |user, _evaluator|
|
|
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
|