diff --git a/lib/ext/user.rb b/lib/ext/user.rb index aa8b7f8..96289cd 100644 --- a/lib/ext/user.rb +++ b/lib/ext/user.rb @@ -18,8 +18,11 @@ class User def email_has_already_been_used? user_already_saved = User.find(:first, :conditions=>["email = ?", self.email]) - if user_already_saved.nil? + if user_already_saved.nil? primary_email_hasnt_been_used = User.primary_or_secondary_email_already_used?(self.email).empty? + if !self.secondary_email.nil? and self.secondary_email.empty? + self.secondary_email = nil + end secondary_email_hasnt_been_used = User.primary_or_secondary_email_already_used?(self.secondary_email).empty? if !primary_email_hasnt_been_used or !secondary_email_hasnt_been_used diff --git a/test/unit/mpog_user_test.rb b/test/unit/mpog_user_test.rb index 9353a15..2c5fce2 100644 --- a/test/unit/mpog_user_test.rb +++ b/test/unit/mpog_user_test.rb @@ -71,6 +71,17 @@ class MpogSoftwarePluginUserTest < ActiveSupport::TestCase assert !user.save end + should 'save more than one user without secondary email' do + user = fast_create(User) + user.email = "test@email.com" + user.secondary_email = "" + user.save + + user2 = fast_create(User) + user2.email = "test2@email.com" + user2.secondary_email = "" + assert user2.save + end should 'return an error if secondary email is governmental and primary is not' do user = fast_create(User) @@ -87,13 +98,13 @@ class MpogSoftwarePluginUserTest < ActiveSupport::TestCase user.email = "test@gov.br" user.institutions = [] - assert !user.save + assert !user.save, "this should not save" institution = build_institution "Test simple institution" institution.save user.institutions << institution - assert user.save + assert user.save, "this should save" end private @@ -114,7 +125,7 @@ class MpogSoftwarePluginUserTest < ActiveSupport::TestCase institution.type = type institution.cnpj = cnpj - institution.community = Community.create(:name => "Simple Public Institution") + institution.community = Community.create(:name => name) institution.community.country = "BR" institution.community.state = "DF" institution.community.city = "Gama" -- libgit2 0.21.2