summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarka Košanová <jarka@gitlab.com>2018-11-19 15:46:34 +0100
committerJarka Košanová <jarka@gitlab.com>2018-11-20 20:21:32 +0100
commit3466df551b6c6c55213679cc0d379ec32160295d (patch)
treeaa68de024f0fa4ec3383ef9e7b4ea28998189114
parentd179ffc25ceb7ffd9bf241494c03a8d90a0aab58 (diff)
downloadgitlab-ce-48534-autocomplete-spec.tar.gz
Add specs for entities autocomplete48534-autocomplete-spec
-rw-r--r--spec/features/issues/gfm_autocomplete_spec.rb52
1 files changed, 45 insertions, 7 deletions
diff --git a/spec/features/issues/gfm_autocomplete_spec.rb b/spec/features/issues/gfm_autocomplete_spec.rb
index 7c591dacce5..4e9e252ae87 100644
--- a/spec/features/issues/gfm_autocomplete_spec.rb
+++ b/spec/features/issues/gfm_autocomplete_spec.rb
@@ -9,7 +9,6 @@ describe 'GFM autocomplete', :js do
let(:project) { create(:project) }
let(:label) { create(:label, project: project, title: 'special+') }
let(:issue) { create(:issue, project: project) }
- let!(:project_snippet) { create(:project_snippet, project: project, title: 'code snippet') }
before do
project.add_maintainer(user)
@@ -334,16 +333,55 @@ describe 'GFM autocomplete', :js do
end
end
- it 'shows project snippets' do
- page.within '.timeline-content-form' do
- find('#note-body').native.send_keys('$')
- end
+ shared_examples 'autocomplete suggestions' do
+ it 'suggests objects correctly' do
+ page.within '.timeline-content-form' do
+ find('#note-body').native.send_keys(object.class.reference_prefix)
+ end
+
+ page.within '.atwho-container' do
+ expect(page).to have_content(object.title)
+
+ find('ul li').click
+ end
+
+ expected_body = object.is_a?(Label) ? object.title : object.to_reference
- page.within '.atwho-container' do
- expect(page).to have_content(project_snippet.title)
+ expect(find('.new-note #note-body').value).to include(expected_body)
end
end
+ context 'issues' do
+ let(:object) { issue }
+
+ it_behaves_like 'autocomplete suggestions'
+ end
+
+
+ context 'merge requests' do
+ let(:object) { create(:merge_request, source_project: project) }
+
+ it_behaves_like 'autocomplete suggestions'
+ end
+
+ context 'project snippets' do
+ let!(:object) { create(:project_snippet, project: project, title: 'code snippet') }
+
+ it_behaves_like 'autocomplete suggestions'
+ end
+
+ context 'label' do
+ let!(:object) { label }
+
+ it_behaves_like 'autocomplete suggestions'
+ end
+
+ context 'milestone' do
+ let!(:object) { create(:milestone, project: project) }
+
+ it_behaves_like 'autocomplete suggestions'
+ end
+
private
def expect_to_wrap(should_wrap, item, note, value)