mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FEATURE: allow plugins to preload data in topic list
This commit is contained in:
@@ -1,7 +1,12 @@
|
||||
require 'rails_helper'
|
||||
|
||||
describe TopicList do
|
||||
let!(:topic) { Fabricate(:topic) }
|
||||
let!(:topic) {
|
||||
t = Fabricate(:topic)
|
||||
t.allowed_user_ids = [t.user.id]
|
||||
t
|
||||
}
|
||||
|
||||
let(:user) { topic.user }
|
||||
let(:topic_list) { TopicList.new("liked", user, [topic]) }
|
||||
|
||||
@@ -23,6 +28,23 @@ describe TopicList do
|
||||
end
|
||||
end
|
||||
|
||||
context "preload" do
|
||||
it "allows preloading of data" do
|
||||
preloaded_topic = false
|
||||
preloader = lambda do |topics|
|
||||
expect(topics.length).to eq(1)
|
||||
preloaded_topic = true
|
||||
end
|
||||
|
||||
TopicList.on_preload(preloader)
|
||||
|
||||
topic_list.topics
|
||||
expect(preloaded_topic).to eq(true)
|
||||
|
||||
TopicList.cancel_preload(preloader)
|
||||
end
|
||||
end
|
||||
|
||||
context "DiscourseTagging enabled" do
|
||||
before do
|
||||
SiteSetting.tagging_enabled = true
|
||||
|
||||
Reference in New Issue
Block a user