Merge branch '58882-reduce-test-view-port' into 'master'

Try to reduce testing viewport

Closes #58882

See merge request gitlab-org/gitlab-ce!27385
This commit is contained in:
Rémy Coutable 2019-05-07 14:44:59 +00:00
commit 4ebfcd3b8f
4 changed files with 23 additions and 9 deletions

View File

@ -17,6 +17,8 @@ JS_CONSOLE_FILTER = Regexp.union([
"Download the Vue Devtools extension"
])
CAPYBARA_WINDOW_SIZE = [1366, 768].freeze
Capybara.register_driver :chrome do |app|
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
# This enables access to logs with `page.driver.manage.get_log(:browser)`
@ -29,7 +31,7 @@ Capybara.register_driver :chrome do |app|
)
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument("window-size=1240,1400")
options.add_argument("window-size=#{CAPYBARA_WINDOW_SIZE.join(',')}")
# Chrome won't work properly in a Docker container in sandbox mode
options.add_argument("no-sandbox")
@ -78,8 +80,11 @@ RSpec.configure do |config|
protocol: 'http')
# reset window size between tests
unless session.current_window.size == [1240, 1400]
session.current_window.resize_to(1240, 1400) rescue nil
unless session.current_window.size == CAPYBARA_WINDOW_SIZE
begin
session.current_window.resize_to(*CAPYBARA_WINDOW_SIZE)
rescue # ?
end
end
end

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

@ -8,7 +8,7 @@ module MobileHelpers
end
def restore_window_size
resize_window(1366, 768)
resize_window(*CAPYBARA_WINDOW_SIZE)
end
def resize_window(width, height)

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}."