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
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/concerns/mentionable_spec.rb')
-rw-r--r--spec/models/concerns/mentionable_spec.rb52
1 files changed, 44 insertions, 8 deletions
diff --git a/spec/models/concerns/mentionable_spec.rb b/spec/models/concerns/mentionable_spec.rb
index 13a3d1cdd82..03fd1c69654 100644
--- a/spec/models/concerns/mentionable_spec.rb
+++ b/spec/models/concerns/mentionable_spec.rb
@@ -3,14 +3,17 @@
require 'spec_helper'
describe Mentionable do
- class Example
- include Mentionable
+ before do
+ stub_const('Example', Class.new)
+ Example.class_eval do
+ include Mentionable
- attr_accessor :project, :message
- attr_mentionable :message
+ attr_accessor :project, :message
+ attr_mentionable :message
- def author
- nil
+ def author
+ nil
+ end
end
end
@@ -28,11 +31,11 @@ describe Mentionable do
end
describe '#any_mentionable_attributes_changed?' do
- Message = Struct.new(:text)
+ message = Struct.new(:text)
let(:mentionable) { Example.new }
let(:changes) do
- msg = Message.new('test')
+ msg = message.new('test')
changes = {}
changes[msg] = ['', 'some message']
@@ -325,3 +328,36 @@ describe Snippet, 'Mentionable' do
end
end
end
+
+describe PersonalSnippet, 'Mentionable' do
+ describe '#store_mentions!' do
+ it_behaves_like 'mentions in description', :personal_snippet
+ it_behaves_like 'mentions in notes', :personal_snippet do
+ let(:note) { create(:note_on_personal_snippet) }
+ let(:mentionable) { note.noteable }
+ end
+ end
+
+ describe 'load mentions' do
+ it_behaves_like 'load mentions from DB', :personal_snippet do
+ let(:note) { create(:note_on_personal_snippet) }
+ let(:mentionable) { note.noteable }
+ end
+ end
+end
+
+describe DesignManagement::Design do
+ describe '#store_mentions!' do
+ it_behaves_like 'mentions in notes', :design do
+ let(:note) { create(:diff_note_on_design) }
+ let(:mentionable) { note.noteable }
+ end
+ end
+
+ describe 'load mentions' do
+ it_behaves_like 'load mentions from DB', :design do
+ let(:note) { create(:diff_note_on_design) }
+ let(:mentionable) { note.noteable }
+ end
+ end
+end