diff options
author | Brett Walker <brett@digitalmoksha.com> | 2017-09-11 19:12:57 +0200 |
---|---|---|
committer | Brett Walker <brett@digitalmoksha.com> | 2017-09-23 15:24:53 +0200 |
commit | a9b31786971d83c193a1430df7c5c4550ba5aa6b (patch) | |
tree | f44fc10f5eb558644dfa3e246d88e3b721ebd03d /spec/models/user_spec.rb | |
parent | 4457ae827251904c28a30c3db06e05495a42b484 (diff) | |
download | gitlab-ce-a9b31786971d83c193a1430df7c5c4550ba5aa6b.tar.gz |
Make GPG signature verification work with non-primary email (#36959)
Diffstat (limited to 'spec/models/user_spec.rb')
-rw-r--r-- | spec/models/user_spec.rb | 56 |
1 files changed, 42 insertions, 14 deletions
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index c1affa812aa..e047027adab 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -1093,6 +1093,48 @@ describe User do end end + describe '#all_emails' do + let(:user) { create(:user) } + + it 'returns all emails' do + email_confirmed = create :email, user: user, confirmed_at: Time.now + email_unconfirmed = create :email, user: user + user.reload + expect(user.all_emails).to eq([user.email, email_unconfirmed.email, email_confirmed.email]) + end + end + + describe '#all_verified_emails' do + let(:user) { create(:user) } + + it 'returns only confirmed emails' do + email_confirmed = create :email, user: user, confirmed_at: Time.now + email_unconfirmed = create :email, user: user + user.reload + expect(user.all_verified_emails).to eq([user.email, email_confirmed.email]) + end + end + + describe '#verified_email?' do + let(:user) { create(:user) } + + it 'returns true when the email is verified/confirmed' do + email_confirmed = create :email, user: user, confirmed_at: Time.now + email_unconfirmed = create :email, user: user + user.reload + + expect(user.verified_email?(user.email)).to be_truthy + expect(user.verified_email?(email_confirmed.email)).to be_truthy + end + + it 'returns false when the email is not verified/confirmed' do + email_unconfirmed = create :email, user: user + user.reload + + expect(user.verified_email?(email_unconfirmed.email)).to be_falsy + end + end + describe '#requires_ldap_check?' do let(:user) { described_class.new } @@ -2073,20 +2115,6 @@ describe User do end end - describe '#verified_email?' do - it 'returns true when the email is the primary email' do - user = build :user, email: 'email@example.com' - - expect(user.verified_email?('email@example.com')).to be true - end - - it 'returns false when the email is not the primary email' do - user = build :user, email: 'email@example.com' - - expect(user.verified_email?('other_email@example.com')).to be false - end - end - describe '#sync_attribute?' do let(:user) { described_class.new } |