diff --git a/plugins/comment_paragraph/lib/comment_paragraph_plugin/discussion.rb b/plugins/comment_paragraph/lib/comment_paragraph_plugin/discussion.rb index 58bf799..3c454df 100644 --- a/plugins/comment_paragraph/lib/comment_paragraph_plugin/discussion.rb +++ b/plugins/comment_paragraph/lib/comment_paragraph_plugin/discussion.rb @@ -23,4 +23,8 @@ class CommentParagraphPlugin::Discussion < Event environment.plugin_enabled?(CommentParagraphPlugin) end + def comment_paragraph_plugin_activation_mode + "auto" + end + end diff --git a/plugins/comment_paragraph/lib/ext/article.rb b/plugins/comment_paragraph/lib/ext/article.rb index 5305ad7..0eaee8c 100644 --- a/plugins/comment_paragraph/lib/ext/article.rb +++ b/plugins/comment_paragraph/lib/ext/article.rb @@ -12,7 +12,7 @@ class Article settings_items :comment_paragraph_plugin_activate, :type => :boolean, :default => false def comment_paragraph_plugin_enabled? - environment.plugin_enabled?(CommentParagraphPlugin) && self.kind_of?(TextArticle) + environment.plugin_enabled?(CommentParagraphPlugin) && (self.kind_of?(TextArticle) || self.kind_of?(CommentParagraphPlugin::Discussion)) end def comment_paragraph_plugin_activated? @@ -55,7 +55,11 @@ class Article def comment_paragraph_plugin_set_initial_value self.comment_paragraph_plugin_activate = comment_paragraph_plugin_enabled? && - comment_paragraph_plugin_settings.activation_mode == 'auto' + comment_paragraph_plugin_activation_mode == 'auto' + end + + def comment_paragraph_plugin_activation_mode + comment_paragraph_plugin_settings.activation_mode end def comment_paragraph_plugin_settings diff --git a/plugins/comment_paragraph/test/unit/api_test.rb b/plugins/comment_paragraph/test/unit/api_test.rb index b630bba..6e7a9df 100644 --- a/plugins/comment_paragraph/test/unit/api_test.rb +++ b/plugins/comment_paragraph/test/unit/api_test.rb @@ -81,4 +81,13 @@ class APITest < ActiveSupport::TestCase json = JSON.parse(last_response.body) assert_equivalent [comment1.id], json['comments'].map {|c| c['id']} end + + should "create discussion article" do + article = fast_create(Article, :profile_id => person.id) + params[:article] = {name: "Title", type: "CommentParagraphPlugin::Discussion"} + post "/api/v1/articles/#{article.id}/children?#{params.to_query}" + json = JSON.parse(last_response.body) + assert_equal "CommentParagraphPlugin::Discussion", json["article"]["type"] + assert json["article"]["setting"]["comment_paragraph_plugin_activate"] + end end diff --git a/plugins/comment_paragraph/test/unit/article_test.rb b/plugins/comment_paragraph/test/unit/article_test.rb index ae4359d..bf634f5 100644 --- a/plugins/comment_paragraph/test/unit/article_test.rb +++ b/plugins/comment_paragraph/test/unit/article_test.rb @@ -170,4 +170,7 @@ class ArticleTest < ActiveSupport::TestCase assert_equal nil, article.comment_paragraph_plugin_paragraph_content(1) end + should 'be enabled if plugin is enabled and article is a kind of Discussion' do + assert fast_create(CommentParagraphPlugin::Discussion, profile_id: profile.id).comment_paragraph_plugin_enabled? + end end diff --git a/plugins/comment_paragraph/test/unit/discussion_test.rb b/plugins/comment_paragraph/test/unit/discussion_test.rb index b7dfd6a..6e80701 100644 --- a/plugins/comment_paragraph/test/unit/discussion_test.rb +++ b/plugins/comment_paragraph/test/unit/discussion_test.rb @@ -15,6 +15,7 @@ class DiscussionTest < ActiveSupport::TestCase discussion = CommentParagraphPlugin::Discussion.new(profile: profile, name: "discussion", start_date: Time.now, end_date: Time.now + 1.day) discussion.body = '' discussion.save! + assert discussion.comment_paragraph_plugin_activate assert_mark_paragraph discussion.body, 'li', 'item1' assert_mark_paragraph discussion.body, 'li', 'item2' end -- libgit2 0.21.2