mirror of
https://github.com/discourse/discourse.git
synced 2025-09-04 08:47:37 +08:00
Trim attributes that are not useful from WebHookTopicViewSerializer
.
This commit is contained in:
parent
66d620f7b1
commit
519026a31f
2 changed files with 42 additions and 5 deletions
|
@ -1,11 +1,18 @@
|
||||||
require_dependency 'pinned_check'
|
require_dependency 'pinned_check'
|
||||||
|
|
||||||
class WebHookTopicViewSerializer < TopicViewSerializer
|
class WebHookTopicViewSerializer < TopicViewSerializer
|
||||||
def include_post_stream?
|
|
||||||
false
|
|
||||||
end
|
|
||||||
|
|
||||||
def include_timeline_lookup?
|
%i{
|
||||||
false
|
post_stream
|
||||||
|
timeline_lookup
|
||||||
|
pm_with_non_human_user
|
||||||
|
draft
|
||||||
|
draft_key
|
||||||
|
draft_sequence
|
||||||
|
message_bus_last_id
|
||||||
|
}.each do |attr|
|
||||||
|
define_method("include_#{attr}?") do
|
||||||
|
false
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
30
spec/serializers/web_hook_topic_view_serializer_spec.rb
Normal file
30
spec/serializers/web_hook_topic_view_serializer_spec.rb
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe WebHookTopicViewSerializer do
|
||||||
|
let(:admin) { Fabricate(:admin) }
|
||||||
|
let(:topic) { Fabricate(:topic) }
|
||||||
|
|
||||||
|
let(:serializer) do
|
||||||
|
WebHookTopicViewSerializer.new(TopicView.new(topic),
|
||||||
|
scope: Guardian.new(admin),
|
||||||
|
root: false
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should only include the required keys' do
|
||||||
|
count = serializer.as_json.keys.count
|
||||||
|
difference = count - 35
|
||||||
|
|
||||||
|
expect(difference).to eq(0), lambda {
|
||||||
|
message = ""
|
||||||
|
|
||||||
|
if difference < 0
|
||||||
|
message << "#{difference * -1} key(s) have been removed from this serializer."
|
||||||
|
else
|
||||||
|
message << "#{difference} key(s) have been added to this serializer."
|
||||||
|
end
|
||||||
|
|
||||||
|
message << "\nPlease verify if those key(s) are required as part of the web hook's payload."
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
Loading…
Add table
Add a link
Reference in a new issue