Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-03-02 09:10:53 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-03-02 09:10:53 +0300
commite0a63a4b4d818171c17b75ef1e6d348cb287af9f (patch)
treef6f31af898634ea51ade70e279cc33d463493039 /spec
parent8f57ac0a38b7045f241dc5ad29fcde3f6eae3a40 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r--spec/frontend/vue_mr_widget/components/states/__snapshots__/mr_widget_auto_merge_enabled_spec.js.snap2
-rw-r--r--spec/helpers/merge_requests_helper_spec.rb53
-rw-r--r--spec/mailers/notify_spec.rb3
3 files changed, 58 insertions, 0 deletions
diff --git a/spec/frontend/vue_mr_widget/components/states/__snapshots__/mr_widget_auto_merge_enabled_spec.js.snap b/spec/frontend/vue_mr_widget/components/states/__snapshots__/mr_widget_auto_merge_enabled_spec.js.snap
index c425a3a86a9..e5862df5dda 100644
--- a/spec/frontend/vue_mr_widget/components/states/__snapshots__/mr_widget_auto_merge_enabled_spec.js.snap
+++ b/spec/frontend/vue_mr_widget/components/states/__snapshots__/mr_widget_auto_merge_enabled_spec.js.snap
@@ -16,6 +16,7 @@ exports[`MRWidgetAutoMergeEnabled when graphql is disabled template should have
>
<span
class="gl-mr-3"
+ data-qa-selector="merge_request_status_content"
>
<span
class="js-status-text-before-author"
@@ -107,6 +108,7 @@ exports[`MRWidgetAutoMergeEnabled when graphql is enabled template should have c
>
<span
class="gl-mr-3"
+ data-qa-selector="merge_request_status_content"
>
<span
class="js-status-text-before-author"
diff --git a/spec/helpers/merge_requests_helper_spec.rb b/spec/helpers/merge_requests_helper_spec.rb
index fce4d560b2f..3cf855229bb 100644
--- a/spec/helpers/merge_requests_helper_spec.rb
+++ b/spec/helpers/merge_requests_helper_spec.rb
@@ -90,4 +90,57 @@ RSpec.describe MergeRequestsHelper do
)
end
end
+
+ describe '#reviewers_label' do
+ let(:merge_request) { build_stubbed(:merge_request) }
+ let(:reviewer1) { build_stubbed(:user, name: 'Jane Doe') }
+ let(:reviewer2) { build_stubbed(:user, name: 'John Doe') }
+
+ before do
+ allow(merge_request).to receive(:reviewers).and_return(reviewers)
+ end
+
+ context 'when multiple reviewers exist' do
+ let(:reviewers) { [reviewer1, reviewer2] }
+
+ it 'returns reviewer label with reviewer names' do
+ expect(helper.reviewers_label(merge_request)).to eq("Reviewers: Jane Doe and John Doe")
+ end
+
+ it 'returns reviewer label only with include_value: false' do
+ expect(helper.reviewers_label(merge_request, include_value: false)).to eq("Reviewers")
+ end
+
+ context 'when the name contains a URL' do
+ let(:reviewers) { [build_stubbed(:user, name: 'www.gitlab.com')] }
+
+ it 'returns sanitized name' do
+ expect(helper.reviewers_label(merge_request)).to eq("Reviewer: www_gitlab_com")
+ end
+ end
+ end
+
+ context 'when one reviewer exists' do
+ let(:reviewers) { [reviewer1] }
+
+ it 'returns reviewer label with no names' do
+ expect(helper.reviewers_label(merge_request)).to eq("Reviewer: Jane Doe")
+ end
+
+ it 'returns reviewer label only with include_value: false' do
+ expect(helper.reviewers_label(merge_request, include_value: false)).to eq("Reviewer")
+ end
+ end
+
+ context 'when no reviewers exist' do
+ let(:reviewers) { [] }
+
+ it 'returns reviewer label with no names' do
+ expect(helper.reviewers_label(merge_request)).to eq("Reviewers: ")
+ end
+ it 'returns reviewer label only with include_value: false' do
+ expect(helper.reviewers_label(merge_request, include_value: false)).to eq("Reviewers")
+ end
+ end
+ end
end
diff --git a/spec/mailers/notify_spec.rb b/spec/mailers/notify_spec.rb
index 89cf1aaedd2..a965980271b 100644
--- a/spec/mailers/notify_spec.rb
+++ b/spec/mailers/notify_spec.rb
@@ -16,12 +16,14 @@ RSpec.describe Notify do
let_it_be(:user, reload: true) { create(:user) }
let_it_be(:current_user, reload: true) { create(:user, email: "current@email.com", name: 'www.example.com') }
let_it_be(:assignee, reload: true) { create(:user, email: 'assignee@example.com', name: 'John Doe') }
+ let_it_be(:reviewer, reload: true) { create(:user, email: 'reviewer@example.com', name: 'Jane Doe') }
let_it_be(:merge_request) do
create(:merge_request, source_project: project,
target_project: project,
author: current_user,
assignees: [assignee],
+ reviewers: [reviewer],
description: 'Awesome description')
end
@@ -342,6 +344,7 @@ RSpec.describe Notify do
is_expected.to have_body_text(project_merge_request_path(project, merge_request))
is_expected.to have_body_text(merge_request.source_branch)
is_expected.to have_body_text(merge_request.target_branch)
+ is_expected.to have_body_text(reviewer.name)
end
end