Commit e313c1719966ad5f5594bad0d112657989b79713

Authored by Gabriela Navarro
1 parent 5c62082b

Fix unit tests for mpog_software

Signed-off-by: Daniel Bucher <daniel.bucher88@gmail.com>
Signed-off-by: Gabriela Navarro <navarro1703@gmail.com>
test/unit/controlled_vocabulary_test.rb
@@ -3,28 +3,39 @@ require File.dirname(__FILE__) + &#39;/../../../../test/test_helper&#39; @@ -3,28 +3,39 @@ require File.dirname(__FILE__) + &#39;/../../../../test/test_helper&#39;
3 class ControlledVocabularyTest < ActiveSupport::TestCase 3 class ControlledVocabularyTest < ActiveSupport::TestCase
4 4
5 def setup 5 def setup
6 - @community = fast_create(Community) 6 + @community = fast_create(Community, :identifier => 'new-software', :name => 'New Software')
  7 +
7 @language = ProgrammingLanguage.new(:name => 'C++') 8 @language = ProgrammingLanguage.new(:name => 'C++')
8 @language.save 9 @language.save
9 @software_language = SoftwareLanguage.new(:version => '1', :operating_system => 'os') 10 @software_language = SoftwareLanguage.new(:version => '1', :operating_system => 'os')
10 @software_language.programming_language = @language 11 @software_language.programming_language = @language
11 @software_language.save 12 @software_language.save
  13 +
12 @database = DatabaseDescription.new(:name => 'Oracle') 14 @database = DatabaseDescription.new(:name => 'Oracle')
13 @database.save 15 @database.save
14 @software_database = SoftwareDatabase.new(:version => '2', :operating_system => 'os2') 16 @software_database = SoftwareDatabase.new(:version => '2', :operating_system => 'os2')
15 @software_database.database_description = @database 17 @software_database.database_description = @database
16 @software_database.save 18 @software_database.save
17 - @software_info = SoftwareInfo.new(:community_id=>1, :acronym => "SFTW", :e_mag => true,:icp_brasil => true,:intern => true,:e_ping => true,  
18 - :e_arq => true,:name => true,:operating_platform => true,:objectives => "",:features => "")  
19 - @controlled_language = ControlledVocabulary.new()  
20 - @controlled_vocabulary = ControlledVocabulary.new(:administration => true, :agriculture => true, :business_and_services => true, :communication => true,  
21 - :culture => true, :national_defense => true, :economy_and_finances => true, :education => true,  
22 - :energy => true, :sports => false , :habitation => true, :industry => true, :environment => true,  
23 - :research_and_development => true, :social_security => false , :social_protection => true,  
24 - :international_relations => true, :sanitation => true, :health => false,  
25 - :security_public_order => true, :work => true, :transportation => true, :urbanism => true) 19 +
  20 + @operating_system_name = OperatingSystemName.new(:name => 'Debian')
  21 + @operating_system_name.save
  22 + @operating_system = OperatingSystem.new(:version => '1.0')
  23 + @operating_system.operating_system_name = @operating_system_name
  24 + @operating_system.save
  25 +
  26 + @software_info = SoftwareInfo.new(:acronym => "SFTW", :e_mag => true,:icp_brasil => true,:intern => true,:e_ping => true,
  27 + :e_arq => true, :operating_platform => true, :objectives => "", :features => "")
26 @software_info.software_languages << @software_language 28 @software_info.software_languages << @software_language
27 @software_info.software_databases << @software_database 29 @software_info.software_databases << @software_database
  30 + @software_info.operating_systems << @operating_system
  31 +
  32 + @controlled_language = ControlledVocabulary.new()
  33 + @controlled_vocabulary = ControlledVocabulary.new(:administration => true, :agriculture => true, :business_and_services => true, :communication => true,
  34 + :culture => true, :national_defense => true, :economy_and_finances => true, :education => true,
  35 + :energy => true, :sports => false , :habitation => true, :industry => true, :environment => true,
  36 + :research_and_development => true, :social_security => false , :social_protection => true,
  37 + :international_relations => true, :sanitation => true, :health => false,
  38 + :security_public_order => true, :work => true, :transportation => true, :urbanism => true)
28 @software_info.controlled_vocabulary = @controlled_vocabulary 39 @software_info.controlled_vocabulary = @controlled_vocabulary
29 end 40 end
30 41
@@ -41,7 +52,8 @@ class ControlledVocabularyTest &lt; ActiveSupport::TestCase @@ -41,7 +52,8 @@ class ControlledVocabularyTest &lt; ActiveSupport::TestCase
41 should "return a valid value from database" do 52 should "return a valid value from database" do
42 @software_info.save 53 @software_info.save
43 @controlled_vocabulary.save 54 @controlled_vocabulary.save
44 - controlled_vocabulary = ControlledVocabulary.find(SoftwareInfo.last.controlled_vocabulary) 55 + software_info = SoftwareInfo.find(@software_info.id)
  56 + controlled_vocabulary = ControlledVocabulary.find(software_info.controlled_vocabulary)
