summaryrefslogtreecommitdiff
path: root/spec/models/sent_notification_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/sent_notification_spec.rb')
-rw-r--r--spec/models/sent_notification_spec.rb144
1 files changed, 72 insertions, 72 deletions
diff --git a/spec/models/sent_notification_spec.rb b/spec/models/sent_notification_spec.rb
index 6c35ed8f649..09095bf2b62 100644
--- a/spec/models/sent_notification_spec.rb
+++ b/spec/models/sent_notification_spec.rb
@@ -1,11 +1,11 @@
-require 'spec_helper'
+require "spec_helper"
describe SentNotification do
set(:user) { create(:user) }
set(:project) { create(:project) }
- describe 'validation' do
- describe 'note validity' do
+ describe "validation" do
+ describe "note validity" do
context "when the project doesn't match the noteable's project" do
subject { build(:sent_notification, noteable: create(:issue)) }
@@ -36,46 +36,46 @@ describe SentNotification do
end
end
- shared_examples 'a successful sent notification' do
- it 'creates a new SentNotification' do
+ shared_examples "a successful sent notification" do
+ it "creates a new SentNotification" do
expect { subject }.to change { described_class.count }.by(1)
end
end
- describe '.record' do
+ describe ".record" do
let(:issue) { create(:issue) }
subject { described_class.record(issue, user.id) }
- it_behaves_like 'a successful sent notification'
+ it_behaves_like "a successful sent notification"
end
- describe '.record_note' do
+ describe ".record_note" do
subject { described_class.record_note(note, note.author.id) }
- context 'for a discussion note' do
+ context "for a discussion note" do
let(:note) { create(:diff_note_on_merge_request) }
- it_behaves_like 'a successful sent notification'
+ it_behaves_like "a successful sent notification"
- it 'sets in_reply_to_discussion_id' do
+ it "sets in_reply_to_discussion_id" do
expect(subject.in_reply_to_discussion_id).to eq(note.discussion_id)
end
end
- context 'for an individual note' do
+ context "for an individual note" do
let(:note) { create(:note_on_merge_request) }
- it_behaves_like 'a successful sent notification'
+ it_behaves_like "a successful sent notification"
- it 'does not set in_reply_to_discussion_id' do
+ it "does not set in_reply_to_discussion_id" do
expect(subject.in_reply_to_discussion_id).to be_nil
end
end
end
- describe '#unsubscribable?' do
- shared_examples 'an unsubscribable notification' do |noteable_type|
+ describe "#unsubscribable?" do
+ shared_examples "an unsubscribable notification" do |noteable_type|
subject { described_class.record(noteable, user.id) }
context "for #{noteable_type}" do
@@ -83,7 +83,7 @@ describe SentNotification do
end
end
- shared_examples 'a non-unsubscribable notification' do |noteable_type|
+ shared_examples "a non-unsubscribable notification" do |noteable_type|
subject { described_class.record(noteable, user.id) }
context "for a #{noteable_type}" do
@@ -91,30 +91,30 @@ describe SentNotification do
end
end
- it_behaves_like 'an unsubscribable notification', 'issue' do
+ it_behaves_like "an unsubscribable notification", "issue" do
let(:noteable) { create(:issue, project: project) }
end
- it_behaves_like 'an unsubscribable notification', 'merge request' do
+ it_behaves_like "an unsubscribable notification", "merge request" do
let(:noteable) { create(:merge_request, source_project: project) }
end
- it_behaves_like 'a non-unsubscribable notification', 'commit' do
+ it_behaves_like "a non-unsubscribable notification", "commit" do
let(:project) { create(:project, :repository) }
let(:noteable) { project.commit }
end
- it_behaves_like 'a non-unsubscribable notification', 'personal snippet' do
+ it_behaves_like "a non-unsubscribable notification", "personal snippet" do
let(:noteable) { create(:personal_snippet, project: project) }
end
- it_behaves_like 'a non-unsubscribable notification', 'project snippet' do
+ it_behaves_like "a non-unsubscribable notification", "project snippet" do
let(:noteable) { create(:project_snippet, project: project) }
end
end
- describe '#for_commit?' do
- shared_examples 'a commit notification' do |noteable_type|
+ describe "#for_commit?" do
+ shared_examples "a commit notification" do |noteable_type|
subject { described_class.record(noteable, user.id) }
context "for #{noteable_type}" do
@@ -122,7 +122,7 @@ describe SentNotification do
end
end
- shared_examples 'a non-commit notification' do |noteable_type|
+ shared_examples "a non-commit notification" do |noteable_type|
subject { described_class.record(noteable, user.id) }
context "for a #{noteable_type}" do
@@ -130,30 +130,30 @@ describe SentNotification do
end
end
- it_behaves_like 'a non-commit notification', 'issue' do
+ it_behaves_like "a non-commit notification", "issue" do
let(:noteable) { create(:issue, project: project) }
end
- it_behaves_like 'a non-commit notification', 'merge request' do
+ it_behaves_like "a non-commit notification", "merge request" do
let(:noteable) { create(:merge_request, source_project: project) }
end
- it_behaves_like 'a commit notification', 'commit' do
+ it_behaves_like "a commit notification", "commit" do
let(:project) { create(:project, :repository) }
let(:noteable) { project.commit }
end
- it_behaves_like 'a non-commit notification', 'personal snippet' do
+ it_behaves_like "a non-commit notification", "personal snippet" do
let(:noteable) { create(:personal_snippet, project: project) }
end
- it_behaves_like 'a non-commit notification', 'project snippet' do
+ it_behaves_like "a non-commit notification", "project snippet" do
let(:noteable) { create(:project_snippet, project: project) }
end
end
- describe '#for_snippet?' do
- shared_examples 'a snippet notification' do |noteable_type|
+ describe "#for_snippet?" do
+ shared_examples "a snippet notification" do |noteable_type|
subject { described_class.record(noteable, user.id) }
context "for #{noteable_type}" do
@@ -161,7 +161,7 @@ describe SentNotification do
end
end
- shared_examples 'a non-snippet notification' do |noteable_type|
+ shared_examples "a non-snippet notification" do |noteable_type|
subject { described_class.record(noteable, user.id) }
context "for a #{noteable_type}" do
@@ -169,143 +169,143 @@ describe SentNotification do
end
end
- it_behaves_like 'a non-snippet notification', 'issue' do
+ it_behaves_like "a non-snippet notification", "issue" do
let(:noteable) { create(:issue, project: project) }
end
- it_behaves_like 'a non-snippet notification', 'merge request' do
+ it_behaves_like "a non-snippet notification", "merge request" do
let(:noteable) { create(:merge_request, source_project: project) }
end
- it_behaves_like 'a non-snippet notification', 'commit' do
+ it_behaves_like "a non-snippet notification", "commit" do
let(:project) { create(:project, :repository) }
let(:noteable) { project.commit }
end
- it_behaves_like 'a snippet notification', 'personal snippet' do
+ it_behaves_like "a snippet notification", "personal snippet" do
let(:noteable) { create(:personal_snippet, project: project) }
end
- it_behaves_like 'a snippet notification', 'project snippet' do
+ it_behaves_like "a snippet notification", "project snippet" do
let(:noteable) { create(:project_snippet, project: project) }
end
end
- describe '#create_reply' do
- context 'for issue' do
+ describe "#create_reply" do
+ context "for issue" do
let(:issue) { create(:issue) }
subject { described_class.record(issue, issue.author.id) }
- it 'creates a comment on the issue' do
- note = subject.create_reply('Test')
+ it "creates a comment on the issue" do
+ note = subject.create_reply("Test")
expect(note.in_reply_to?(issue)).to be_truthy
end
end
- context 'for issue comment' do
+ context "for issue comment" do
let(:note) { create(:note_on_issue) }
subject { described_class.record_note(note, note.author.id) }
- it 'creates a comment on the issue' do
- new_note = subject.create_reply('Test')
+ it "creates a comment on the issue" do
+ new_note = subject.create_reply("Test")
expect(new_note.in_reply_to?(note)).to be_truthy
expect(new_note.discussion_id).not_to eq(note.discussion_id)
end
end
- context 'for issue discussion' do
+ context "for issue discussion" do
let(:note) { create(:discussion_note_on_issue) }
subject { described_class.record_note(note, note.author.id) }
- it 'creates a reply on the discussion' do
- new_note = subject.create_reply('Test')
+ it "creates a reply on the discussion" do
+ new_note = subject.create_reply("Test")
expect(new_note.in_reply_to?(note)).to be_truthy
expect(new_note.discussion_id).to eq(note.discussion_id)
end
end
- context 'for merge request' do
+ context "for merge request" do
let(:merge_request) { create(:merge_request) }
subject { described_class.record(merge_request, merge_request.author.id) }
- it 'creates a comment on the merge_request' do
- note = subject.create_reply('Test')
+ it "creates a comment on the merge_request" do
+ note = subject.create_reply("Test")
expect(note.in_reply_to?(merge_request)).to be_truthy
end
end
- context 'for merge request comment' do
+ context "for merge request comment" do
let(:note) { create(:note_on_merge_request) }
subject { described_class.record_note(note, note.author.id) }
- it 'creates a comment on the merge request' do
- new_note = subject.create_reply('Test')
+ it "creates a comment on the merge request" do
+ new_note = subject.create_reply("Test")
expect(new_note.in_reply_to?(note)).to be_truthy
expect(new_note.discussion_id).not_to eq(note.discussion_id)
end
end
- context 'for merge request diff discussion' do
+ context "for merge request diff discussion" do
let(:note) { create(:diff_note_on_merge_request) }
subject { described_class.record_note(note, note.author.id) }
- it 'creates a reply on the discussion' do
- new_note = subject.create_reply('Test')
+ it "creates a reply on the discussion" do
+ new_note = subject.create_reply("Test")
expect(new_note.in_reply_to?(note)).to be_truthy
expect(new_note.discussion_id).to eq(note.discussion_id)
end
end
- context 'for merge request non-diff discussion' do
+ context "for merge request non-diff discussion" do
let(:note) { create(:discussion_note_on_merge_request) }
subject { described_class.record_note(note, note.author.id) }
- it 'creates a reply on the discussion' do
- new_note = subject.create_reply('Test')
+ it "creates a reply on the discussion" do
+ new_note = subject.create_reply("Test")
expect(new_note.in_reply_to?(note)).to be_truthy
expect(new_note.discussion_id).to eq(note.discussion_id)
end
end
- context 'for commit' do
+ context "for commit" do
let(:project) { create(:project, :repository) }
let(:commit) { project.commit }
subject { described_class.record(commit, project.creator.id) }
- it 'creates a comment on the commit' do
- note = subject.create_reply('Test')
+ it "creates a comment on the commit" do
+ note = subject.create_reply("Test")
expect(note.in_reply_to?(commit)).to be_truthy
end
end
- context 'for commit comment' do
+ context "for commit comment" do
let(:note) { create(:note_on_commit) }
subject { described_class.record_note(note, note.author.id) }
- it 'creates a comment on the commit' do
- new_note = subject.create_reply('Test')
+ it "creates a comment on the commit" do
+ new_note = subject.create_reply("Test")
expect(new_note.in_reply_to?(note)).to be_truthy
expect(new_note.discussion_id).not_to eq(note.discussion_id)
end
end
- context 'for commit diff discussion' do
+ context "for commit diff discussion" do
let(:note) { create(:diff_note_on_commit) }
subject { described_class.record_note(note, note.author.id) }
- it 'creates a reply on the discussion' do
- new_note = subject.create_reply('Test')
+ it "creates a reply on the discussion" do
+ new_note = subject.create_reply("Test")
expect(new_note.in_reply_to?(note)).to be_truthy
expect(new_note.discussion_id).to eq(note.discussion_id)
end
end
- context 'for commit non-diff discussion' do
+ context "for commit non-diff discussion" do
let(:note) { create(:discussion_note_on_commit) }
subject { described_class.record_note(note, note.author.id) }
- it 'creates a reply on the discussion' do
- new_note = subject.create_reply('Test')
+ it "creates a reply on the discussion" do
+ new_note = subject.create_reply("Test")
expect(new_note.in_reply_to?(note)).to be_truthy
expect(new_note.discussion_id).to eq(note.discussion_id)
end