From 21a9339081c9f7fe9c4e271bccab808ab50e2f96 Mon Sep 17 00:00:00 2001 From: Leandro Nunes dos Santos Date: Wed, 16 Sep 2015 09:58:15 -0300 Subject: [PATCH] should not crash if em empty parent is passed as parameter --- lib/proposals_discussion_plugin.rb | 2 +- test/unit/proposals_discussion_plugin_test.rb | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/proposals_discussion_plugin.rb b/lib/proposals_discussion_plugin.rb index bd21310..edec7a2 100644 --- a/lib/proposals_discussion_plugin.rb +++ b/lib/proposals_discussion_plugin.rb @@ -16,7 +16,7 @@ class ProposalsDiscussionPlugin < Noosfero::Plugin if context.respond_to?(:params) && context.params.kind_of?(Hash) && context.params[:controller] == 'cms' && context.params[:action] == 'new' types = [] parent_id = context.params[:parent_id] || (context.params[:article][:parent_id] unless context.params[:article].nil?) - parent = parent_id ? context.profile.articles.find(parent_id) : nil + parent = parent_id.present? ? context.profile.articles.find(parent_id) : nil types << ProposalsDiscussionPlugin::Discussion types << ProposalsDiscussionPlugin::Topic if parent.kind_of?(ProposalsDiscussionPlugin::Discussion) if parent.kind_of?(ProposalsDiscussionPlugin::Topic) || ( parent.kind_of?(ProposalsDiscussionPlugin::Discussion) && !parent.allow_topics) diff --git a/test/unit/proposals_discussion_plugin_test.rb b/test/unit/proposals_discussion_plugin_test.rb index 78873fc..ce39147 100644 --- a/test/unit/proposals_discussion_plugin_test.rb +++ b/test/unit/proposals_discussion_plugin_test.rb @@ -20,6 +20,11 @@ class ProposalsDiscussionPluginTest < ActiveSupport::TestCase assert_includes plugin.content_types, ProposalsDiscussionPlugin::Discussion end + should 'return Discussion as a content type if parent is empty' do + @params[:parent_id] = '' + assert_includes plugin.content_types, ProposalsDiscussionPlugin::Discussion + end + should 'return Topic as a content type if parent_id parameter is a Discussion' do parent = fast_create(ProposalsDiscussionPlugin::Discussion, :profile_id => @profile.id) @params[:parent_id] = parent.id -- libgit2 0.21.2