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 |