factory :user do
sequence(:email) { |n| "user#{n}@example.com" }
sequence(:display_name) { |n| "User #{n}" }
- pass_crypt { Digest::MD5.hexdigest("test") }
+ pass_crypt { PasswordHash.create("test").first }
# These attributes are not the defaults, but in most tests we want
# a 'normal' user who can log in without being redirected etc.
- status { "active" }
+ after(:build) do |user, _evaluator|
+ user.activate
+ end
+
terms_seen { true }
+ terms_agreed { Time.now.utc }
data_public { true }
trait :with_home_location do
end
trait :pending do
- status { "pending" }
+ after(:build) do |user, _evaluator|
+ user.deactivate
+ end
end
trait :active do
- status { "active" }
+ # status { "active" }
end
trait :confirmed do
- status { "confirmed" }
+ after(:build) do |user, _evaluator|
+ user.confirm
+ end
end
trait :suspended do
- status { "suspended" }
+ after(:build) do |user, _evaluator|
+ user.suspend
+ end
end
trait :deleted do
- status { "deleted" }
+ after(:build) do |user, _evaluator|
+ user.soft_destroy
+ end
+ end
+
+ factory :importer_user do
+ after(:create) do |user, _evaluator|
+ create(:user_role, :role => "importer", :user => user)
+ end
end
factory :moderator_user do