DEV: Populate all subtypes of ReviewableQueuedPost (#30663)

Follow-up to 5a55c9062a

There are many scenarios that can result in creating a `ReviewableQueuedPost` record, however in the original commit we only added once scenario to the populate rake task. This commit adds the remaining scenarios to the rake task.
This commit is contained in:
Osama Sayegh 2025-01-09 17:41:11 +03:00 committed by GitHub
parent b1e40d04b9
commit 2c48c9aea7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -6,21 +6,57 @@ require "faker"
module DiscourseDev
class ReviewableQueuedPost < Reviewable
def populate!
2.times do
:new_topics_unless_allowed_groups.tap do |reason|
manager =
NewPostManager.new(
@users.sample,
custom_payload_for_reason(reason).merge(
title: Faker::Lorem.sentence,
raw: Faker::DiscourseMarkdown.sandwich(sentences: 3),
tags: nil,
typing_duration_msecs: Faker::Number.between(from: 2_000, to: 5_000),
composer_open_duration_msecs: Faker::Number.between(from: 5_500, to: 10_000),
),
)
manager.enqueue(reason, creator_opts: { skip_validations: true })
end
%i[
email_auth_res_enqueue
email_spam
post_count
group
fast_typer
auto_silence_regex
staged
category
contains_media
].each do |reason|
topic = @topics.sample
manager =
NewPostManager.new(
@users.sample,
{
custom_payload_for_reason(reason).merge(
topic_id: topic.id,
raw: Faker::DiscourseMarkdown.sandwich(sentences: 3),
tags: nil,
typing_duration_msecs: Faker::Number.between(from: 2_000, to: 5_000),
composer_open_duration_msecs: Faker::Number.between(from: 5_500, to: 10_000),
reply_to_post_number: topic.posts.sample.post_number,
},
),
)
manager.enqueue(:watched_word, creator_opts: { skip_validations: true })
manager.enqueue(reason, creator_opts: { skip_validations: true })
end
end
private
def custom_payload_for_reason(reason)
case reason
when :email_auth_res_enqueue, :email_spam
{ via_email: true, raw_email: Faker::Lorem.paragraph }
else
{}
end
end
end