Avoid quick action prompt blocking preview button

This commit is contained in:
Lin Jen-Shin 2019-04-24 22:39:44 +08:00
parent 65a7a20ae9
commit 52b9797af2
2 changed files with 14 additions and 5 deletions

View File

@ -23,8 +23,18 @@ module Spec
def preview_note(text)
page.within('.js-main-target-form') do
fill_in('note[note]', with: text)
filled_text = fill_in('note[note]', with: text)
begin
# Dismiss quick action prompt if it appears
filled_text.parent.send_keys(:escape)
rescue Selenium::WebDriver::Error::ElementNotInteractableError
# It's fine if we can't escape when there's no prompt.
end
click_on('Preview')
yield if block_given?
end
end
end

View File

@ -1,6 +1,8 @@
# frozen_string_literal: true
shared_examples 'close quick action' do |issuable_type|
include Spec::Support::Helpers::Features::NotesHelpers
before do
project.add_maintainer(maintainer)
gitlab_sign_in(maintainer)
@ -76,10 +78,7 @@ shared_examples 'close quick action' do |issuable_type|
it 'explains close quick action' do
visit public_send("project_#{issuable_type}_path", project, issuable)
page.within('.js-main-target-form') do
fill_in 'note[note]', with: "this is done, close\n/close"
click_on 'Preview'
preview_note("this is done, close\n/close") do
expect(page).not_to have_content '/close'
expect(page).to have_content 'this is done, close'
expect(page).to have_content "Closes this #{issuable_type.to_s.humanize.downcase}."