diff options
author | Jarka Košanová <jarka@gitlab.com> | 2018-11-19 15:46:34 +0100 |
---|---|---|
committer | Jarka Košanová <jarka@gitlab.com> | 2018-11-20 20:21:32 +0100 |
commit | 3466df551b6c6c55213679cc0d379ec32160295d (patch) | |
tree | aa68de024f0fa4ec3383ef9e7b4ea28998189114 | |
parent | d179ffc25ceb7ffd9bf241494c03a8d90a0aab58 (diff) | |
download | gitlab-ce-48534-autocomplete-spec.tar.gz |
Add specs for entities autocomplete48534-autocomplete-spec
-rw-r--r-- | spec/features/issues/gfm_autocomplete_spec.rb | 52 |
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) |