mirror of
https://github.com/discourse/discourse-ai.git
synced 2025-05-12 03:18:50 +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
|