From d7a9bdd0ceac35946aba922071558cd8d0e4e3ce Mon Sep 17 00:00:00 2001 From: Fabio Teixeira Date: Tue, 9 Sep 2014 17:38:37 -0300 Subject: [PATCH] Corrections on all unit tests --- lib/mpog_software_plugin.rb | 5 ++--- test/functional/search_controller_test.rb | 40 ++++++++++++++++++++-------------------- test/unit/governmental_power_test.rb | 5 +++++ test/unit/institution_helper_test.rb | 26 -------------------------- test/unit/juridical_nature_test.rb | 20 +++++++++++++++++++- test/unit/mpog_software_plugin_test.rb | 14 ++++++++++++++ test/unit/mpog_user_test.rb | 25 +++++++++++++++++++++++-- test/unit/mpog_validation_test.rb | 26 +++++++++++++++++++++++++- test/unit/software_info_validation_test.rb | 7 +++++++ test/unit/software_language_validation.rb | 2 ++ 10 files changed, 117 insertions(+), 53 deletions(-) delete mode 100644 test/unit/institution_helper_test.rb diff --git a/lib/mpog_software_plugin.rb b/lib/mpog_software_plugin.rb index 8a8a798..078ea6b 100644 --- a/lib/mpog_software_plugin.rb +++ b/lib/mpog_software_plugin.rb @@ -266,13 +266,12 @@ class MpogSoftwarePlugin < Noosfero::Plugin protected - - def create_url_to_edit_profile person + def create_url_to_edit_profile person new_url = person.public_profile_url new_url[:controller] = 'profile_editor' new_url[:action] = 'edit' new_url - end + end def profile_required_list required_list = ["cell_phone","contact_phone","institutions","comercial_phone","country","city","state","organization_website","area_interest","image"] diff --git a/test/functional/search_controller_test.rb b/test/functional/search_controller_test.rb index 05dcd30..cd6f204 100644 --- a/test/functional/search_controller_test.rb +++ b/test/functional/search_controller_test.rb @@ -85,7 +85,7 @@ class SearchControllerTest < ActionController::TestCase should "search for software by identifier" do software = create_software("beautiful os") - params = {"type"=>"Software", "query"=>"", "name"=>"beautiful-os", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, "controlled_vocabulary"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", "commit"=>"Search"} + params = {"type"=>"Software", "query"=>"", "name"=>"beautiful-os", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", "commit"=>"Search"} get :communities, params assert_includes assigns(:searches)[:communities][:results], software.community @@ -94,7 +94,7 @@ class SearchControllerTest < ActionController::TestCase should "search for software by name" do software = create_software("beautiful") - params = {"type"=>"Software", "query"=>"", "name"=>"beautiful", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, "controlled_vocabulary"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", "commit"=>"Search"} + params = {"type"=>"Software", "query"=>"", "name"=>"beautiful", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", "commit"=>"Search"} get :communities, params assert_includes assigns(:searches)[:communities][:results], software.community @@ -108,7 +108,7 @@ class SearchControllerTest < ActionController::TestCase params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>SoftwareDatabase.last.database_description.id}, - "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, "controlled_vocabulary"=>"", + "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", "commit"=>"Search"} get :communities, params @@ -124,7 +124,7 @@ class SearchControllerTest < ActionController::TestCase params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>SoftwareLanguage.last.programming_language.id}, - "operating_system"=>{"id"=>""}, "controlled_vocabulary"=>"", + "operating_system"=>{"id"=>""}, "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", "commit"=>"Search"} get :communities, params @@ -141,7 +141,7 @@ class SearchControllerTest < ActionController::TestCase params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>OperatingSystem.last.id}, - "controlled_vocabulary"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", + "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", "commit"=>"Search"} get :communities, params @@ -150,13 +150,13 @@ class SearchControllerTest < ActionController::TestCase should "search for software by controlled vocabulary" do software = create_software("beautiful") - software.controlled_vocabulary.habitation = true - software.controlled_vocabulary.save! + software.software_categories.habitation = true + software.software_categories.save! params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, - "controlled_vocabulary"=>"habitation", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", + "software_categories"=>"habitation", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", "commit"=>"Search"} get :communities, params @@ -171,7 +171,7 @@ class SearchControllerTest < ActionController::TestCase params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, - "controlled_vocabulary"=>"", "license_info"=>{"id"=>LicenseInfo.last.id}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", + "software_categories"=>"", "license_info"=>{"id"=>LicenseInfo.last.id}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", "commit"=>"Search"} get :communities, params @@ -187,7 +187,7 @@ class SearchControllerTest < ActionController::TestCase params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, - "controlled_vocabulary"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"true", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", + "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"true", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", "commit"=>"Search"} get :communities, params @@ -203,7 +203,7 @@ class SearchControllerTest < ActionController::TestCase params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, - "controlled_vocabulary"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"true", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", + "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"true", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", "commit"=>"Search"} get :communities, params @@ -219,7 +219,7 @@ class SearchControllerTest < ActionController::TestCase params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, - "controlled_vocabulary"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"true", "e_arq"=>"", "internacionalizable"=>"", + "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"true", "e_arq"=>"", "internacionalizable"=>"", "commit"=>"Search"} get :communities, params @@ -234,7 +234,7 @@ class SearchControllerTest < ActionController::TestCase params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, - "controlled_vocabulary"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"true", "internacionalizable"=>"", + "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"true", "internacionalizable"=>"", "commit"=>"Search"} get :communities, params @@ -249,7 +249,7 @@ class SearchControllerTest < ActionController::TestCase params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, - "controlled_vocabulary"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"true", + "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"true", "commit"=>"Search"} get :communities, params @@ -265,7 +265,7 @@ class SearchControllerTest < ActionController::TestCase params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, - "controlled_vocabulary"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"true", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"true", "internacionalizable"=>"", + "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"true", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"true", "internacionalizable"=>"", "commit"=>"Search"} get :communities, params @@ -295,16 +295,16 @@ class SearchControllerTest < ActionController::TestCase software_info.license_info = LicenseInfo.last - cv = ControlledVocabulary.new() - cv.attributes.each do |key| + sc = SoftwareCategories.new() + sc.attributes.each do |key| if(key.first == 'id' || key.first == 'software_info_id') next end - cv.update_attribute(key.first, false) + sc.update_attribute(key.first, false) end - cv.save! + sc.save! - software_info.controlled_vocabulary = cv + software_info.software_categories = sc software_info.save! diff --git a/test/unit/governmental_power_test.rb b/test/unit/governmental_power_test.rb index cd2e2e6..e2f45cd 100644 --- a/test/unit/governmental_power_test.rb +++ b/test/unit/governmental_power_test.rb @@ -35,6 +35,11 @@ class GovernmentalPowerTest < ActiveSupport::TestCase institution.type = type institution.cnpj = cnpj + institution.community = Community.create(:name => "Simple Public Institution") + institution.community.country = "BR" + institution.community.state = "DF" + institution.community.city = "Gama" + if type == "PublicInstitution" institution.governmental_power = GovernmentalPower.first institution.governmental_sphere = GovernmentalSphere.first diff --git a/test/unit/institution_helper_test.rb b/test/unit/institution_helper_test.rb deleted file mode 100644 index 2ff2f1c..0000000 --- a/test/unit/institution_helper_test.rb +++ /dev/null @@ -1,26 +0,0 @@ -require File.dirname(__FILE__) + '/../../../../test/test_helper' - -class InstitutionHelperTest < ActiveSupport::TestCase - - should "populate public institutions with data from SIORG" do - Institution.destroy_all - - InstitutionHelper.mass_update - - assert Institution.count != 0 - end - - should "receive json data from SIORG" do - data = InstitutionHelper.get_json(2, 1) - - assert data["unidades"].count != 0 - end - - should "update Institution's date modification when edit the Institution" do - institution = Institution.new - InstitutionHelper.register_institution_modification institution - date = Time.now.day.to_s + "/" + Time.now.month.to_s + "/" + Time.now.year.to_s - - assert_equal date, institution.date_modification - end -end diff --git a/test/unit/juridical_nature_test.rb b/test/unit/juridical_nature_test.rb index 3c27d95..b687079 100644 --- a/test/unit/juridical_nature_test.rb +++ b/test/unit/juridical_nature_test.rb @@ -18,8 +18,26 @@ class JuridicalNatureTest < ActiveSupport::TestCase juridical_nature = JuridicalNature.create(:name => "Autarquia") create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", juridical_nature, @govPower, @govSphere) create_public_institution("Tribunal Regional da Uniao", "TRU", "BR", "DF", "Brasilia", juridical_nature, @govPower, @govSphere) - assert juridical_nature.public_institutions.count == PublicInstitution.count end + + private + + def build_institution name, type="PublicInstitution", cnpj=nil + institution = Institution::new + institution.name = name + institution.type = type + institution.cnpj = cnpj + + institution.community = Community.create(:name => "Simple Public Institution") + institution.community.country = "BR" + institution.community.state = "DF" + institution.community.city = "Gama" + + if type == "PublicInstitution" + institution.juridical_nature = JuridicalNature.first + end + + end end diff --git a/test/unit/mpog_software_plugin_test.rb b/test/unit/mpog_software_plugin_test.rb index 395a6a4..aec4a74 100644 --- a/test/unit/mpog_software_plugin_test.rb +++ b/test/unit/mpog_software_plugin_test.rb @@ -33,4 +33,18 @@ class MpogSoftwarePluginTest < ActiveSupport::TestCase assert_equal(test_percentege, plugin_percentege) end + + private + + def create_user + user = User.new + user.login = "login" + user.email = "user@email.com" + user.password = "123456" + user.password_confirmation = "123456" + user.secondary_email = "user@secondary_email.com" + user.save + user.person.save + user + end end diff --git a/test/unit/mpog_user_test.rb b/test/unit/mpog_user_test.rb index 9f92e5c..9353a15 100644 --- a/test/unit/mpog_user_test.rb +++ b/test/unit/mpog_user_test.rb @@ -86,10 +86,13 @@ class MpogSoftwarePluginUserTest < ActiveSupport::TestCase user.email = "test@gov.br" - user.institution = nil + user.institutions = [] assert !user.save - user.institution = Institution::new(:name=>"Test Other institution") + institution = build_institution "Test simple institution" + institution.save + + user.institutions << institution assert user.save end @@ -104,4 +107,22 @@ class MpogSoftwarePluginUserTest < ActiveSupport::TestCase return user end + + def build_institution name, type="PublicInstitution", cnpj=nil + institution = Institution::new + institution.name = name + institution.type = type + institution.cnpj = cnpj + + institution.community = Community.create(:name => "Simple Public Institution") + institution.community.country = "BR" + institution.community.state = "DF" + institution.community.city = "Gama" + + if type == "PublicInstitution" + institution.juridical_nature = JuridicalNature.first + end + + institution + end end diff --git a/test/unit/mpog_validation_test.rb b/test/unit/mpog_validation_test.rb index bb2fb01..ede572f 100644 --- a/test/unit/mpog_validation_test.rb +++ b/test/unit/mpog_validation_test.rb @@ -6,8 +6,12 @@ class MpogSoftwarePluginValidationTest < ActiveSupport::TestCase def setup @plugin = MpogSoftwarePlugin.new - @user = create_user 'login', 'test@email.com', '1234', '1234', 'test2@email.com' + institution = build_institution("Test institution") + institution.save + + @user = fast_create(User) + @user.institutions << institution end def teardown @@ -25,4 +29,24 @@ class MpogSoftwarePluginValidationTest < ActiveSupport::TestCase @user.email = "test_email@net.br" assert @user.save end + + private + + def build_institution name, type="PublicInstitution", cnpj=nil + institution = Institution::new + institution.name = name + institution.type = type + institution.cnpj = cnpj + + institution.community = Community.create(:name => "Simple Public Institution") + institution.community.country = "BR" + institution.community.state = "DF" + institution.community.city = "Gama" + + if type == "PublicInstitution" + institution.juridical_nature = JuridicalNature.first + end + + institution + end end diff --git a/test/unit/software_info_validation_test.rb b/test/unit/software_info_validation_test.rb index 35ea52a..acba47b 100644 --- a/test/unit/software_info_validation_test.rb +++ b/test/unit/software_info_validation_test.rb @@ -31,6 +31,12 @@ class SoftwareInfoValidationTest < ActiveSupport::TestCase @software_info.features = "Do a lot of things" @software_info.objectives = "All tests should pass !" + + software_categories = SoftwareCategories::new + software_categories.administration = true + software_categories.save + + @software_info.software_categories = software_categories end should 'Save SoftwareInfo if all fields are filled' do @@ -49,6 +55,7 @@ class SoftwareInfoValidationTest < ActiveSupport::TestCase should "Save SoftwareInfo if acronym is blank" do @software_info.acronym = "" + assert_equal true, @software_info.save end diff --git a/test/unit/software_language_validation.rb b/test/unit/software_language_validation.rb index b143343..ee5290c 100644 --- a/test/unit/software_language_validation.rb +++ b/test/unit/software_language_validation.rb @@ -63,6 +63,8 @@ class SoftwareLanguageValidationTest < ActiveSupport::TestCase software_info.e_ping = true software_info.e_arq = true software_info.operating_platform = 'GNU/Linux' + software_info.features = "Do a lot of things" + software_info.objectives = "All tests should pass !" software_info end -- libgit2 0.21.2