Commit 5083e0cf authored by Clement Ho's avatar Clement Ho

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
parents 743fd67f 59502122
...@@ -317,7 +317,6 @@ import ProjectVariables from './project_variables'; ...@@ -317,7 +317,6 @@ import ProjectVariables from './project_variables';
break; break;
case 'projects:merge_requests:show': case 'projects:merge_requests:show':
new Diff(); new Diff();
shortcut_handler = new ShortcutsIssuable(true);
new ZenMode(); new ZenMode();
initIssuableSidebar(); initIssuableSidebar();
...@@ -327,6 +326,8 @@ import ProjectVariables from './project_variables'; ...@@ -327,6 +326,8 @@ import ProjectVariables from './project_variables';
window.mergeRequest = new MergeRequest({ window.mergeRequest = new MergeRequest({
action: mrShowNode.dataset.mrAction, action: mrShowNode.dataset.mrAction,
}); });
shortcut_handler = new ShortcutsIssuable(true);
break; break;
case 'dashboard:activity': case 'dashboard:activity':
new gl.Activities(); new gl.Activities();
......
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| ...@@ -50,6 +50,7 @@ RSpec.configure do |config|
config.include SearchHelpers, type: :feature config.include SearchHelpers, type: :feature
config.include CookieHelper, :js config.include CookieHelper, :js
config.include InputHelper, :js config.include InputHelper, :js
config.include SelectionHelper, :js
config.include InspectRequests, :js config.include InspectRequests, :js
config.include WaitForRequests, :js config.include WaitForRequests, :js
config.include LiveDebugger, :js config.include LiveDebugger, :js
......
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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment