From a754c9b63608bc027292625465c723cb5feb3a5d Mon Sep 17 00:00:00 2001 From: Luciano Prestes Cavalcanti Date: Tue, 29 Sep 2015 18:06:00 +0200 Subject: [PATCH] Add tests for create software task --- lib/software_info.rb | 11 ++++++----- test/functional/software_communities_plugin_myprofile_controller_test.rb | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/lib/software_info.rb b/lib/software_info.rb index 3cd0e40..350696d 100644 --- a/lib/software_info.rb +++ b/lib/software_info.rb @@ -166,7 +166,7 @@ class SoftwareInfo < ActiveRecord::Base another_license_link = attributes.delete(:another_license_link) software_info = SoftwareInfo.new(attributes) - if !environment.admins.include? requestor + unless environment.admins.include? requestor CreateSoftware.create!( attributes.merge( :requestor => requestor, @@ -189,15 +189,16 @@ class SoftwareInfo < ActiveRecord::Base community.template_id = software_template.id end - software_info.license_info = license_info - software_info.save - community.software_info = software_info community.save! community.add_admin(requestor) + + software_info.community = community + software_info.license_info = license_info + software_info.save! end software_info.verify_license_info(another_license_version, another_license_link) - software_info.save! + software_info.save software_info end diff --git a/test/functional/software_communities_plugin_myprofile_controller_test.rb b/test/functional/software_communities_plugin_myprofile_controller_test.rb index f4e97cc..f6e2e8e 100644 --- a/test/functional/software_communities_plugin_myprofile_controller_test.rb +++ b/test/functional/software_communities_plugin_myprofile_controller_test.rb @@ -186,4 +186,22 @@ class SoftwareCommunitiesPluginMyprofileControllerTest < ActionController::TestC assert_includes @response.body, "Domain is not available" end + + should "create software with admin moderation" do + @environment.enable('admin_must_approve_new_communities') + + post( + :new_software, + :community => {:name =>"New Software", :identifier => "new-software"}, + :software_info => {:finality => "something", :repository_link => ""}, + :license =>{:license_infos_id => LicenseInfo.last.id}, + :profile => @person.identifier + ) + + @environment.add_admin(@person) + Task.last.send('finish', @person) + + assert_equal "New Software", Task.last.data[:name] + assert_equal "New Software", SoftwareInfo.last.community.name + end end -- libgit2 0.21.2