Commit 50723d962c8690ee9e96a08256ec96290dcc1a0c

Authored by Rodrigo
Committed by Gabriela Navarro
1 parent 59de02bd
Exists in master and in 79 other branches add_sisp_to_chef, add_super_archives_plugin, api_for_colab, automates_core_packing, backup_not_prod, changes_in_buttons_on_content_panel, colab_automated_login, colab_spb_plugin_recipe, colab_widgets_settings, design_validation, dev_env_minimal, disable_email_dev, fix_breadcrumbs_position, fix_categories_software_link, fix_edit_institution, fix_edit_software_with_another_license, fix_get_license_info, fix_gitlab_assets_permission, fix_list_style_inside_article, fix_list_style_on_folder_elements, fix_members_pagination, fix_merge_request_url, fix_models_translations, fix_no_license, fix_software_api, fix_software_block_migration, fix_software_communities_translations, fix_software_communities_unit_test, fix_style_create_institution_admin_panel, fix_superarchives_imports, fix_sym_links_noosfero, focus_search_field_theme, gov-user-refactoring, gov-user-refactoring-rails4, header_fix, institution_modal_on_rating, kalibro-conf-refactoring, kalibro-processor-package, lxc_settings, margin_fix, mezuro_cookbook, prezento, refactor_download_block, refactor_software_communities, refactor_software_for_sisp, register_page, release-process, release-process-v2, remove-unused-images, remove_broken_theme, remove_secondary_email_from_user, remove_sisp_buttons, removing_super_archives_email, review_message, scope2method, signals_user_noosfero, sisp_catalog_header, sisp_colab_config, sisp_dev, sisp_dev_master, sisp_simple_version, software_as_organization, software_catalog_style_fix, software_communities_html_refactor, software_infos_api, spb_minimal_env, spb_to_rails4, spec_refactor, stable-4.1, stable-4.2, stable-4.x, temp_soft_comm_refactoring, theme_header, theme_javascript_refactory, thread_dropdown, thread_page, update_search_by_categories, update_software_api, update_softwares_boxes

Fix secondary email bug and fix unit tests

Signed-off-by: Parley Martins <parley@outlook.com>
Signed-off-by: Rodrigo Medeiros <rodrigo.mss01@gmail.com>
Showing 2 changed files with 18 additions and 4 deletions   Show diff stats
lib/ext/user.rb
... ... @@ -18,8 +18,11 @@ class User
18 18 def email_has_already_been_used?
19 19 user_already_saved = User.find(:first, :conditions=>["email = ?", self.email])
20 20  
21   - if user_already_saved.nil?
  21 + if user_already_saved.nil?
22 22 primary_email_hasnt_been_used = User.primary_or_secondary_email_already_used?(self.email).empty?
  23 + if !self.secondary_email.nil? and self.secondary_email.empty?
  24 + self.secondary_email = nil
  25 + end
23 26 secondary_email_hasnt_been_used = User.primary_or_secondary_email_already_used?(self.secondary_email).empty?
24 27  
25 28 if !primary_email_hasnt_been_used or !secondary_email_hasnt_been_used
... ...
test/unit/mpog_user_test.rb
... ... @@ -71,6 +71,17 @@ class MpogSoftwarePluginUserTest &lt; ActiveSupport::TestCase
71 71 assert !user.save
72 72 end
73 73  
  74 + should 'save more than one user without secondary email' do
  75 + user = fast_create(User)
  76 + user.email = "test@email.com"
  77 + user.secondary_email = ""
  78 + user.save
  79 +
  80 + user2 = fast_create(User)
  81 + user2.email = "test2@email.com"
  82 + user2.secondary_email = ""
  83 + assert user2.save
  84 + end
74 85 should 'return an error if secondary email is governmental and primary is not' do
75 86 user = fast_create(User)
76 87  
... ... @@ -87,13 +98,13 @@ class MpogSoftwarePluginUserTest &lt; ActiveSupport::TestCase
87 98 user.email = "test@gov.br"
88 99  
89 100 user.institutions = []
90   - assert !user.save
  101 + assert !user.save, "this should not save"
91 102  
92 103 institution = build_institution "Test simple institution"
93 104 institution.save
94 105  
95 106 user.institutions << institution
96   - assert user.save
  107 + assert user.save, "this should save"
97 108 end
98 109  
99 110 private
... ... @@ -114,7 +125,7 @@ class MpogSoftwarePluginUserTest &lt; ActiveSupport::TestCase
114 125 institution.type = type
115 126 institution.cnpj = cnpj
116 127  
117   - institution.community = Community.create(:name => "Simple Public Institution")
  128 + institution.community = Community.create(:name => name)
118 129 institution.community.country = "BR"
119 130 institution.community.state = "DF"
120 131 institution.community.city = "Gama"
... ...