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:
Lin Jen-Shin 2017-08-03 00:43:51 +08:00
parent b0464fa4e1
commit bb5f79d43e
14 changed files with 15 additions and 51 deletions

View file

@ -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

View file

@ -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) }

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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)

View file

@ -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) }

View file

@ -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) }

View file

@ -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) }

View file

@ -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)

View file

@ -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}")

View file

@ -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

View file

@ -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

View file

@ -1,8 +1,6 @@
require 'spec_helper'
describe PipelineNotificationWorker do
include EmailHelpers
describe PipelineNotificationWorker, :mailer do
let(:pipeline) { create(:ci_pipeline) }
describe '#execute' do