diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-10-27 10:15:45 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-10-27 10:15:45 +0000 |
commit | 14b92217e768aa4f3ce2d8b30f2c2acbdfdd8f6a (patch) | |
tree | a0bfb2e384a89525c68c09f54fa6b1b9005e4d93 /spec/models | |
parent | e8ae58a7c189407375b3f575b7aa8fb17a1e4f99 (diff) | |
download | gitlab-ce-14b92217e768aa4f3ce2d8b30f2c2acbdfdd8f6a.tar.gz |
Add latest changes from gitlab-org/security/gitlab@14-4-stable-ee
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/ci/pipeline_spec.rb | 2 | ||||
-rw-r--r-- | spec/models/user_spec.rb | 25 |
2 files changed, 20 insertions, 7 deletions
diff --git a/spec/models/ci/pipeline_spec.rb b/spec/models/ci/pipeline_spec.rb index 98b55ccb76b..5f3aad0ab24 100644 --- a/spec/models/ci/pipeline_spec.rb +++ b/spec/models/ci/pipeline_spec.rb @@ -7,7 +7,7 @@ RSpec.describe Ci::Pipeline, :mailer, factory_default: :keep do include StubRequests include Ci::SourcePipelineHelpers - let_it_be(:user) { create(:user) } + let_it_be(:user) { create(:user, :public_email) } let_it_be(:namespace) { create_default(:namespace).freeze } let_it_be(:project) { create_default(:project, :repository).freeze } diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index db805a804c8..21c5aea514a 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -5679,16 +5679,29 @@ RSpec.describe User do end describe '#hook_attrs' do - it 'includes id, name, username, avatar_url, and email' do - user = create(:user) - user_attributes = { + let(:user) { create(:user) } + let(:user_attributes) do + { id: user.id, name: user.name, username: user.username, - avatar_url: user.avatar_url(only_path: false), - email: user.email + avatar_url: user.avatar_url(only_path: false) } - expect(user.hook_attrs).to eq(user_attributes) + end + + context 'with a public email' do + it 'includes id, name, username, avatar_url, and email' do + user.public_email = "hello@hello.com" + user_attributes[:email] = user.public_email + expect(user.hook_attrs).to eq(user_attributes) + end + end + + context 'without a public email' do + it "does not include email if user's email is private" do + user_attributes[:email] = "[REDACTED]" + expect(user.hook_attrs).to eq(user_attributes) + end end end |