* 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.
40 lines
1.3 KiB
Ruby
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
|