otwarchive-symphonyarchive/factories/users.rb

53 lines
1.2 KiB
Ruby
Raw Permalink Normal View History

2026-03-11 22:22:11 +00:00
require "faker"
FactoryBot.define do
sequence(:login) do |n|
"#{Faker::Lorem.characters(number: 8)}#{n}"
end
factory :role do
sequence(:name) { |n| "#{Faker::Company.profession}_#{n}" }
end
factory :user do
login { generate(:login) }
password { SecureRandom.alphanumeric(10) }
age_over_13 { "1" }
data_processing { "1" }
terms_of_service { "1" }
password_confirmation(&:password)
email { Faker::Internet.unique.email }
# By default, create activated users who can log in, since we use
# devise :confirmable.
confirmed_at { Faker::Time.backward }
trait :unconfirmed do
confirmed_at { nil }
end
# Usernames used in mailer preview should be unique but recognizable as usernames
trait :for_mailer_preview do
login { "User#{Faker::Alphanumeric.alpha(number: 8)}" }
end
# Roles
factory :archivist do
roles { [Role.find_or_create_by(name: "archivist")] }
end
factory :opendoors_user do
roles { [Role.find_or_create_by(name: "opendoors")] }
end
factory :tag_wrangler do
roles { [Role.find_or_create_by(name: "tag_wrangler")] }
end
factory :official_user do
roles { [Role.find_or_create_by(name: "official")] }
end
end
end