mirror of
https://github.com/discourse/discourse-ai.git
synced 2025-05-10 18:37:37 +00:00
39 lines
1.2 KiB
Ruby
39 lines
1.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec.describe "ai:spam rake tasks" do
|
|
let!(:topic1) { Fabricate(:topic, created_at: 2.days.ago) }
|
|
let!(:post1) { Fabricate(:post, topic: topic1, created_at: 2.days.ago) }
|
|
let!(:topic2) { Fabricate(:topic, created_at: 1.hour.ago) }
|
|
let!(:post2) { Fabricate(:post, topic: topic2, created_at: 1.hour.ago) }
|
|
|
|
describe "ai:spam:scan_posts" do
|
|
it "enqueues posts within date range" do
|
|
freeze_time do
|
|
start_date = 1.day.ago.to_s
|
|
end_date = Time.now.to_s
|
|
|
|
expect_enqueued_with(job: :ai_spam_scan, args: { post_id: post2.id }) do
|
|
Rake::Task["ai:spam:scan_posts"].invoke(start_date, end_date)
|
|
end
|
|
|
|
expect_not_enqueued_with(job: :ai_spam_scan, args: { post_id: post1.id })
|
|
end
|
|
end
|
|
end
|
|
|
|
describe "ai:spam:scan_topics" do
|
|
it "enqueues first posts of topics within date range" do
|
|
freeze_time do
|
|
start_date = 1.day.ago.to_s
|
|
end_date = Time.now.to_s
|
|
|
|
expect_enqueued_with(job: :ai_spam_scan, args: { post_id: topic2.first_post.id }) do
|
|
Rake::Task["ai:spam:scan_topics"].invoke(start_date, end_date)
|
|
end
|
|
|
|
expect_not_enqueued_with(job: :ai_spam_scan, args: { post_id: topic1.first_post.id })
|
|
end
|
|
end
|
|
end
|
|
end
|