Don't include EmailHelpers manually, pick with rspec
`:mailer` is needed to pick it easily, while `type: :mailer` is needed for picking it automatically for tests located in spec/mailers/*_spec.rb It's a bit complicated in spec/services/notification_service_spec.rb but we'll leave it alone for now.
This commit is contained in:
parent
b0464fa4e1
commit
bb5f79d43e
14 changed files with 15 additions and 51 deletions
|
@ -1,8 +1,6 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Ci::Pipeline do
|
||||
include EmailHelpers
|
||||
|
||||
describe Ci::Pipeline, :mailer do
|
||||
let(:user) { create(:user) }
|
||||
let(:project) { create(:project) }
|
||||
|
||||
|
@ -1248,8 +1246,6 @@ describe Ci::Pipeline do
|
|||
pipeline.user.global_notification_setting
|
||||
.update(level: 'custom', failed_pipeline: true, success_pipeline: true)
|
||||
|
||||
reset_delivered_emails!
|
||||
|
||||
perform_enqueued_jobs do
|
||||
pipeline.enqueue
|
||||
pipeline.run
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe DeployKey do
|
||||
include EmailHelpers
|
||||
|
||||
describe DeployKey, :mailer do
|
||||
describe "Associations" do
|
||||
it { is_expected.to have_many(:deploy_keys_projects) }
|
||||
it { is_expected.to have_many(:projects) }
|
||||
|
|
|
@ -114,9 +114,7 @@ describe GpgKey do
|
|||
end
|
||||
end
|
||||
|
||||
describe 'notification' do
|
||||
include EmailHelpers
|
||||
|
||||
describe 'notification', :mailer do
|
||||
let(:user) { create(:user) }
|
||||
|
||||
it 'sends a notification' do
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Key do
|
||||
include EmailHelpers
|
||||
|
||||
describe Key, :mailer do
|
||||
describe "Associations" do
|
||||
it { is_expected.to belong_to(:user) }
|
||||
end
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe PipelinesEmailService do
|
||||
include EmailHelpers
|
||||
|
||||
describe PipelinesEmailService, :mailer do
|
||||
let(:pipeline) do
|
||||
create(:ci_pipeline, project: project, sha: project.commit('master').sha)
|
||||
end
|
||||
|
@ -14,10 +12,6 @@ describe PipelinesEmailService do
|
|||
Gitlab::DataBuilder::Pipeline.build(pipeline)
|
||||
end
|
||||
|
||||
before do
|
||||
reset_delivered_emails!
|
||||
end
|
||||
|
||||
describe 'Validations' do
|
||||
context 'when service is active' do
|
||||
before do
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe API::Issues do
|
||||
include EmailHelpers
|
||||
|
||||
describe API::Issues, :mailer do
|
||||
set(:user) { create(:user) }
|
||||
set(:project) do
|
||||
create(:project, :public, creator_id: user.id, namespace: user.namespace)
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe API::V3::Issues do
|
||||
include EmailHelpers
|
||||
|
||||
describe API::V3::Issues, :mailer do
|
||||
let(:user) { create(:user) }
|
||||
let(:user2) { create(:user) }
|
||||
let(:non_member) { create(:user) }
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
# coding: utf-8
|
||||
require 'spec_helper'
|
||||
|
||||
describe Issues::UpdateService do
|
||||
include EmailHelpers
|
||||
|
||||
describe Issues::UpdateService, :mailer do
|
||||
let(:user) { create(:user) }
|
||||
let(:user2) { create(:user) }
|
||||
let(:user3) { create(:user) }
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe MergeRequests::UpdateService do
|
||||
include EmailHelpers
|
||||
|
||||
describe MergeRequests::UpdateService, :mailer do
|
||||
let(:project) { create(:project, :repository) }
|
||||
let(:user) { create(:user) }
|
||||
let(:user2) { create(:user) }
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe NotificationService do
|
||||
include EmailHelpers
|
||||
|
||||
describe NotificationService, :mailer do
|
||||
let(:notification) { described_class.new }
|
||||
let(:assignee) { create(:user) }
|
||||
|
||||
|
@ -14,7 +12,6 @@ describe NotificationService do
|
|||
|
||||
shared_examples 'notifications for new mentions' do
|
||||
def send_notifications(*new_mentions)
|
||||
reset_delivered_emails!
|
||||
notification.send(notification_method, mentionable, new_mentions, @u_disabled)
|
||||
end
|
||||
|
||||
|
@ -137,12 +134,11 @@ describe NotificationService do
|
|||
describe '#new_note' do
|
||||
it do
|
||||
add_users_with_subscription(note.project, issue)
|
||||
reset_delivered_emails!
|
||||
|
||||
# Ensure create SentNotification by noteable = issue 6 times, not noteable = note
|
||||
expect(SentNotification).to receive(:record).with(issue, any_args).exactly(8).times
|
||||
|
||||
reset_delivered_emails!
|
||||
|
||||
notification.new_note(note)
|
||||
|
||||
should_email(@u_watcher)
|
||||
|
@ -165,9 +161,10 @@ describe NotificationService do
|
|||
|
||||
it "emails the note author if they've opted into notifications about their activity" do
|
||||
add_users_with_subscription(note.project, issue)
|
||||
note.author.notified_of_own_activity = true
|
||||
reset_delivered_emails!
|
||||
|
||||
note.author.notified_of_own_activity = true
|
||||
|
||||
notification.new_note(note)
|
||||
|
||||
should_email(note.author)
|
||||
|
|
|
@ -7,7 +7,6 @@ shared_context 'gitlab email notification' do
|
|||
let(:new_user_address) { 'newguy@example.com' }
|
||||
|
||||
before do
|
||||
reset_delivered_emails!
|
||||
email = recipient.emails.create(email: "notifications@example.com")
|
||||
recipient.update_attribute(:notification_email, email.email)
|
||||
stub_incoming_email_setting(enabled: true, address: "reply+%{key}@#{Gitlab.config.gitlab.host}")
|
||||
|
|
|
@ -7,8 +7,6 @@ RSpec.shared_examples 'updating mentions' do |service_class|
|
|||
end
|
||||
|
||||
def update_mentionable(opts)
|
||||
reset_delivered_emails!
|
||||
|
||||
perform_enqueued_jobs do
|
||||
service_class.new(project, user, opts).execute(mentionable)
|
||||
end
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe EmailsOnPushWorker do
|
||||
describe EmailsOnPushWorker, :mailer do
|
||||
include RepoHelpers
|
||||
include EmailHelpers
|
||||
include EmailSpec::Matchers
|
||||
|
||||
let(:project) { create(:project, :repository) }
|
||||
|
@ -90,7 +89,6 @@ describe EmailsOnPushWorker do
|
|||
|
||||
context "when there is an SMTP error" do
|
||||
before do
|
||||
reset_delivered_emails!
|
||||
allow(Notify).to receive(:repository_push_email).and_raise(Net::SMTPFatalError)
|
||||
allow(subject).to receive_message_chain(:logger, :info)
|
||||
perform
|
||||
|
@ -114,8 +112,6 @@ describe EmailsOnPushWorker do
|
|||
allow_any_instance_of(Mail::TestMailer).to receive(:deliver!).and_wrap_original do |original, mail|
|
||||
original.call(Mail.new(mail.encoded))
|
||||
end
|
||||
|
||||
reset_delivered_emails!
|
||||
end
|
||||
|
||||
it "sends the mail to each of the recipients" do
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe PipelineNotificationWorker do
|
||||
include EmailHelpers
|
||||
|
||||
describe PipelineNotificationWorker, :mailer do
|
||||
let(:pipeline) { create(:ci_pipeline) }
|
||||
|
||||
describe '#execute' do
|
||||
|
|
Loading…
Reference in a new issue