diff options
author | Clement Ho <clemmakesapps@gmail.com> | 2017-11-22 17:11:25 +0000 |
---|---|---|
committer | Clement Ho <clemmakesapps@gmail.com> | 2017-11-22 17:11:25 +0000 |
commit | 5083e0cf70b4c6cd0131b22bc670cac04626c161 (patch) | |
tree | 48b5c6e63359ca136a56e8756f2b43b68a3ee7a3 /spec | |
parent | 743fd67f73875dac071287ef8bb91a2392359ba3 (diff) | |
parent | 59502122bdf928e58a0592da0610f2a94bb5eeb4 (diff) | |
download | gitlab-ce-5083e0cf70b4c6cd0131b22bc670cac04626c161.tar.gz |
Merge branch '40295-fix-reply-quote-shortcut-on-mr' into 'master'
Fix reply quote keyboard shortcut on MRs
Closes #40295
See merge request gitlab-org/gitlab-ce!15523
Diffstat (limited to 'spec')
-rw-r--r-- | spec/features/issuables/shortcuts_issuable_spec.rb | 46 | ||||
-rw-r--r-- | spec/spec_helper.rb | 1 | ||||
-rw-r--r-- | spec/support/selection_helper.rb | 6 |
3 files changed, 53 insertions, 0 deletions
diff --git a/spec/features/issuables/shortcuts_issuable_spec.rb b/spec/features/issuables/shortcuts_issuable_spec.rb new file mode 100644 index 00000000000..e25fd1a6249 --- /dev/null +++ b/spec/features/issuables/shortcuts_issuable_spec.rb @@ -0,0 +1,46 @@ +require 'spec_helper' + +feature 'Blob shortcuts', :js do + let(:user) { create(:user) } + let(:project) { create(:project, :public, :repository) } + let(:issue) { create(:issue, project: project, author: user) } + let(:merge_request) { create(:merge_request, source_project: project) } + let(:note_text) { 'I got this!' } + + before do + project.add_developer(user) + sign_in(user) + end + + describe 'pressing "r"' do + describe 'On an Issue' do + before do + create(:note, noteable: issue, project: project, note: note_text) + visit project_issue_path(project, issue) + wait_for_requests + end + + it 'quotes the selected text' do + select_element('.note-text') + find('body').native.send_key('r') + + expect(find('.js-main-target-form .js-vue-comment-form').value).to include(note_text) + end + end + + describe 'On a Merge Request' do + before do + create(:note, noteable: merge_request, project: project, note: note_text) + visit project_merge_request_path(project, merge_request) + wait_for_requests + end + + it 'quotes the selected text' do + select_element('.note-text') + find('body').native.send_key('r') + + expect(find('.js-main-target-form #note_note').value).to include(note_text) + end + end + end +end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 7c8331f6c60..6310ea1b52b 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -50,6 +50,7 @@ RSpec.configure do |config| config.include SearchHelpers, type: :feature config.include CookieHelper, :js config.include InputHelper, :js + config.include SelectionHelper, :js config.include InspectRequests, :js config.include WaitForRequests, :js config.include LiveDebugger, :js diff --git a/spec/support/selection_helper.rb b/spec/support/selection_helper.rb new file mode 100644 index 00000000000..b4725b137b2 --- /dev/null +++ b/spec/support/selection_helper.rb @@ -0,0 +1,6 @@ +module SelectionHelper + def select_element(selector) + find(selector) + execute_script("let range = document.createRange(); let sel = window.getSelection(); range.selectNodeContents(document.querySelector('#{selector}')); sel.addRange(range);") + end +end |