FIX: Also evaluate list controller extensions (#455)
This commit is contained in:
parent
858636cf72
commit
7562925e0d
|
@ -3,7 +3,7 @@
|
|||
module DiscourseAssign
|
||||
module ListControllerExtension
|
||||
def self.prepended(base)
|
||||
base.class_eval { generate_message_route(:private_messages_assigned) }
|
||||
base.class_eval { ListController.generate_message_route(:private_messages_assigned) }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -40,6 +40,7 @@ after_initialize do
|
|||
|
||||
reloadable_patch do |plugin|
|
||||
Group.class_eval { prepend DiscourseAssign::GroupExtension }
|
||||
ListController.class_eval { prepend DiscourseAssign::ListControllerExtension }
|
||||
Post.class_eval { prepend DiscourseAssign::PostExtension }
|
||||
Topic.class_eval { prepend DiscourseAssign::TopicExtension }
|
||||
WebHook.class_eval { prepend DiscourseAssign::WebHookExtension }
|
||||
|
|
|
@ -4,10 +4,13 @@ require "rails_helper"
|
|||
require_relative "../support/assign_allowed_group"
|
||||
|
||||
describe ListController do
|
||||
before { SiteSetting.assign_enabled = true }
|
||||
before do
|
||||
SiteSetting.personal_message_enabled_groups = Group::AUTO_GROUPS[:trust_level_0]
|
||||
SiteSetting.assign_enabled = true
|
||||
end
|
||||
|
||||
let(:user) { Fabricate(:active_user) }
|
||||
let(:user2) { Fabricate(:user) }
|
||||
fab!(:user) { Fabricate(:active_user) }
|
||||
fab!(:user2) { Fabricate(:user) }
|
||||
let(:admin) { Fabricate(:admin) }
|
||||
let(:post) { Fabricate(:post) }
|
||||
|
||||
|
@ -329,4 +332,27 @@ describe ListController do
|
|||
expect(JSON.parse(response.body)["topic_list"]["topics"]).to be_empty
|
||||
end
|
||||
end
|
||||
|
||||
describe "#private_messages_assigned" do
|
||||
fab!(:group) { Fabricate(:group, users: [user]) }
|
||||
fab!(:pm) { Fabricate(:topic, archetype: Archetype.private_message, category_id: nil) }
|
||||
fab!(:topic) { Fabricate(:topic, user: user) }
|
||||
fab!(:pm_post) { Fabricate(:post, topic: pm) }
|
||||
fab!(:post) { Fabricate(:post, topic: topic) }
|
||||
|
||||
before do
|
||||
SiteSetting.assign_allowed_on_groups = "#{group.id}"
|
||||
Fabricate(:topic_allowed_user, user: user, topic: pm)
|
||||
Assigner.new(pm, user).assign(user)
|
||||
Assigner.new(topic, user).assign(user)
|
||||
end
|
||||
|
||||
it "returns assigned messages for user" do
|
||||
sign_in(user)
|
||||
|
||||
get "/topics/private-messages-assigned/#{user.username_lower}.json"
|
||||
|
||||
expect(JSON.parse(response.body)["topic_list"]["topics"].map { |t| t["id"] }).to eq([pm.id])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue