summaryrefslogtreecommitdiff
path: root/spec/models/commit_spec.rb
diff options
context:
space:
mode:
authorGitLab Release Tools Bot <delivery-team+release-tools@gitlab.com>2022-07-28 13:33:09 +0000
committerGitLab Release Tools Bot <delivery-team+release-tools@gitlab.com>2022-07-28 13:33:09 +0000
commit328ff31ff9e6147e4fb883aaee113001da150b9e (patch)
treee1c4c45aa86e7d3f3da88030b892764fff3bc0ff /spec/models/commit_spec.rb
parent4dc46d5b97305108c1b635baa4241a2ce04a7ed0 (diff)
parentf415ebdb978c4eb976d07664219c788918120d59 (diff)
downloadgitlab-ce-15-0-stable.tar.gz
Merge remote-tracking branch 'dev/15-0-stable' into 15-0-stable15-0-stable
Diffstat (limited to 'spec/models/commit_spec.rb')
-rw-r--r--spec/models/commit_spec.rb44
1 files changed, 31 insertions, 13 deletions
diff --git a/spec/models/commit_spec.rb b/spec/models/commit_spec.rb
index 7c67b9a3d63..fe54b1574a2 100644
--- a/spec/models/commit_spec.rb
+++ b/spec/models/commit_spec.rb
@@ -226,27 +226,45 @@ RSpec.describe Commit do
end
describe '#committer' do
- context 'with a confirmed e-mail' do
- it 'returns the user' do
- user = create(:user, email: commit.committer_email)
+ context "when committer_email is the user's primary email" do
+ context 'when the user email is confirmed' do
+ let!(:user) { create(:user, email: commit.committer_email) }
- expect(commit.committer).to eq(user)
+ it 'returns the user' do
+ expect(commit.committer).to eq(user)
+ expect(commit.committer(confirmed: false)).to eq(user)
+ end
end
- end
- context 'with an unconfirmed e-mail' do
- let(:user) { create(:user) }
+ context 'when the user email is unconfirmed' do
+ let!(:user) { create(:user, :unconfirmed, email: commit.committer_email) }
- before do
- create(:email, user: user, email: commit.committer_email)
+ it 'returns the user according to confirmed argument' do
+ expect(commit.committer).to be_nil
+ expect(commit.committer(confirmed: false)).to eq(user)
+ end
end
+ end
- it 'returns no user' do
- expect(commit.committer).to be_nil
+ context "when committer_email is the user's secondary email" do
+ let!(:user) { create(:user) }
+
+ context 'when the user email is confirmed' do
+ let!(:email) { create(:email, :confirmed, user: user, email: commit.committer_email) }
+
+ it 'returns the user' do
+ expect(commit.committer).to eq(user)
+ expect(commit.committer(confirmed: false)).to eq(user)
+ end
end
- it 'returns the user' do
- expect(commit.committer(confirmed: false)).to eq(user)
+ context 'when the user email is unconfirmed' do
+ let!(:email) { create(:email, user: user, email: commit.committer_email) }
+
+ it 'does not return the user' do
+ expect(commit.committer).to be_nil
+ expect(commit.committer(confirmed: false)).to be_nil
+ end
end
end
end