42 lines
968 B
Ruby
42 lines
968 B
Ruby
FactoryBot.define do
|
|
factory(:user, aliases: [:creator, :updater]) do
|
|
name { SecureRandom.uuid.first(20) }
|
|
password {"password"}
|
|
level {20}
|
|
last_logged_in_at {Time.now}
|
|
|
|
factory(:banned_user) do
|
|
transient { ban_duration {3} }
|
|
is_banned {true}
|
|
active_ban factory: :ban
|
|
end
|
|
|
|
factory(:restricted_user) do
|
|
level {User::Levels::RESTRICTED}
|
|
requires_verification { true }
|
|
is_verified { false }
|
|
end
|
|
|
|
User.level_hash.each do |level_name, level_value|
|
|
# allows create(:moderator_user), create(:approver) etc
|
|
next if level_name == "Restricted" # already defined above
|
|
|
|
factory(level_name.downcase) do
|
|
level {level_value}
|
|
end
|
|
|
|
factory("#{level_name.downcase}_user") do
|
|
level {level_value}
|
|
end
|
|
end
|
|
|
|
factory(:mod_user) do
|
|
level {User::Levels::MODERATOR}
|
|
end
|
|
|
|
factory(:uploader) do
|
|
created_at { 2.weeks.ago }
|
|
end
|
|
end
|
|
end
|