docbrown/spec/factories/users.rb
Mac Siri 9d32af7b6c Implement periodic email digest (#123)
* Create EmailDigest WIP

* Add email_digest_periodic to User model

* Add email digest setting to notification

* Draft thoughts (?)  WIP

* Implement EmailDigest's features

* Remove hard-coded email digest vars

* Create spec for EmailDigest

* Fix something

* Temp work

* Run migration & Yarn

* Move email logic out of EmailDigest

* Improve email logic

* Improve EmailLogic'specs

* Update copy

* Change positive_reactions_count limit

For non-followed articles we should have a higher limit. So this change modifies that.
2018-03-27 13:29:08 -04:00

40 lines
1.3 KiB
Ruby

FactoryBot.define do
sequence(:email) { |n| "person#{n}@example.com" }
sequence(:username) { |n| "username#{n}" }
sequence(:twitter_username) { |n| "twitter#{n}" }
sequence(:github_username) { |n| "github#{n}" }
factory :user do
name { Faker::Name.name }
email { generate :email }
username { generate :username }
profile_image { Rack::Test::UploadedFile.new(File.join(Rails.root, "spec", "support", "fixtures", "images", "image1.jpeg"), "image/jpeg") }
twitter_username { generate :twitter_username }
github_username { generate :github_username }
summary { Faker::Lorem.paragraph[0..rand(190)] }
website_url { Faker::Internet.url }
confirmed_at { Time.now }
saw_onboarding { true }
signup_cta_variant { "navbar_basic" }
email_digest_periodic { false }
trait :super_admin do
after(:build) { |user| user.add_role(:super_admin) }
end
trait :banned do
after(:build) { |user| user.add_role(:banned) }
end
trait :ignore_after_callback do
after(:build) do |user|
user.define_singleton_method(:subscribe_to_mailchimp_newsletter) {}
# user.class.skip_callback(:validates, :after_create)
end
end
after(:create) do |user|
create(:identity, user_id: user.id)
end
end
end