diff --git a/test/functional/search_controller_test.rb b/test/functional/search_controller_test.rb index a729ebe..fc61548 100644 --- a/test/functional/search_controller_test.rb +++ b/test/functional/search_controller_test.rb @@ -1,11 +1,12 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' require File.dirname(__FILE__) + '/../../../../app/controllers/public/search_controller' -require File.dirname(__FILE__) + '/software_test_helper' +require File.dirname(__FILE__) + '/../helpers/plugin_test_helper' class SearchController; def rescue_action(e) raise e end; end class SearchControllerTest < ActionController::TestCase - include SoftwareTestHelper + include PluginTestHelper + def setup environment = Environment.default environment.enabled_plugins = ['MpogSoftwarePlugin'] @@ -15,107 +16,18 @@ class SearchControllerTest < ActionController::TestCase @request = ActionController::TestRequest.new @request.stubs(:ssl?).returns(:false) @response = ActionController::TestResponse.new - - LicenseInfo.create(:version=>"GPL-2", :link =>"www.gpl2.com") - ProgrammingLanguage.create(:name=>"C++") - DatabaseDescription.create(:name => "Oracle") - OperatingSystemName.create(:name=>"Debian") - - operating_system = OperatingSystem.new(version: '1.0') - operating_system.operating_system_name = OperatingSystemName.last - operating_system.save! - - software_language = SoftwareLanguage.new(version: "1.0", operating_system: "windows") - software_language.programming_language = ProgrammingLanguage.last - software_language.save! - - software_database = SoftwareDatabase.new(version: "1.0", operating_system: "windows") - software_database.database_description = DatabaseDescription.last - software_database.save! - - end - - should "search for people by identifier" do - p1 = create_user("user 1", "DF", "Gama", "user_1@user.com").person - - get :people, :query => "user-1" - - assert_includes assigns(:searches)[:people][:results], p1 end - should "search for people by name" do - p1 = create_user("user_1", "DF", "Gama", "user_1@user.com").person - - get :people, :query => "user_1" - - assert_includes assigns(:searches)[:people][:results], p1 - end - - should "search for people by state" do - p1 = create_user("user_1", "DF", "Gama", "user_1@user.com").person - - get :people, :state => "DF" - - assert_includes assigns(:searches)[:people][:results], p1 - end - - should "search for people by city" do - p1 = create_user("user_1", "DF", "Gama", "user_1@user.com").person - - get :people, :city => "Gama" - - assert_includes assigns(:searches)[:people][:results], p1 - end - - should "search for people by email" do - p1 = create_user("user_1", "DF", "Gama", "user_1@user.com").person - - get :people, :email => "user_1@user.com" - - assert_includes assigns(:searches)[:people][:results], p1 - end - - should "search for people by email and state" do - p1 = create_user("user_1", "DF", "Gama", "user_1@user.com").person - - get :people, :email => "user_1@user.com", :state => "DF" - - assert_includes assigns(:searches)[:people][:results], p1 - end - - should "search for software by identifier" do - fields = software_fields - software = create_software fields - software.save - - params = {"type"=>"Software", "query"=>"", "name"=>"debian", "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 - end - - should "search for software by name" do - fields = software_fields - software = create_software fields - software.save - - params = {"type"=>"Software", "query"=>"", "name"=>"debian", "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 - end + should "communities searches don't have software or institution" do + community = create_community("New Community") + software = create_software_info("New Software") + institution = create_private_institution("New Private Institution", "NPI" , "Brazil", "DF", "Gama", "66.544.314/0001-63") - protected + get :communities, :query => "New" - def create_user name, state, city, email - user = fast_create(User) - user.person = fast_create(Person) - user.person.state = state - user.person.city = city - user.person.email = email - user.save! - user.person.save! - user + assert_includes assigns(:searches)[:communities][:results], community + assert_not_includes assigns(:searches)[:communities][:results], software + assert_not_includes assigns(:searches)[:communities][:results], institution end end diff --git a/test/helpers/plugin_test_helper.rb b/test/helpers/plugin_test_helper.rb new file mode 100644 index 0000000..daa31f6 --- /dev/null +++ b/test/helpers/plugin_test_helper.rb @@ -0,0 +1,68 @@ +require File.dirname(__FILE__) + '/../helpers/institution_test_helper' + +module PluginTestHelper + + def create_public_institution *params + InstitutionTestHelper.create_public_institution *params + end + + def create_community name + community = fast_create(Community) + community.name = name + community.save + community + end + + def create_software_info name + community = create_community(name) + software_info = SoftwareInfo.new + software_info.community = community + software_info.save + software_info + end + + def create_private_institution name, acronym, country, state, city, cnpj + InstitutionTestHelper.create_private_institution(name, acronym, country, state, city, cnpj) + end + + def create_community_institution name, country, state, city + community = fast_create(Community) + community.name = name + community.country = country + community.state = state + community.city = city + community.save + community + end + + def create_person name, email, password, password_confirmation, secondary_email, state, city + user = create_user(name.to_slug, email, password, password_confirmation, secondary_email) + person = Person::new + + user.person = person + person.user = user + + person.name = name + person.identifier = name.to_slug + person.state = state + person.city = city + + user.save + person.save + + person + end + + def create_user login, email, password, password_confirmation, secondary_email + user = User.new + + user.login = login + user.email = email + user.password = password + user.password_confirmation = password_confirmation + user.secondary_email = secondary_email + + user + end + +end diff --git a/test/unit/communities_block_test.rb b/test/unit/communities_block_test.rb index c5be634..a92eeb2 100644 --- a/test/unit/communities_block_test.rb +++ b/test/unit/communities_block_test.rb @@ -1,6 +1,6 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' require File.dirname(__FILE__) + '/../helpers/institution_test_helper' -require File.dirname(__FILE__) + '/plugin_test_helper' +require File.dirname(__FILE__) + '/../helpers/plugin_test_helper' class CommunitiesBlockTest < ActiveSupport::TestCase include PluginTestHelper diff --git a/test/unit/institution_test.rb b/test/unit/institution_test.rb index db3b149..c471333 100644 --- a/test/unit/institution_test.rb +++ b/test/unit/institution_test.rb @@ -1,5 +1,5 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' -require File.dirname(__FILE__) + '/plugin_test_helper' +require File.dirname(__FILE__) + '/../helpers/plugin_test_helper' class InstitutionTest < ActiveSupport::TestCase include PluginTestHelper @@ -28,14 +28,14 @@ class InstitutionTest < ActiveSupport::TestCase assert !@institution.save, 'Invalid type' assert @institution.errors.full_messages.include? "Type invalid, only public and private institutions are allowed." end - - should "not save without country" do + + should "not save without country" do @institution.community.country = nil assert !@institution.save, "Country can't be blank" assert @institution.errors.full_messages.include? "Country can't be blank" end - should "not save without state" do + should "not save without state" do @institution.community.state = nil assert !@institution.save, "State can't be blank" diff --git a/test/unit/institutions_block_test.rb b/test/unit/institutions_block_test.rb index a9ff9ed..90147b1 100644 --- a/test/unit/institutions_block_test.rb +++ b/test/unit/institutions_block_test.rb @@ -1,5 +1,5 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' -require File.dirname(__FILE__) + '/plugin_test_helper' +require File.dirname(__FILE__) + '/../helpers/plugin_test_helper' class InstitutionsBlockTest < ActiveSupport::TestCase include PluginTestHelper diff --git a/test/unit/juridical_nature_test.rb b/test/unit/juridical_nature_test.rb index f2a89be..80d34c6 100644 --- a/test/unit/juridical_nature_test.rb +++ b/test/unit/juridical_nature_test.rb @@ -1,5 +1,5 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' -require File.dirname(__FILE__) + '/plugin_test_helper' +require File.dirname(__FILE__) + '/../helpers/plugin_test_helper' class JuridicalNatureTest < ActiveSupport::TestCase diff --git a/test/unit/mpog_software_plugin_test.rb b/test/unit/mpog_software_plugin_test.rb index e1ce413..2bee384 100644 --- a/test/unit/mpog_software_plugin_test.rb +++ b/test/unit/mpog_software_plugin_test.rb @@ -1,5 +1,5 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' -require File.dirname(__FILE__) + '/plugin_test_helper' +require File.dirname(__FILE__) + '/../helpers/plugin_test_helper' class MpogSoftwarePluginTest < ActiveSupport::TestCase include PluginTestHelper diff --git a/test/unit/mpog_software_plugin_user_test.rb b/test/unit/mpog_software_plugin_user_test.rb index 887f393..ef978f0 100644 --- a/test/unit/mpog_software_plugin_user_test.rb +++ b/test/unit/mpog_software_plugin_user_test.rb @@ -1,5 +1,5 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' -require File.dirname(__FILE__) + '/plugin_test_helper' +require File.dirname(__FILE__) + '/../helpers/plugin_test_helper' class MpogSoftwarePluginUserTest < ActiveSupport::TestCase include PluginTestHelper @@ -82,7 +82,7 @@ class MpogSoftwarePluginUserTest < ActiveSupport::TestCase user2 = fast_create(User) user2.email = "test2@email.com" user2.secondary_email = "" - assert user2.save + assert user2.save end should 'return an error if secondary email is governmental and primary is not' do user = fast_create(User) diff --git a/test/unit/mpog_validation_test.rb b/test/unit/mpog_validation_test.rb index 72cc6af..0f6b675 100644 --- a/test/unit/mpog_validation_test.rb +++ b/test/unit/mpog_validation_test.rb @@ -1,5 +1,5 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' -require File.dirname(__FILE__) + '/plugin_test_helper' +require File.dirname(__FILE__) + '/../helpers/plugin_test_helper' class MpogSoftwarePluginValidationTest < ActiveSupport::TestCase include PluginTestHelper diff --git a/test/unit/plugin_test_helper.rb b/test/unit/plugin_test_helper.rb deleted file mode 100644 index 6e06ef1..0000000 --- a/test/unit/plugin_test_helper.rb +++ /dev/null @@ -1,68 +0,0 @@ -require File.dirname(__FILE__) + '/../helpers/institution_test_helper' - -module PluginTestHelper - - def create_public_institution *params - InstitutionTestHelper.create_public_institution *params - end - - def create_community name - community = fast_create(Community) - community.name = name - community.save - community - end - - def create_software_info name - community = create_community(name) - software_info = SoftwareInfo.new - software_info.community = community - software_info.save - software_info - end - - def create_private_institution *params - InstitutionTestHelper.create_private_institution *params - end - - def create_community_institution name, country, state, city - community = fast_create(Community) - community.name = name - community.country = country - community.state = state - community.city = city - community.save - community - end - - def create_person name, email, password, password_confirmation, secondary_email, state, city - user = create_user(name.to_slug, email, password, password_confirmation, secondary_email) - person = Person::new - - user.person = person - person.user = user - - person.name = name - person.identifier = name.to_slug - person.state = state - person.city = city - - user.save - person.save - - person - end - - def create_user login, email, password, password_confirmation, secondary_email - user = User.new - - user.login = login - user.email = email - user.password = password - user.password_confirmation = password_confirmation - user.secondary_email = secondary_email - - user - end - -end diff --git a/test/unit/private_institution_test.rb b/test/unit/private_institution_test.rb index 03a1d0d..7d287db 100644 --- a/test/unit/private_institution_test.rb +++ b/test/unit/private_institution_test.rb @@ -1,5 +1,5 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' -require File.dirname(__FILE__) + '/plugin_test_helper' +require File.dirname(__FILE__) + '/../helpers/plugin_test_helper' class PrivateInstitutionTest < ActiveSupport::TestCase include PluginTestHelper diff --git a/test/unit/public_institution_test.rb b/test/unit/public_institution_test.rb index b3be359..c2acc8a 100644 --- a/test/unit/public_institution_test.rb +++ b/test/unit/public_institution_test.rb @@ -1,5 +1,5 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' -require File.dirname(__FILE__) + '/plugin_test_helper' +require File.dirname(__FILE__) + '/../helpers/plugin_test_helper' class PublicInstitutionTest < ActiveSupport::TestCase include PluginTestHelper @@ -24,7 +24,7 @@ class PublicInstitutionTest < ActiveSupport::TestCase should "not save without a cnpj" do @institution.cnpj = nil - assert !@institution.save + assert !@institution.save end should "save institution without an acronym" do diff --git a/test/unit/search_person_test.rb b/test/unit/search_person_test.rb index de20568..8cdd6af 100644 --- a/test/unit/search_person_test.rb +++ b/test/unit/search_person_test.rb @@ -1,5 +1,5 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' -require File.dirname(__FILE__) + '/plugin_test_helper' +require File.dirname(__FILE__) + '/../helpers/plugin_test_helper' class SearchPersonTest < ActiveSupport::TestCase diff --git a/test/unit/softwares_block_test.rb b/test/unit/softwares_block_test.rb index caedce3..f56943b 100644 --- a/test/unit/softwares_block_test.rb +++ b/test/unit/softwares_block_test.rb @@ -1,5 +1,5 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' -require File.dirname(__FILE__) + '/plugin_test_helper' +require File.dirname(__FILE__) + '/../helpers/plugin_test_helper' class SoftwaresBlockTest < ActiveSupport::TestCase include PluginTestHelper -- libgit2 0.21.2