FIX: featured link topics shouldn't require the same min post length

This commit is contained in:
Neil Lalonde 2016-12-09 15:46:26 -05:00
parent 5da52780e4
commit fb2633366a
4 changed files with 9 additions and 8 deletions

View File

@ -286,7 +286,7 @@ const Composer = RestModel.extend({
@computed('minimumPostLength', 'replyLength', 'canEditTopicFeaturedLink')
missingReplyCharacters(minimumPostLength, replyLength, canEditTopicFeaturedLink) {
if (this.get('post.post_type') === this.site.get('post_types.small_action') ||
canEditTopicFeaturedLink && this.siteSettings.topic_featured_link_onebox) { return 0; }
canEditTopicFeaturedLink && this.get('featuredLink')) { return 0; }
return minimumPostLength - replyLength;
},
@ -509,9 +509,7 @@ const Composer = RestModel.extend({
if (!this.get('cantSubmitPost')) {
// change category may result in some effect for topic featured link
if (this.get('canEditTopicFeaturedLink')) {
if (this.siteSettings.topic_featured_link_onebox) { this.set('reply', null); }
} else {
if (!this.get('canEditTopicFeaturedLink')) {
this.set('featuredLink', null);
}

View File

@ -41,7 +41,7 @@ class Validators::PostValidator < ActiveModel::Validator
SiteSetting.private_message_post_length
elsif post.is_first_post? || (post.topic.present? && post.topic.posts_count == 0)
# creating/editing first post
SiteSetting.first_post_length
post.topic&.featured_link&.present? ? (0..SiteSetting.max_post_length) : SiteSetting.first_post_length
else
# regular post
SiteSetting.post_length

View File

@ -246,8 +246,10 @@ describe PostCreator do
it 'creates a post with featured link' do
SiteSetting.topic_featured_link_enabled = true
SiteSetting.min_first_post_length = 100
post = creator_with_featured_link.create
expect(post.topic.featured_link).to eq('http://www.discourse.org')
expect(post.valid?).to eq(true)
end
describe "topic's auto close" do

View File

@ -41,9 +41,10 @@ test('missingReplyCharacters', function() {
missingReplyCharacters('hi', false, true, Discourse.SiteSettings.min_first_post_length - 2, 'too short first post');
missingReplyCharacters('hi', true, false, Discourse.SiteSettings.min_private_message_post_length - 2, 'too short private message');
// TODO: test that presence of featured link makes this test pass
// const composer = createComposer({ canEditTopicFeaturedLink: true });
// equal(composer.get('missingReplyCharacters'), 0, "don't require any post content");
const link = "http://imgur.com/gallery/grxX8";
const composer = createComposer({ canEditTopicFeaturedLink: true, title: link, featuredLink: link, reply: link });
equal(composer.get('missingReplyCharacters'), 0, "don't require any post content");
});
test('missingTitleCharacters', function() {