refactor user factories to handle codes better

This commit is contained in:
Devin Howard 2016-01-07 15:47:45 +08:00
parent 4469b29ec2
commit 4a1e4ef333

View file

@ -1,15 +1,29 @@
#
# This file supports three factories, because code and joinedwithcode
# make things complicated!
#
# Generally, use :simple_user to generate users. It's simplest.
#
# If you want to test code generation, or need a setup with users that
# have actual codes, you'll need to specify one simple_user and then you
# can specify other :code_user users based on the pre-existing user's code.
FactoryGirl.define do
factory :user do
factory :code_user, class: User do
sequence(:name) { |n| "Cool User ##{n}" }
sequence(:email) { |n| "cooluser#{n}@cooldomain.com" }
joinedwithcode { "qwertyui" }
password 'omgwtfbbq'
transient do
validate false
end
factory :simple_user, aliases: [:user] do
joinedwithcode { "qwertyui" }
code { "qwertyui" }
# bypass validation of the joinedwithcode
to_create { |instance| instance.save(validate: instance.validate) }
transient do
validate false
end
# bypass validation of the joinedwithcode
to_create { |instance| instance.save(validate: instance.validate) }
end
end
end