Commit 50723d962c8690ee9e96a08256ec96290dcc1a0c

Authored by Rodrigo
Committed by Gabriela Navarro
1 parent 59de02bd

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,8 +18,11 @@ class User
18 def email_has_already_been_used? 18 def email_has_already_been_used?
19 user_already_saved = User.find(:first, :conditions=>["email = ?", self.email]) 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 primary_email_hasnt_been_used = User.primary_or_secondary_email_already_used?(self.email).empty? 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 secondary_email_hasnt_been_used = User.primary_or_secondary_email_already_used?(self.secondary_email).empty? 26 secondary_email_hasnt_been_used = User.primary_or_secondary_email_already_used?(self.secondary_email).empty?
24 27
25 if !primary_email_hasnt_been_used or !secondary_email_hasnt_been_used 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,6 +71,17 @@ class MpogSoftwarePluginUserTest &lt; ActiveSupport::TestCase
71 assert !user.save 71 assert !user.save
72 end 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 should 'return an error if secondary email is governmental and primary is not' do 85 should 'return an error if secondary email is governmental and primary is not' do
75 user = fast_create(User) 86 user = fast_create(User)
76 87
@@ -87,13 +98,13 @@ class MpogSoftwarePluginUserTest &lt; ActiveSupport::TestCase @@ -87,13 +98,13 @@ class MpogSoftwarePluginUserTest &lt; ActiveSupport::TestCase
87 user.email = "test@gov.br" 98 user.email = "test@gov.br"
88 99
89 user.institutions = [] 100 user.institutions = []
90 - assert !user.save 101 + assert !user.save, "this should not save"
91 102
92 institution = build_institution "Test simple institution" 103 institution = build_institution "Test simple institution"
93 institution.save 104 institution.save
94 105
95 user.institutions << institution 106 user.institutions << institution
96 - assert user.save 107 + assert user.save, "this should save"
97 end 108 end
98 109
99 private 110 private
@@ -114,7 +125,7 @@ class MpogSoftwarePluginUserTest &lt; ActiveSupport::TestCase @@ -114,7 +125,7 @@ class MpogSoftwarePluginUserTest &lt; ActiveSupport::TestCase
114 institution.type = type 125 institution.type = type
115 institution.cnpj = cnpj 126 institution.cnpj = cnpj
116 127
117 - institution.community = Community.create(:name => "Simple Public Institution") 128 + institution.community = Community.create(:name => name)
118 institution.community.country = "BR" 129 institution.community.country = "BR"
119 institution.community.state = "DF" 130 institution.community.state = "DF"
120 institution.community.city = "Gama" 131 institution.community.city = "Gama"