summaryrefslogtreecommitdiff
path: root/spec/factories/users.rb
diff options
context:
space:
mode:
authorRobert Speicher <rspeicher@gmail.com>2016-02-16 22:55:24 -0500
committerRobert Speicher <rspeicher@gmail.com>2016-03-04 15:26:51 -0500
commit6df45eb4630d3eef4f232398de405b169c3c6876 (patch)
tree1f059ced536939bc14ea5d86fba8afce04537d40 /spec/factories/users.rb
parent5de46014d74c1805b6bb090f5b2abebd6fb1f399 (diff)
downloadgitlab-ce-6df45eb4630d3eef4f232398de405b169c3c6876.tar.gz
Move all factory definitions to their own file
Diffstat (limited to 'spec/factories/users.rb')
-rw-r--r--spec/factories/users.rb50
1 files changed, 50 insertions, 0 deletions
diff --git a/spec/factories/users.rb b/spec/factories/users.rb
new file mode 100644
index 00000000000..785c2a3d811
--- /dev/null
+++ b/spec/factories/users.rb
@@ -0,0 +1,50 @@
+FactoryGirl.define do
+ sequence(:name) { FFaker::Name.name }
+
+ factory :user, aliases: [:author, :assignee, :recipient, :owner, :creator] do
+ email { FFaker::Internet.email }
+ name
+ sequence(:username) { |n| "#{FFaker::Internet.user_name}#{n}" }
+ password "12345678"
+ confirmed_at { Time.now }
+ confirmation_token { nil }
+ can_create_group true
+
+ trait :admin do
+ admin true
+ end
+
+ trait :two_factor do
+ before(:create) do |user|
+ user.two_factor_enabled = true
+ user.otp_secret = User.generate_otp_secret(32)
+ user.otp_grace_period_started_at = Time.now
+ user.generate_otp_backup_codes!
+ end
+ end
+
+ trait :with_avatar do
+ avatar { fixture_file_upload(Rails.root.join(*%w(spec fixtures dk.png)), 'image/png') }
+ avatar_crop_x 0
+ avatar_crop_y 0
+ avatar_crop_size 256
+ end
+
+ factory :omniauth_user do
+ transient do
+ extern_uid '123456'
+ provider 'ldapmain'
+ end
+
+ after(:create) do |user, evaluator|
+ user.identities << create(
+ :identity,
+ provider: evaluator.provider,
+ extern_uid: evaluator.extern_uid
+ )
+ end
+ end
+
+ factory :admin, traits: [:admin]
+ end
+end