mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-25 20:46:48 +00:00
51 lines
1.2 KiB
Ruby
51 lines
1.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
FactoryBot.define do
|
|
sequence :user_authentication_token do |n|
|
|
"xxxx#{Time.now.to_i}#{rand(1000)}#{n}xxxxxxxxxxxxx"
|
|
end
|
|
|
|
factory :user, class: Spree::User do
|
|
email { generate(:random_email) }
|
|
login { email }
|
|
password { 'secret' }
|
|
password_confirmation { password }
|
|
if Spree::User.attribute_method? :authentication_token
|
|
authentication_token {
|
|
generate(:user_authentication_token)
|
|
}
|
|
end
|
|
|
|
confirmation_sent_at { '1970-01-01 00:00:00' }
|
|
confirmed_at { '1970-01-01 00:00:01' }
|
|
terms_of_service_accepted_at { 1.hour.ago }
|
|
|
|
before(:create) do |user, evaluator|
|
|
if evaluator.confirmation_sent_at
|
|
if evaluator.confirmed_at
|
|
user.skip_confirmation!
|
|
else
|
|
user.skip_confirmation_notification!
|
|
end
|
|
end
|
|
end
|
|
|
|
factory :enterprise_user do
|
|
enterprises { [build(:enterprise)] }
|
|
end
|
|
|
|
factory :admin_user do
|
|
admin { true }
|
|
end
|
|
|
|
factory :oidc_user do
|
|
oidc_account { build(:oidc_account, uid: email) }
|
|
end
|
|
|
|
# This is a live test user authenticated via Les Communes.
|
|
factory :testdfc_user do
|
|
oidc_account { build(:testdfc_account) }
|
|
end
|
|
end
|
|
end
|