Trim attributes that are not useful from `WebHookTopicViewSerializer`.
This commit is contained in:
parent
66d620f7b1
commit
519026a31f
|
@ -1,11 +1,18 @@
|
|||
require_dependency 'pinned_check'
|
||||
|
||||
class WebHookTopicViewSerializer < TopicViewSerializer
|
||||
def include_post_stream?
|
||||
false
|
||||
end
|
||||
|
||||
def include_timeline_lookup?
|
||||
false
|
||||
%i{
|
||||
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
|
||||
|
|
|
@ -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…
Reference in New Issue