Commit a754c9b63608bc027292625465c723cb5feb3a5d
Committed by
Thiago Ribeiro
1 parent
d6b096c2
Exists in
refactor_software_info_365
Add tests for create software task
Signed-off-by: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com> Signed-off-by: Marcos Ronaldo <marcos.rpj2@gmail.com>
Showing
2 changed files
with
24 additions
and
5 deletions
Show diff stats
lib/software_info.rb
| @@ -166,7 +166,7 @@ class SoftwareInfo < ActiveRecord::Base | @@ -166,7 +166,7 @@ class SoftwareInfo < 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 < ActiveRecord::Base | @@ -189,15 +189,16 @@ class SoftwareInfo < 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 < ActionController::TestC | @@ -186,4 +186,22 @@ class SoftwareCommunitiesPluginMyprofileControllerTest < 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 |