45 assert_equal true, controlled_vocabulary.education 57 assert_equal true, controlled_vocabulary.education
46 end 58 end
47 end 59 end
test/unit/software_info_validation_test.rb
@@ -3,7 +3,8 @@ require File.dirname(__FILE__) + &#39;/../../../../test/test_helper&#39; @@ -3,7 +3,8 @@ require File.dirname(__FILE__) + &#39;/../../../../test/test_helper&#39;
3 class SoftwareInfoValidationTest < ActiveSupport::TestCase 3 class SoftwareInfoValidationTest < ActiveSupport::TestCase
4 4
5 def setup 5 def setup
6 - @community = fast_create(Community) 6 + @community = fast_create(Community, :identifier => 'new-software', :name => 'New Software')
  7 +
7 @language = ProgrammingLanguage.new(:name => 'C++') 8 @language = ProgrammingLanguage.new(:name => 'C++')
8 @language.save 9 @language.save
9 @software_language = SoftwareLanguage.new(:version => '1', :operating_system => 'os') 10 @software_language = SoftwareLanguage.new(:version => '1', :operating_system => 'os')
@@ -15,10 +16,19 @@ class SoftwareInfoValidationTest &lt; ActiveSupport::TestCase @@ -15,10 +16,19 @@ class SoftwareInfoValidationTest &lt; ActiveSupport::TestCase
15 @software_database = SoftwareDatabase.new(:version => '2', :operating_system => 'os2') 16 @software_database = SoftwareDatabase.new(:version => '2', :operating_system => 'os2')
16 @software_database.database_description = @database 17 @software_database.database_description = @database
17 @software_database.save 18 @software_database.save
18 - @software_info = SoftwareInfo.new(:community_id=>1, :acronym => "SFTW", :e_mag => true,:icp_brasil => true,:intern => true,:e_ping => true,  
19 - :e_arq => true,:name => true,:operating_platform => true,:objectives => "",:features => "")  
20 - @software_info.software_languages << @software_language  
21 - @software_info.software_databases << @software_database 19 +
  20 + @operating_system_name = OperatingSystemName.new(:name => 'Debian')
  21 + @operating_system_name.save
  22 + @operating_system = OperatingSystem.new(:version => '1.0')
  23 + @operating_system.operating_system_name = @operating_system_name
  24 + @operating_system.save
  25 +
  26 + @software_info = SoftwareInfo.new(:acronym => "SFTW", :e_mag => true,:icp_brasil => true,:intern => true,:e_ping => true,
  27 + :e_arq => true, :operating_platform => true, :objectives => "", :features => "")
  28 + @software_info.software_languages << @software_language
  29 + @software_info.software_databases << @software_database
  30 + @software_info.operating_systems << @operating_system
  31 +
22 end 32 end
23 33
24 should 'Save SoftwareInfo if all fields are filled' do 34 should 'Save SoftwareInfo if all fields are filled' do
test/unit/software_language_validation.rb
@@ -44,13 +44,13 @@ class SoftwareLanguageValidationTest &lt; ActiveSupport::TestCase @@ -44,13 +44,13 @@ class SoftwareLanguageValidationTest &lt; ActiveSupport::TestCase
44 def create_software_info 44 def create_software_info
45 software_info = SoftwareInfo.new 45 software_info = SoftwareInfo.new
46 software_info.community_id = fast_create(Community).id 46 software_info.community_id = fast_create(Community).id
  47 + software_info.community.name = 'Noosfero'
47 software_info.e_mag = true 48 software_info.e_mag = true
48 software_info.icp_brasil = true 49 software_info.icp_brasil = true
49 software_info.intern = true 50 software_info.intern = true
50 software_info.e_ping = true 51 software_info.e_ping = true
51 software_info.e_arq = true 52 software_info.e_arq = true
52 - software_info.name = true  
53 - software_info.operating_platform = true 53 + software_info.operating_platform = 'GNU/Linux'
54 software_info 54 software_info
55 end 55 end
56 56
@@ -60,4 +60,4 @@ class SoftwareLanguageValidationTest &lt; ActiveSupport::TestCase @@ -60,4 +60,4 @@ class SoftwareLanguageValidationTest &lt; ActiveSupport::TestCase
60 ProgrammingLanguage.create(:name=>"Ruby") 60 ProgrammingLanguage.create(:name=>"Ruby")
61 ProgrammingLanguage.create(:name=>"Python") 61 ProgrammingLanguage.create(:name=>"Python")
62 end 62 end
63 -end  
64 \ No newline at end of file 63 \ No newline at end of file
  64 +end