diff --git a/test/unit/controlled_vocabulary_test.rb b/test/unit/controlled_vocabulary_test.rb index 4c5de0d..753df0e 100644 --- a/test/unit/controlled_vocabulary_test.rb +++ b/test/unit/controlled_vocabulary_test.rb @@ -3,28 +3,39 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' class ControlledVocabularyTest < ActiveSupport::TestCase def setup - @community = fast_create(Community) + @community = fast_create(Community, :identifier => 'new-software', :name => 'New Software') + @language = ProgrammingLanguage.new(:name => 'C++') @language.save @software_language = SoftwareLanguage.new(:version => '1', :operating_system => 'os') @software_language.programming_language = @language @software_language.save + @database = DatabaseDescription.new(:name => 'Oracle') @database.save @software_database = SoftwareDatabase.new(:version => '2', :operating_system => 'os2') @software_database.database_description = @database @software_database.save - @software_info = SoftwareInfo.new(:community_id=>1, :acronym => "SFTW", :e_mag => true,:icp_brasil => true,:intern => true,:e_ping => true, - :e_arq => true,:name => true,:operating_platform => true,:objectives => "",:features => "") - @controlled_language = ControlledVocabulary.new() - @controlled_vocabulary = ControlledVocabulary.new(:administration => true, :agriculture => true, :business_and_services => true, :communication => true, - :culture => true, :national_defense => true, :economy_and_finances => true, :education => true, - :energy => true, :sports => false , :habitation => true, :industry => true, :environment => true, - :research_and_development => true, :social_security => false , :social_protection => true, - :international_relations => true, :sanitation => true, :health => false, - :security_public_order => true, :work => true, :transportation => true, :urbanism => true) + + @operating_system_name = OperatingSystemName.new(:name => 'Debian') + @operating_system_name.save + @operating_system = OperatingSystem.new(:version => '1.0') + @operating_system.operating_system_name = @operating_system_name + @operating_system.save + + @software_info = SoftwareInfo.new(:acronym => "SFTW", :e_mag => true,:icp_brasil => true,:intern => true,:e_ping => true, + :e_arq => true, :operating_platform => true, :objectives => "", :features => "") @software_info.software_languages << @software_language @software_info.software_databases << @software_database + @software_info.operating_systems << @operating_system + + @controlled_language = ControlledVocabulary.new() + @controlled_vocabulary = ControlledVocabulary.new(:administration => true, :agriculture => true, :business_and_services => true, :communication => true, + :culture => true, :national_defense => true, :economy_and_finances => true, :education => true, + :energy => true, :sports => false , :habitation => true, :industry => true, :environment => true, + :research_and_development => true, :social_security => false , :social_protection => true, + :international_relations => true, :sanitation => true, :health => false, + :security_public_order => true, :work => true, :transportation => true, :urbanism => true) @software_info.controlled_vocabulary = @controlled_vocabulary end @@ -41,7 +52,8 @@ class ControlledVocabularyTest < ActiveSupport::TestCase should "return a valid value from database" do @software_info.save @controlled_vocabulary.save - controlled_vocabulary = ControlledVocabulary.find(SoftwareInfo.last.controlled_vocabulary) + software_info = SoftwareInfo.find(@software_info.id) + controlled_vocabulary = ControlledVocabulary.find(software_info.controlled_vocabulary) assert_equal true, controlled_vocabulary.education end end diff --git a/test/unit/software_info_validation_test.rb b/test/unit/software_info_validation_test.rb index 55999a9..6daac57 100644 --- a/test/unit/software_info_validation_test.rb +++ b/test/unit/software_info_validation_test.rb @@ -3,7 +3,8 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' class SoftwareInfoValidationTest < ActiveSupport::TestCase def setup - @community = fast_create(Community) + @community = fast_create(Community, :identifier => 'new-software', :name => 'New Software') + @language = ProgrammingLanguage.new(:name => 'C++') @language.save @software_language = SoftwareLanguage.new(:version => '1', :operating_system => 'os') @@ -15,10 +16,19 @@ class SoftwareInfoValidationTest < ActiveSupport::TestCase @software_database = SoftwareDatabase.new(:version => '2', :operating_system => 'os2') @software_database.database_description = @database @software_database.save - @software_info = SoftwareInfo.new(:community_id=>1, :acronym => "SFTW", :e_mag => true,:icp_brasil => true,:intern => true,:e_ping => true, - :e_arq => true,:name => true,:operating_platform => true,:objectives => "",:features => "") - @software_info.software_languages << @software_language - @software_info.software_databases << @software_database + + @operating_system_name = OperatingSystemName.new(:name => 'Debian') + @operating_system_name.save + @operating_system = OperatingSystem.new(:version => '1.0') + @operating_system.operating_system_name = @operating_system_name + @operating_system.save + + @software_info = SoftwareInfo.new(:acronym => "SFTW", :e_mag => true,:icp_brasil => true,:intern => true,:e_ping => true, + :e_arq => true, :operating_platform => true, :objectives => "", :features => "") + @software_info.software_languages << @software_language + @software_info.software_databases << @software_database + @software_info.operating_systems << @operating_system + end should 'Save SoftwareInfo if all fields are filled' do diff --git a/test/unit/software_language_validation.rb b/test/unit/software_language_validation.rb index 34762fc..83126f6 100644 --- a/test/unit/software_language_validation.rb +++ b/test/unit/software_language_validation.rb @@ -44,13 +44,13 @@ class SoftwareLanguageValidationTest < ActiveSupport::TestCase def create_software_info software_info = SoftwareInfo.new software_info.community_id = fast_create(Community).id + software_info.community.name = 'Noosfero' software_info.e_mag = true software_info.icp_brasil = true software_info.intern = true software_info.e_ping = true software_info.e_arq = true - software_info.name = true - software_info.operating_platform = true + software_info.operating_platform = 'GNU/Linux' software_info end @@ -60,4 +60,4 @@ class SoftwareLanguageValidationTest < ActiveSupport::TestCase ProgrammingLanguage.create(:name=>"Ruby") ProgrammingLanguage.create(:name=>"Python") end -end \ No newline at end of file +end -- libgit2 0.21.2