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>2020-12-31 03:10:12 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-12-31 03:10:12 +0300
commitf9f496e7f19f574992b9543763490fda6d920e77 (patch)
tree3b0cf2eda897e32a3e4c8f234070b2dabc593b72 /spec
parent7208156569518903735416b95a4a0d8f83255d41 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r--spec/mailers/emails/service_desk_spec.rb11
-rw-r--r--spec/mailers/notify_spec.rb3
-rw-r--r--spec/models/issue_spec.rb11
-rw-r--r--spec/services/notification_service_spec.rb30
4 files changed, 24 insertions, 31 deletions
diff --git a/spec/mailers/emails/service_desk_spec.rb b/spec/mailers/emails/service_desk_spec.rb
index cb74194020d..7d04b373be6 100644
--- a/spec/mailers/emails/service_desk_spec.rb
+++ b/spec/mailers/emails/service_desk_spec.rb
@@ -13,13 +13,8 @@ RSpec.describe Emails::ServiceDesk do
let_it_be(:user) { create(:user) }
let_it_be(:project) { create(:project) }
let_it_be(:issue) { create(:issue, project: project) }
- let_it_be(:email) { 'someone@gitlab.com' }
let(:template) { double(content: template_content) }
- before_all do
- issue.issue_email_participants.create!(email: email)
- end
-
before do
stub_const('ServiceEmailClass', Class.new(ApplicationMailer))
@@ -77,10 +72,6 @@ RSpec.describe Emails::ServiceDesk do
let(:template_content) { 'custom text' }
let(:issue) { create(:issue, project: project)}
- before do
- issue.issue_email_participants.create!(email: email)
- end
-
context 'when a template is in the repository' do
let(:project) { create(:project, :custom_repo, files: { ".gitlab/service_desk_templates/#{template_key}.md" => template_content }) }
@@ -160,7 +151,7 @@ RSpec.describe Emails::ServiceDesk do
let_it_be(:note) { create(:note_on_issue, noteable: issue, project: project) }
let_it_be(:default_text) { note.note }
- subject { ServiceEmailClass.service_desk_new_note_email(issue.id, note.id, email) }
+ subject { ServiceEmailClass.service_desk_new_note_email(issue.id, note.id) }
it_behaves_like 'read template from repository', 'new_note'
diff --git a/spec/mailers/notify_spec.rb b/spec/mailers/notify_spec.rb
index 645b015bd67..3ebc2fc1e36 100644
--- a/spec/mailers/notify_spec.rb
+++ b/spec/mailers/notify_spec.rb
@@ -1285,7 +1285,6 @@ RSpec.describe Notify do
context 'for service desk issues' do
before do
issue.update!(external_author: 'service.desk@example.com')
- issue.issue_email_participants.create!(email: 'service.desk@example.com')
end
def expect_sender(username)
@@ -1334,7 +1333,7 @@ RSpec.describe Notify do
describe 'new note email' do
let_it_be(:first_note) { create(:discussion_note_on_issue, note: 'Hello world') }
- subject { described_class.service_desk_new_note_email(issue.id, first_note.id, 'service.desk@example.com') }
+ subject { described_class.service_desk_new_note_email(issue.id, first_note.id) }
it_behaves_like 'an unsubscribeable thread'
diff --git a/spec/models/issue_spec.rb b/spec/models/issue_spec.rb
index 68917dcec77..81f045b4db1 100644
--- a/spec/models/issue_spec.rb
+++ b/spec/models/issue_spec.rb
@@ -1260,15 +1260,4 @@ RSpec.describe Issue do
expect { issue.issue_type_supports?(:unkown_feature) }.to raise_error(ArgumentError)
end
end
-
- describe '#email_participants_emails' do
- let_it_be(:issue) { create(:issue) }
-
- it 'returns a list of emails' do
- participant1 = issue.issue_email_participants.create(email: 'a@gitlab.com')
- participant2 = issue.issue_email_participants.create(email: 'b@gitlab.com')
-
- expect(issue.email_participants_emails).to contain_exactly(participant1.email, participant2.email)
- end
- end
end
diff --git a/spec/services/notification_service_spec.rb b/spec/services/notification_service_spec.rb
index e4ad8909785..9431c023850 100644
--- a/spec/services/notification_service_spec.rb
+++ b/spec/services/notification_service_spec.rb
@@ -297,17 +297,17 @@ RSpec.describe NotificationService, :mailer do
describe 'Notes' do
context 'issue note' do
let_it_be(:project) { create(:project, :private) }
- let_it_be_with_reload(:issue) { create(:issue, project: project, assignees: [assignee]) }
+ let_it_be(:issue) { create(:issue, project: project, assignees: [assignee]) }
let_it_be(:mentioned_issue) { create(:issue, assignees: issue.assignees) }
let_it_be_with_reload(:author) { create(:user) }
let(:note) { create(:note_on_issue, author: author, noteable: issue, project_id: issue.project_id, note: '@mention referenced, @unsubscribed_mentioned and @outsider also') }
subject { notification.new_note(note) }
- context 'issue_email_participants' do
+ context 'on service desk issue' do
before do
allow(Notify).to receive(:service_desk_new_note_email)
- .with(Integer, Integer, String).and_return(mailer)
+ .with(Integer, Integer).and_return(mailer)
allow(::Gitlab::IncomingEmail).to receive(:enabled?) { true }
allow(::Gitlab::IncomingEmail).to receive(:supports_wildcard?) { true }
@@ -318,7 +318,7 @@ RSpec.describe NotificationService, :mailer do
def should_email!
expect(Notify).to receive(:service_desk_new_note_email)
- .with(issue.id, note.id, issue.external_author)
+ .with(issue.id, note.id)
end
def should_not_email!
@@ -347,19 +347,33 @@ RSpec.describe NotificationService, :mailer do
let(:project) { issue.project }
let(:note) { create(:note, noteable: issue, project: project) }
- context 'do not exist' do
+ context 'a non-service-desk issue' do
it_should_not_email!
end
- context 'do exist' do
- let!(:issue_email_participant) { issue.issue_email_participants.create!(email: 'service.desk@example.com') }
-
+ context 'a service-desk issue' do
before do
issue.update!(external_author: 'service.desk@example.com')
project.update!(service_desk_enabled: true)
end
it_should_email!
+
+ context 'where the project has disabled the feature' do
+ before do
+ project.update!(service_desk_enabled: false)
+ end
+
+ it_should_not_email!
+ end
+
+ context 'when the support bot has unsubscribed' do
+ before do
+ issue.unsubscribe(User.support_bot, project)
+ end
+
+ it_should_not_email!
+ end
end
end