Commit 7901c08f authored by Rémy Coutable's avatar Rémy Coutable

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

EE: Try to reduce testing viewport

See merge request gitlab-org/gitlab-ee!11031
parents 754b1ee4 a0ffbcc1
......@@ -124,6 +124,10 @@ describe 'Merge request > Batch comments', :js do
it 'adds draft comments to both sides' do
write_parallel_comment('2f6fcd96b88b36ce98c38da085c795a27d92a3dd_10_9')
# make sure line 9 is in the view
execute_script("window.scrollBy(0, -200)")
write_parallel_comment('2f6fcd96b88b36ce98c38da085c795a27d92a3dd_9_9', button_text: 'Add to review', text: 'Another wrong line')
expect(find('.new .draft-note-component')).to have_content('Line is wrong')
......
......@@ -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
......
......@@ -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
......
......@@ -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)
......
# 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}."
......
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