From 37d8ade76cb34951b74c4adb9e92fafba7c0cb0c Mon Sep 17 00:00:00 2001 From: Fabio Teixeira Date: Wed, 5 Nov 2014 11:32:15 -0200 Subject: [PATCH] fix_institution: Fix functional tests --- test/functional/account_controller_test.rb | 185 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- test/functional/institution_editor_test.rb | 68 -------------------------------------------------------------------- test/functional/profile_editor_controller_test.rb | 47 +++++++++++++++-------------------------------- 3 files changed, 15 insertions(+), 285 deletions(-) delete mode 100644 test/functional/account_controller_test.rb delete mode 100644 test/functional/institution_editor_test.rb diff --git a/test/functional/account_controller_test.rb b/test/functional/account_controller_test.rb deleted file mode 100644 index c10d80d..0000000 --- a/test/functional/account_controller_test.rb +++ /dev/null @@ -1,185 +0,0 @@ -require File.dirname(__FILE__) + '/../../../../test/test_helper' -require File.dirname(__FILE__) + '/../../controllers/mpog_software_plugin_controller' - -class AccountController; def rescue_action(e) raise e end; end - -class AccountControllerTest < ActionController::TestCase - - def setup - environment = Environment.default - environment.enabled_plugins = ['MpogSoftwarePlugin'] - environment.save - - @gov_power = GovernmentalPower.create(:name=>"Some Gov Power") - @gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") - @juridical_nature = JuridicalNature.create(:name => "Autarquia") - - @controller = AccountController.new - @request = ActionController::TestRequest.new - @response = ActionController::TestResponse.new - - @institution_list = [] - @institution_list << create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @gov_power, @gov_sphere) - @institution_list << create_public_institution("Tribunal Regional da Uniao", "TRU", "BR", "DF", "Brasilia", @juridical_nature, @gov_power, @gov_sphere) - @user_info = { - :login=>"novo_usuario", - :password=>"nova_senha", - :password_confirmation=>"nova_senha", - :email=>"um@novo.usuario", - :secondary_email=>"outro@email.com", - :institution_ids=>[@institution_list.last.id] - } - - @second_user_info = { - :login=>"outro_usuario", - :password=>"nova_senha", - :password_confirmation=>"nova_senha", - :email=>"um_outro@novo.usuario", - :secondary_email=>"outro2@email.com", - :institution_ids=>[@institution_list.last.id] - } - - @profile_data_info = { - :name=>"Um Novo Usuario", - } - - @second_profile_data_info = { - :name=>"Um Outro Usuario", - } - disable_signup_bot_check - end - - should "Create a user without gov email and institution" do - @user_info[:institution_ids] = nil - - post :signup, :user => @user_info, :profile_data => @profile_data_info - - assert_equal assigns(:user).login, @user_info[:login] - assert assigns(:user).save - end - - should "Create a user with gov email and institution" do - @user_info[:email] = "email@gov.br" - - post :signup, :user => @user_info, :profile_data => @profile_data_info - - assert_equal assigns(:user).login, @user_info[:login] - assert assigns(:user).save - end - - should "Do not create a user with gov email without institution" do - @user_info[:email] = "email@gov.br" - @user_info[:institution_ids] = nil - - post :signup, :user => @user_info, :profile_data => @profile_data_info - - assert_equal assigns(:user).login, @user_info[:login] - assert !assigns(:user).save - end - - should "user become a member of its institution community on registration" do - post :signup, :user => @user_info, :profile_data => @profile_data_info - - last_user = User.last - last_community = Community.last - - assert_equal @user_info[:secondary_email], last_user.secondary_email - assert_equal true, last_community.members.include?(last_user.person) - assert_response :success - end - - - should "user can become a member of more than one institution" do - @user_info[:institution_ids] = [@institution_list.first.id, @institution_list.last.id] - - post :signup, :user => @user_info, :profile_data => @profile_data_info - - last_user = User.last - - assert last_user.institutions.include?(@institution_list.first) - assert last_user.institutions.include?(@institution_list.last) - end - - should "not create a user with secondary email as someone's primary email" do - @second_user_info[:secondary_email] = @user_info[:email] - - post :signup, :user => @user_info, :profile_data => @profile_data_info - post :signup, :user => @second_user_info, :profile_data => @second_profile_data_info - assert !assigns(:user).save, "This should not have been saved." - end - - should "not create a user with secondary email as someone's secondary email" do - @second_user_info[:secondary_email] = @user_info[:secondary_email] - - post :signup, :user => @user_info, :profile_data => @profile_data_info - post :signup, :user => @second_user_info, :profile_data => @second_profile_data_info - assert !assigns(:user).save, "This should not have been saved." - end - - should "not create a user with equal emails" do - @user_info[:email] = @user_info[:secondary_email] - - post :signup, :user => @user_info, :profile_data => @profile_data_info - assert !assigns(:user).save, "This should not have been saved." - end - - should "not create a user with governmental secondary email" do - @user_info[:secondary_email] = "email@gov.br" - - post :signup, :user => @user_info, :profile_data => @profile_data_info - assert !assigns(:user).save, "This should not have been saved." - end - - should "user can register without secondary_email" do - @user_info[:secondary_email] = "" - - post :signup, :user => @user_info, :profile_data => @profile_data_info - - assert_equal assigns(:user).login, @user_info[:login] - assert assigns(:user).save - end - - private - - def create_public_institution name, acronym, country, state, city, juridical_nature, gov_p, gov_s - institution_community = fast_create(Community) - institution_community.name = name - institution_community.country = country - institution_community.state = state - institution_community.city = city - institution_community.save! - - institution = PublicInstitution.new - institution.community = institution_community - institution.name = name - institution.juridical_nature = juridical_nature - institution.acronym = acronym - institution.governmental_power = gov_p - institution.governmental_sphere = gov_s - institution.save! - institution - end - - def form_params - user = { - :login=>"novo_usuario", - :password=>"nova_senha", - :password_confirmation=>"nova_senha", - :email=>"um@novo.usuario", - :secondary_email=>"outro@email.com", - :institution_ids=>[@institution_list.last.id] - } - - profile_data = { - :name=>"Um novo usuario", - } - - user["profile_data"] = profile_data - user - end - - def disable_signup_bot_check(environment = Environment.default) - environment.min_signup_delay = 0 - environment.save! - end -end diff --git a/test/functional/institution_editor_test.rb b/test/functional/institution_editor_test.rb deleted file mode 100644 index dcb7300..0000000 --- a/test/functional/institution_editor_test.rb +++ /dev/null @@ -1,68 +0,0 @@ -require File.dirname(__FILE__) + '/../../../../test/test_helper' -require File.dirname(__FILE__) + '/../../controllers/mpog_software_plugin_controller' - - -class InstitutionEditorTest < ActionController::TestCase - - def setup - @controller = ProfileEditorController.new - @request = ActionController::TestRequest.new - @response = ActionController::TestResponse.new - - @environment = Environment.default - @environment.enabled_plugins = ['MpogSoftwarePlugin'] - @environment.save - - @govPower = GovernmentalPower.create(:name=>"Some Gov Power") - @govSphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") - @juridical_nature = JuridicalNature.create(:name => "Autarquia") - - - @institution_list = [] - @institution_list << create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @govPower, @govSphere) - @institution_list << create_public_institution("Tribunal Regional da Uniao", "TRU", "BR", "DF", "Brasilia", @juridical_nature, @govPower, @govSphere) - end - - - should ' enable edition of sisp field for enviroment admin' do - admin = create_user("adminuser").person - admin.stubs(:has_permission?).returns("true") - login_as('adminuser') - @environment.add_admin(admin) - get :edit, :profile => @institution_list[0].community.identifier, :id => @institution_list[0].community.id - assert_tag :tag => 'span', :descendant => {:tag => "input", :attributes => { :type => 'radio', :name => "institution[sisp]"}} - end - - should 'enable only visulization of sisp field for institution admin' do - ze = create_user("ze").person - login_as('ze') - @institution_list[0].community.add_admin(ze) - get :edit, :profile => @institution_list[0].community.identifier, :id => @institution_list[0].community.id - assert_tag :tag => 'span', :descendant => {:tag => "label", :attributes => {:for => "SISP"}} - end - - - private - - def create_public_institution name, acronym, country, state, city, juridical_nature, gov_p, gov_s - institution_community = fast_create(Community) - institution_community.name = name - institution_community.country = country - institution_community.state = state - institution_community.city = city - institution_community.save! - - institution = PublicInstitution.new - institution.community = institution_community - institution.name = name - institution.juridical_nature = juridical_nature - institution.sisp = false - institution.acronym = acronym - institution.governmental_power = gov_p - institution.governmental_sphere = gov_s - institution.save! - - institution - end - -end diff --git a/test/functional/profile_editor_controller_test.rb b/test/functional/profile_editor_controller_test.rb index 3d83f10..d88b09c 100644 --- a/test/functional/profile_editor_controller_test.rb +++ b/test/functional/profile_editor_controller_test.rb @@ -1,4 +1,5 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' +require File.dirname(__FILE__) + '/institution_test_helper' require File.dirname(__FILE__) + '/../../../../app/controllers/my_profile/profile_editor_controller' class ProfileEditorController; def rescue_action(e) raise e end; end @@ -19,14 +20,17 @@ class ProfileEditorControllerTest < ActionController::TestCase @environment.add_admin(admin) @environment.save - @govPower = GovernmentalPower.create(:name => "Some Gov Power") - @govSphere = GovernmentalSphere.create(:name => "Some Gov Sphere") + @govPower = GovernmentalPower.create(:name=>"Some Gov Power") + @govSphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") @juridical_nature = JuridicalNature.create(:name => "Autarquia") + @institution_list = [] + @institution_list << InstitutionTestHelper.create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @govPower, @govSphere, "12.345.678/9012-45") + @institution_list << InstitutionTestHelper.create_public_institution("Tribunal Regional da Uniao", "TRU", "BR", "DF", "Brasilia", @juridical_nature, @govPower, @govSphere, "12.345.678/9012-90") end should "update institution date_modification when edit profile" do - create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @govPower, @govSphere) + InstitutionTestHelper.create_public_institution("Just a test name", "JTN", "BR", "DF", "Gama", @juridical_nature, @govPower, @govSphere, "12.345.678/9055-33") post :edit, :profile => Institution.last.community.identifier, :profile_data => {:name => "Ministerio da Saude"}, :institution => Institution.last @@ -35,9 +39,6 @@ class ProfileEditorControllerTest < ActionController::TestCase end should "add new institution for user into edit profile" do - institutions = [] - institutions << create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @govPower, @govSphere) - institutions << create_public_institution("Nova Instituicao", "NIN", "BR", "GO", "Goiania", @juridical_nature, @govPower, @govSphere) user = fast_create(User) user.person = fast_create(Person) user.person.user = user @@ -46,21 +47,23 @@ class ProfileEditorControllerTest < ActionController::TestCase params_user = Hash.new params_user[:institution_ids] = [] - institutions.each do |institution| + + @institution_list.each do |institution| params_user[:institution_ids] << institution.id end post :edit, :profile => User.last.person.identifier, :user => params_user - assert_equal institutions.count, User.last.institutions.count + assert_equal @institution_list.count, User.last.institutions.count end should "remove institutions for user into edit profile" do user = fast_create(User) user.person = fast_create(Person) - user.institutions << create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @govPower, @govSphere) - user.institutions << create_public_institution("Nova Instituicao", "NIN", "BR", "GO", "Goiania", @juridical_nature, @govPower, @govSphere) + @institution_list.each do |institution| + user.institutions << institution + end user.person.user = user user.save! @@ -69,30 +72,10 @@ class ProfileEditorControllerTest < ActionController::TestCase params_user = Hash.new params_user[:institution_ids] = [] + assert_equal @institution_list.count, User.last.institutions.count + post :edit, :profile => User.last.person.identifier, :user => params_user assert_equal 0, User.last.institutions.count end - - private - - def create_public_institution name, acronym, country, state, city, juridical_nature, gov_p, gov_s - institution_community = fast_create(Community) - institution_community.name = name - institution_community.country = country - institution_community.state = state - institution_community.city = city - institution_community.save! - - institution = PublicInstitution.new - institution.community = institution_community - institution.name = name - institution.juridical_nature = juridical_nature - institution.acronym = acronym - institution.governmental_power = gov_p - institution.governmental_sphere = gov_s - institution.save! - institution - end - end -- libgit2 0.21.2