added tests for CustomWizard::RealtimeValidation::SimilarTopics class
Dieser Commit ist enthalten in:
Ursprung
c196c4fee7
Commit
c5ad11c0a4
1 geänderte Dateien mit 39 neuen und 0 gelöschten Zeilen
|
@ -0,0 +1,39 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
describe ::CustomWizard::RealtimeValidation::SimilarTopics do
|
||||
let(:post) { create_post(title: "matching similar topic") }
|
||||
let(:topic) { post.topic }
|
||||
let(:user) { post.user }
|
||||
|
||||
let(:category) { Fabricate(:category) }
|
||||
let(:cat_post) { create_post(title: "matching similar topic slightly different", category: category) }
|
||||
let(:cat_topic) { cat_post.topic }
|
||||
let(:user) { cat_post.user }
|
||||
|
||||
before do
|
||||
SiteSetting.min_title_similar_length = 5
|
||||
Topic.stubs(:count_exceeds_minimum?).returns(true)
|
||||
SearchIndexer.enable
|
||||
end
|
||||
|
||||
it "fetches similar topics" do
|
||||
validation = ::CustomWizard::RealtimeValidation::SimilarTopics.new(user)
|
||||
result = validation.perform({ title: topic.title.chars.take(10).join })
|
||||
expect(result.items.length).to eq(2)
|
||||
end
|
||||
|
||||
it "filters topics based on category" do
|
||||
validation = ::CustomWizard::RealtimeValidation::SimilarTopics.new(user)
|
||||
result = validation.perform({ title: "matching similar", categories: [category.id.to_s] })
|
||||
expect(result.items.length).to eq(1)
|
||||
end
|
||||
|
||||
it "filters topics based on created date" do
|
||||
topic.update!(created_at: 1.day.ago)
|
||||
cat_topic.update!(created_at: 2.days.ago)
|
||||
|
||||
validation = ::CustomWizard::RealtimeValidation::SimilarTopics.new(user)
|
||||
result = validation.perform({ title: "matching similar", date_after: 1.day.ago.to_date.to_s })
|
||||
expect(result.items.length).to eq(1)
|
||||
end
|
||||
end
|
Laden …
In neuem Issue referenzieren