Commit 01d3165e52c24c0e94a588f370599f3ea04c0bd3
1 parent
228e43c2
Exists in
software_as_organization
fix unit tests of softare community
Signed-off-by: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com> Signed-off-by: Marcos Ronaldo <marcos.rpj2@gmail.com>
Showing
8 changed files
with
54 additions
and
35 deletions
Show diff stats
src/noosfero-spb/software_communities/db/migrate/20151125175514_change_software_info_structure.rb
1 | -class CreateSispInfo < ActiveRecord::Migration | 1 | +class ChangeSoftwareInfoStructure < ActiveRecord::Migration |
2 | def up | 2 | def up |
3 | - create_table :sosftware_infos do |t| | ||
4 | - t.integer :software_id | 3 | + change_table :software_infos do |t| |
4 | + t.references :software, index: true, foreign_key: true | ||
5 | t.text :agency_identification | 5 | t.text :agency_identification |
6 | t.text :softawre_requirements | 6 | t.text :softawre_requirements |
7 | t.text :hardware_requirements | 7 | t.text :hardware_requirements |
src/noosfero-spb/software_communities/lib/create_software.rb
@@ -26,18 +26,22 @@ class CreateSoftware < Task | @@ -26,18 +26,22 @@ class CreateSoftware < Task | ||
26 | identifier = self.identifier | 26 | identifier = self.identifier |
27 | identifier ||= self.name.to_slug | 27 | identifier ||= self.name.to_slug |
28 | 28 | ||
29 | - community = Community.create!(:name => self.name, | ||
30 | - :identifier => identifier, | ||
31 | - :template_id => template_id) | 29 | + software = Software.new(:name => self.name, |
30 | + :identifier => identifier, | ||
31 | + :template_id => template_id) | ||
32 | 32 | ||
33 | - community.environment = self.environment | ||
34 | - community.add_admin(self.requestor) | ||
35 | 33 | ||
36 | - software = SoftwareInfo.new(:finality => self.finality, | ||
37 | - :repository_link => self.repository_link, :community_id => community.id, | ||
38 | - :license_info => self.license_info) | ||
39 | - software.verify_license_info(self.another_license_version, self.another_license_link) | 34 | + software_info = SoftwareInfo.new(:finality => self.finality, |
35 | + :repository_link => self.repository_link, | ||
36 | + :license_info => self.license_info) | ||
37 | + software_info.verify_license_info(self.another_license_version, self.another_license_link) | ||
38 | + | ||
39 | + software_info.software = software | ||
40 | + software.software_info = software_info | ||
40 | software.save! | 41 | software.save! |
42 | + | ||
43 | + software.environment = self.environment | ||
44 | + software.add_admin(self.requestor) | ||
41 | end | 45 | end |
42 | 46 | ||
43 | def title | 47 | def title |
src/noosfero-spb/software_communities/lib/software_info.rb
@@ -123,6 +123,10 @@ class SoftwareInfo < ActiveRecord::Base | @@ -123,6 +123,10 @@ class SoftwareInfo < ActiveRecord::Base | ||
123 | return self.software | 123 | return self.software |
124 | end | 124 | end |
125 | 125 | ||
126 | + def community= community | ||
127 | + self.software = community.becomes(Software) if community | ||
128 | + end | ||
129 | + | ||
126 | def license_info | 130 | def license_info |
127 | license = LicenseInfo.find_by_id self.license_info_id | 131 | license = LicenseInfo.find_by_id self.license_info_id |
128 | license_another = LicenseInfo.find_by_version("Another") | 132 | license_another = LicenseInfo.find_by_version("Another") |
@@ -196,13 +200,14 @@ class SoftwareInfo < ActiveRecord::Base | @@ -196,13 +200,14 @@ class SoftwareInfo < ActiveRecord::Base | ||
196 | software.template_id = software_template.id | 200 | software.template_id = software_template.id |
197 | end | 201 | end |
198 | 202 | ||
199 | - software.save! | ||
200 | - software.add_admin(requestor) | ||
201 | - | ||
202 | software_info.software = software | 203 | software_info.software = software |
203 | software_info.license_info = license_info | 204 | software_info.license_info = license_info |
204 | software_info.verify_license_info(another_license_version, another_license_link) | 205 | software_info.verify_license_info(another_license_version, another_license_link) |
205 | software_info.save! | 206 | software_info.save! |
207 | + software.software_info = software_info | ||
208 | + software.save! | ||
209 | + software.add_admin(requestor) | ||
210 | + | ||
206 | end | 211 | end |
207 | 212 | ||
208 | software_info | 213 | software_info |
src/noosfero-spb/software_communities/test/helpers/plugin_test_helper.rb
1 | module PluginTestHelper | 1 | module PluginTestHelper |
2 | 2 | ||
3 | - def create_community name | ||
4 | - community = fast_create(Community) | ||
5 | - community.name = name | ||
6 | - community.identifier = name.to_slug | ||
7 | - community.save | ||
8 | - community | 3 | + def create_software name |
4 | + software = Software.new | ||
5 | + software.name = name | ||
6 | + software.identifier = name.to_slug | ||
7 | + software.save | ||
8 | + software | ||
9 | end | 9 | end |
10 | 10 | ||
11 | def create_software_info name, finality = "something", acronym = "" | 11 | def create_software_info name, finality = "something", acronym = "" |
12 | - community = create_community(name) | 12 | + software = create_software(name) |
13 | software_info = SoftwareInfo.new | 13 | software_info = SoftwareInfo.new |
14 | - software_info.community = community | 14 | + software_info.software = software |
15 | software_info.finality = finality | 15 | software_info.finality = finality |
16 | software_info.acronym = acronym | 16 | software_info.acronym = acronym |
17 | software_info.public_software = true | 17 | software_info.public_software = true |
18 | - software_info.save! | 18 | + |
19 | + software.software_info = software_info | ||
20 | + software.save | ||
19 | 21 | ||
20 | software_info | 22 | software_info |
21 | end | 23 | end |
src/noosfero-spb/software_communities/test/unit/communities_block_test.rb
@@ -9,7 +9,7 @@ class CommunitiesBlockTest < ActiveSupport::TestCase | @@ -9,7 +9,7 @@ class CommunitiesBlockTest < ActiveSupport::TestCase | ||
9 | @software_info = create_software_info("Novo Software") | 9 | @software_info = create_software_info("Novo Software") |
10 | @software_info.community.add_member(@person) | 10 | @software_info.community.add_member(@person) |
11 | 11 | ||
12 | - @community = create_community("Nova Comunidade") | 12 | + @community = fast_create(Community) |
13 | @community.add_member(@person) | 13 | @community.add_member(@person) |
14 | 14 | ||
15 | 15 |
src/noosfero-spb/software_communities/test/unit/software_communities_person_test.rb
@@ -27,7 +27,7 @@ class GovUserPluginPersonTest < ActiveSupport::TestCase | @@ -27,7 +27,7 @@ class GovUserPluginPersonTest < ActiveSupport::TestCase | ||
27 | should 'get a list of softwares of a person' do | 27 | should 'get a list of softwares of a person' do |
28 | software1 = create_software_info "noosfero" | 28 | software1 = create_software_info "noosfero" |
29 | software2 = create_software_info "colab" | 29 | software2 = create_software_info "colab" |
30 | - community = create_community "simple_community" | 30 | + community = fast_create(Community) |
31 | 31 | ||
32 | software1.community.add_member @person | 32 | software1.community.add_member @person |
33 | software1.save! | 33 | software1.save! |
src/noosfero-spb/software_communities/test/unit/software_events_block_test.rb
@@ -5,12 +5,14 @@ class SoftwareEventsBlockTest < ActiveSupport::TestCase | @@ -5,12 +5,14 @@ class SoftwareEventsBlockTest < ActiveSupport::TestCase | ||
5 | include PluginTestHelper | 5 | include PluginTestHelper |
6 | 6 | ||
7 | def setup | 7 | def setup |
8 | - @community = create_community("A new community") | 8 | + @software = fast_create(Community) |
9 | + @software = create_software_info("a software").software | ||
10 | + @software.boxes.destroy_all | ||
9 | @software_events_block = SoftwareEventsBlock.new | 11 | @software_events_block = SoftwareEventsBlock.new |
10 | 12 | ||
11 | box = Box.new | 13 | box = Box.new |
12 | box.position = 1 | 14 | box.position = 1 |
13 | - box.owner = @community | 15 | + box.owner = @software |
14 | box.blocks << @software_events_block | 16 | box.blocks << @software_events_block |
15 | box.save! | 17 | box.save! |
16 | 18 | ||
@@ -23,10 +25,10 @@ class SoftwareEventsBlockTest < ActiveSupport::TestCase | @@ -23,10 +25,10 @@ class SoftwareEventsBlockTest < ActiveSupport::TestCase | ||
23 | @e3 = Event.new :name=>"Event 3", :body=>"Event 3 body", | 25 | @e3 = Event.new :name=>"Event 3", :body=>"Event 3 body", |
24 | :start_date=>(DateTime.now - 20.days), :end_date=>(DateTime.now - 10.days) | 26 | :start_date=>(DateTime.now - 20.days), :end_date=>(DateTime.now - 10.days) |
25 | 27 | ||
26 | - @community.events << @e1 | ||
27 | - @community.events << @e2 | ||
28 | - @community.events << @e3 | ||
29 | - @community.save! | 28 | + @software.events << @e1 |
29 | + @software.events << @e2 | ||
30 | + @software.events << @e3 | ||
31 | + @software.save! | ||
30 | end | 32 | end |
31 | 33 | ||
32 | should "give community events that have not yet finished ordered by start date" do | 34 | should "give community events that have not yet finished ordered by start date" do |
@@ -46,7 +48,7 @@ class SoftwareEventsBlockTest < ActiveSupport::TestCase | @@ -46,7 +48,7 @@ class SoftwareEventsBlockTest < ActiveSupport::TestCase | ||
46 | should "tell if there are events to be displayed" do | 48 | should "tell if there are events to be displayed" do |
47 | assert_equal true, @software_events_block.has_events_to_display? | 49 | assert_equal true, @software_events_block.has_events_to_display? |
48 | 50 | ||
49 | - @community.events.update_all :start_date => (DateTime.now - 2.days), | 51 | + @software.events.update_all :start_date => (DateTime.now - 2.days), |
50 | :end_date => (DateTime.now - 1.day) | 52 | :end_date => (DateTime.now - 1.day) |
51 | 53 | ||
52 | assert_equal false, @software_events_block.has_events_to_display? | 54 | assert_equal false, @software_events_block.has_events_to_display? |
src/noosfero-spb/software_communities/test/unit/software_language_validation.rb
@@ -46,9 +46,11 @@ class SoftwareLanguageValidationTest < ActiveSupport::TestCase | @@ -46,9 +46,11 @@ class SoftwareLanguageValidationTest < ActiveSupport::TestCase | ||
46 | end | 46 | end |
47 | 47 | ||
48 | def create_software_info | 48 | def create_software_info |
49 | + software = Software.new | ||
50 | + | ||
49 | software_info = SoftwareInfo.new | 51 | software_info = SoftwareInfo.new |
50 | - software_info.community_id = fast_create(Community).id | ||
51 | - software_info.community.name = 'Noosfero' | 52 | + software_info.software = software |
53 | + software_info.software.name = 'Noosfero' | ||
52 | software_info.e_mag = true | 54 | software_info.e_mag = true |
53 | software_info.icp_brasil = true | 55 | software_info.icp_brasil = true |
54 | software_info.intern = true | 56 | software_info.intern = true |
@@ -57,6 +59,10 @@ class SoftwareLanguageValidationTest < ActiveSupport::TestCase | @@ -57,6 +59,10 @@ class SoftwareLanguageValidationTest < ActiveSupport::TestCase | ||
57 | software_info.operating_platform = 'GNU/Linux' | 59 | software_info.operating_platform = 'GNU/Linux' |
58 | software_info.features = "Do a lot of things" | 60 | software_info.features = "Do a lot of things" |
59 | software_info.objectives = "All tests should pass !" | 61 | software_info.objectives = "All tests should pass !" |
62 | + software_info.finality = "Teste" | ||
63 | + | ||
64 | + software.software_info = software_info | ||
65 | + software.save! | ||
60 | software_info | 66 | software_info |
61 | end | 67 | end |
62 | 68 |