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
This commit is contained in:
commit
5083e0cf70
4 changed files with 55 additions and 1 deletions
|
@ -317,7 +317,6 @@ import ProjectVariables from './project_variables';
|
|||
break;
|
||||
case 'projects:merge_requests:show':
|
||||
new Diff();
|
||||
shortcut_handler = new ShortcutsIssuable(true);
|
||||
new ZenMode();
|
||||
|
||||
initIssuableSidebar();
|
||||
|
@ -327,6 +326,8 @@ import ProjectVariables from './project_variables';
|
|||
window.mergeRequest = new MergeRequest({
|
||||
action: mrShowNode.dataset.mrAction,
|
||||
});
|
||||
|
||||
shortcut_handler = new ShortcutsIssuable(true);
|
||||
break;
|
||||
case 'dashboard:activity':
|
||||
new gl.Activities();
|
||||
|
|
46
spec/features/issuables/shortcuts_issuable_spec.rb
Normal file
46
spec/features/issuables/shortcuts_issuable_spec.rb
Normal file
|
@ -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
|
|
@ -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
|
||||
|
|
6
spec/support/selection_helper.rb
Normal file
6
spec/support/selection_helper.rb
Normal file
|
@ -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
|
Loading…
Reference in a new issue