diff --git a/lib/software_communities_plugin.rb b/lib/software_communities_plugin.rb index d5fe28c..b70466c 100644 --- a/lib/software_communities_plugin.rb +++ b/lib/software_communities_plugin.rb @@ -71,7 +71,9 @@ class SoftwareCommunitiesPlugin < Noosfero::Plugin end def communities_ratings_plugin_comments_extra_fields - Proc::new do render :file => 'comments_extra_fields' end + if context.profile.software? + Proc::new { render :file => 'comments_extra_fields' } + end end def communities_ratings_plugin_star_message diff --git a/test/functional/profile_controller_test.rb b/test/functional/profile_controller_test.rb new file mode 100644 index 0000000..469e063 --- /dev/null +++ b/test/functional/profile_controller_test.rb @@ -0,0 +1,55 @@ +require File.expand_path(File.dirname(__FILE__)) + '/../../../../test/test_helper' +require File.expand_path(File.dirname(__FILE__)) + '/../helpers/software_test_helper' +require( + File.expand_path(File.dirname(__FILE__)) + + '/../../../../app/controllers/public/profile_controller' +) + +class ProfileController; def rescue_action(e) raise e end; end + +class ProfileControllerTest < ActionController::TestCase +include SoftwareTestHelper + def setup + @controller =CommunitiesRatingsPluginProfileController.new + @request = ActionController::TestRequest.new + @response = ActionController::TestResponse.new + @profile = create_user('default_user').person + + Environment.default.affiliate( + @profile, + [Environment::Roles.admin(Environment.default.id)] + + Profile::Roles.all_roles(Environment.default.id) + ) + + LicenseInfo.create( + :version=>"CC-GPL-V2", + :link=>"http://creativecommons.org/licenses/GPL/2.0/legalcode.pt" + ) + + @environment = Environment.default + @environment.enabled_plugins = ['SoftwareCommunitiesPlugin', 'CommunitiesRatingsPlugin'] + admin = create_user("adminuser").person + admin.stubs(:has_permission?).returns("true") + login_as('adminuser') + @environment.add_admin(admin) + @environment.save + end + + should "dispach additional comment fields to Softwares" do + @hash_list = software_fields + software = create_software(@hash_list) + + get :new_rating , profile: software.community.identifier + assert_template :new_rating + assert_match(/Aditional informations/, @response.body) + end + + should "NOT dispach additional comment fields only to Softwares" do + community = fast_create(Community) + + get :new_rating , profile: community.identifier + assert_template :new_rating + assert_not_match(/Aditional informations/, @response.body) + end + +end \ No newline at end of file -- libgit2 0.21.2