Commit a754c9b63608bc027292625465c723cb5feb3a5d

Authored by Luciano Prestes
Committed by Thiago Ribeiro
1 parent d6b096c2

Add tests for create software task

Signed-off-by: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>
Signed-off-by: Marcos Ronaldo <marcos.rpj2@gmail.com>
lib/software_info.rb
@@ -166,7 +166,7 @@ class SoftwareInfo &lt; ActiveRecord::Base @@ -166,7 +166,7 @@ class SoftwareInfo &lt; ActiveRecord::Base
166 another_license_link = attributes.delete(:another_license_link) 166 another_license_link = attributes.delete(:another_license_link)
167 167
168 software_info = SoftwareInfo.new(attributes) 168 software_info = SoftwareInfo.new(attributes)
169 - if !environment.admins.include? requestor 169 + unless environment.admins.include? requestor
170 CreateSoftware.create!( 170 CreateSoftware.create!(
171 attributes.merge( 171 attributes.merge(
172 :requestor => requestor, 172 :requestor => requestor,
@@ -189,15 +189,16 @@ class SoftwareInfo &lt; ActiveRecord::Base @@ -189,15 +189,16 @@ class SoftwareInfo &lt; ActiveRecord::Base
189 community.template_id = software_template.id 189 community.template_id = software_template.id
190 end 190 end
191 191
192 - software_info.license_info = license_info  
193 - software_info.save  
194 - community.software_info = software_info  
195 community.save! 192 community.save!
196 community.add_admin(requestor) 193 community.add_admin(requestor)
  194 +
  195 + software_info.community = community
  196 + software_info.license_info = license_info
  197 + software_info.save!
197 end 198 end
198 199
199 software_info.verify_license_info(another_license_version, another_license_link) 200 software_info.verify_license_info(another_license_version, another_license_link)
200 - software_info.save! 201 + software_info.save
201 software_info 202 software_info
202 end 203 end
203 204
test/functional/software_communities_plugin_myprofile_controller_test.rb
@@ -186,4 +186,22 @@ class SoftwareCommunitiesPluginMyprofileControllerTest &lt; ActionController::TestC @@ -186,4 +186,22 @@ class SoftwareCommunitiesPluginMyprofileControllerTest &lt; ActionController::TestC
186 186
187 assert_includes @response.body, "Domain is not available" 187 assert_includes @response.body, "Domain is not available"
188 end 188 end
  189 +
  190 + should "create software with admin moderation" do
  191 + @environment.enable('admin_must_approve_new_communities')
  192 +
  193 + post(
  194 + :new_software,
  195 + :community => {:name =>"New Software", :identifier => "new-software"},
  196 + :software_info => {:finality => "something", :repository_link => ""},
  197 + :license =>{:license_infos_id => LicenseInfo.last.id},
  198 + :profile => @person.identifier
  199 + )
  200 +
  201 + @environment.add_admin(@person)
  202 + Task.last.send('finish', @person)
  203 +
  204 + assert_equal "New Software", Task.last.data[:name]
  205 + assert_equal "New Software", SoftwareInfo.last.community.name
  206 + end
189 end 207 end