diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-11-04 03:12:36 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-11-04 03:12:36 +0300 |
commit | 4e86ca506d67f27cb4ca93b47efc53adc1c237a6 (patch) | |
tree | 8a3babe70df855216f3a9f184e3767fdd26aec57 /spec/features | |
parent | 16f41a5b04934bb7a7a26ac2d6516cb44b7932e3 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/features')
-rw-r--r-- | spec/features/profiles/emails_spec.rb | 17 | ||||
-rw-r--r-- | spec/features/profiles/user_manages_emails_spec.rb | 15 | ||||
-rw-r--r-- | spec/features/signed_commits_spec.rb | 1 |
3 files changed, 23 insertions, 10 deletions
diff --git a/spec/features/profiles/emails_spec.rb b/spec/features/profiles/emails_spec.rb index 6b6f628e2d5..8f05de60be9 100644 --- a/spec/features/profiles/emails_spec.rb +++ b/spec/features/profiles/emails_spec.rb @@ -4,6 +4,7 @@ require 'spec_helper' RSpec.describe 'Profile > Emails' do let(:user) { create(:user) } + let(:other_user) { create(:user) } before do sign_in(user) @@ -23,15 +24,25 @@ RSpec.describe 'Profile > Emails' do expect(page).to have_content('Resend confirmation email') end - it 'does not add a duplicate email' do - fill_in('Email', with: user.email) + it 'does not add an email that is the primary email of another user' do + fill_in('Email', with: other_user.email) click_button('Add email address') - email = user.emails.find_by(email: user.email) + email = user.emails.find_by(email: other_user.email) expect(email).to be_nil expect(page).to have_content('Email has already been taken') end + it 'adds an email that is the primary email of the same user' do + fill_in('Email', with: user.email) + click_button('Add email address') + + email = user.emails.find_by(email: user.email) + expect(email).to be_present + expect(page).to have_content("#{user.email} Verified") + expect(page).not_to have_content("#{user.email} Unverified") + end + it 'does not add an invalid email' do fill_in('Email', with: 'test.@example.com') click_button('Add email address') diff --git a/spec/features/profiles/user_manages_emails_spec.rb b/spec/features/profiles/user_manages_emails_spec.rb index 373c4f565f2..b037d5048aa 100644 --- a/spec/features/profiles/user_manages_emails_spec.rb +++ b/spec/features/profiles/user_manages_emails_spec.rb @@ -4,6 +4,7 @@ require 'spec_helper' RSpec.describe 'User manages emails' do let(:user) { create(:user) } + let(:other_user) { create(:user) } before do sign_in(user) @@ -11,7 +12,7 @@ RSpec.describe 'User manages emails' do visit(profile_emails_path) end - it "shows user's emails" do + it "shows user's emails", :aggregate_failures do expect(page).to have_content(user.email) user.emails.each do |email| @@ -19,7 +20,7 @@ RSpec.describe 'User manages emails' do end end - it 'adds an email' do + it 'adds an email', :aggregate_failures do fill_in('email_email', with: 'my@email.com') click_button('Add') @@ -34,21 +35,21 @@ RSpec.describe 'User manages emails' do end end - it 'does not add a duplicate email' do - fill_in('email_email', with: user.email) + it 'does not add an email that is the primary email of another user', :aggregate_failures do + fill_in('email_email', with: other_user.email) click_button('Add') - email = user.emails.find_by(email: user.email) + email = user.emails.find_by(email: other_user.email) expect(email).to be_nil - expect(page).to have_content(user.email) + expect(page).to have_content('Email has already been taken') user.emails.each do |email| expect(page).to have_content(email.email) end end - it 'removes an email' do + it 'removes an email', :aggregate_failures do fill_in('email_email', with: 'my@email.com') click_button('Add') diff --git a/spec/features/signed_commits_spec.rb b/spec/features/signed_commits_spec.rb index d679e4dbb99..70b53f23508 100644 --- a/spec/features/signed_commits_spec.rb +++ b/spec/features/signed_commits_spec.rb @@ -11,6 +11,7 @@ RSpec.describe 'GPG signed commits' do perform_enqueued_jobs do create :gpg_key, key: GpgHelpers::User1.public_key, user: user + user.reload # necessary to reload the association with gpg_keys end visit project_commit_path(project, ref) |