DEV: Improve specs to provide a better error message.

This commit is contained in:
Guo Xiang Tan 2018-10-19 14:31:17 +08:00
parent 9bfc939692
commit 65faff5832
1 changed files with 40 additions and 13 deletions

View File

@ -11,20 +11,47 @@ RSpec.describe WebHookTopicViewSerializer do
)
end
it 'should only include the required keys' do
count = serializer.as_json.keys.count
difference = count - 30
before do
SiteSetting.tagging_enabled = true
end
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."
it 'should only include the keys that are sent out in the webhook' do
expected_keys = %i{
id
title
fancy_title
posts_count
created_at
views
reply_count
like_count
last_posted_at
visible
closed
archived
archetype
slug
category_id
word_count
deleted_at
user_id
featured_link
pinned_globally
pinned_at
pinned_until
unpinned
pinned
highest_post_number
deleted_by
bookmarked
participant_count
created_by
last_poster
tags
}
keys = serializer.as_json.keys
expect(serializer.as_json.keys).to contain_exactly(*expected_keys)
end
end