summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Lapierre <mlapierre@gitlab.com>2019-01-25 16:36:45 +0000
committerMark Lapierre <mlapierre@gitlab.com>2019-01-25 16:36:45 +0000
commitc73bf13d1785a04cb1d4b3c52bcf83988e67a832 (patch)
tree9e36887bd13abda874ef1147d1efeddff60820fa
parent2b8f19435bd81b24f512236245445109c14a2297 (diff)
parentdbb5324881c04d7abb328a7af25b3c72a4991adf (diff)
downloadgitlab-ce-c73bf13d1785a04cb1d4b3c52bcf83988e67a832.tar.gz
Merge branch 'qa-fix-branches-spec' into 'master'
Fix transient failure in add_list_delete_branches_spec.rb Closes gitlab-org/quality/nightly#62 See merge request gitlab-org/gitlab-ce!24644
-rw-r--r--qa/qa/page/base.rb4
-rw-r--r--qa/qa/page/project/branches/show.rb4
-rw-r--r--qa/qa/specs/features/browser_ui/3_create/repository/add_list_delete_branches_spec.rb1
-rw-r--r--qa/qa/support/page/logging.rb11
-rw-r--r--qa/spec/page/logging_spec.rb10
5 files changed, 28 insertions, 2 deletions
diff --git a/qa/qa/page/base.rb b/qa/qa/page/base.rb
index c3c90f254b7..b1f27131207 100644
--- a/qa/qa/page/base.rb
+++ b/qa/qa/page/base.rb
@@ -128,6 +128,10 @@ module QA
page.has_no_text? text
end
+ def finished_loading?
+ has_no_css?('.fa-spinner', wait: Capybara.default_max_wait_time)
+ end
+
def within_element(name)
page.within(element_selector_css(name)) do
yield
diff --git a/qa/qa/page/project/branches/show.rb b/qa/qa/page/project/branches/show.rb
index 762a97e2088..922a6ddb086 100644
--- a/qa/qa/page/project/branches/show.rb
+++ b/qa/qa/page/project/branches/show.rb
@@ -19,10 +19,12 @@ module QA
within_element(:all_branches) do
within(".js-branch-#{branch_name}") do
accept_alert do
- find_element(:remove_btn).click
+ click_element(:remove_btn)
end
end
end
+
+ finished_loading?
end
def has_branch_title?(branch_title)
diff --git a/qa/qa/specs/features/browser_ui/3_create/repository/add_list_delete_branches_spec.rb b/qa/qa/specs/features/browser_ui/3_create/repository/add_list_delete_branches_spec.rb
index 0f0c627d79a..3567ddca1a1 100644
--- a/qa/qa/specs/features/browser_ui/3_create/repository/add_list_delete_branches_spec.rb
+++ b/qa/qa/specs/features/browser_ui/3_create/repository/add_list_delete_branches_spec.rb
@@ -28,6 +28,7 @@ module QA
Git::Repository.perform do |repository|
repository.uri = project.repository_http_location.uri
repository.use_default_credentials
+ repository.try_add_credentials_to_netrc
repository.act do
clone
diff --git a/qa/qa/support/page/logging.rb b/qa/qa/support/page/logging.rb
index e96756642c8..f2cd0194b6b 100644
--- a/qa/qa/support/page/logging.rb
+++ b/qa/qa/support/page/logging.rb
@@ -112,6 +112,17 @@ module QA
found
end
+ def finished_loading?
+ log('waiting for loading to complete...')
+ now = Time.now
+
+ loaded = super
+
+ log("loading complete after #{Time.now - now} seconds")
+
+ loaded
+ end
+
def within_element(name)
log("within element :#{name}")
diff --git a/qa/spec/page/logging_spec.rb b/qa/spec/page/logging_spec.rb
index 2eb826becea..2666dd3b03b 100644
--- a/qa/spec/page/logging_spec.rb
+++ b/qa/spec/page/logging_spec.rb
@@ -1,6 +1,7 @@
# frozen_string_literal: true
require 'capybara/dsl'
+require 'logger'
describe QA::Support::Page::Logging do
include Support::StubENV
@@ -8,7 +9,7 @@ describe QA::Support::Page::Logging do
let(:page) { double().as_null_object }
before do
- logger = Logger.new $stdout
+ logger = ::Logger.new $stdout
logger.level = ::Logger::DEBUG
QA::Runtime::Logger.logger = logger
@@ -95,6 +96,13 @@ describe QA::Support::Page::Logging do
.to output(/has_no_text\?\('foo'\) returned true/).to_stdout_from_any_process
end
+ it 'logs finished_loading?' do
+ expect { subject.finished_loading? }
+ .to output(/waiting for loading to complete\.\.\./).to_stdout_from_any_process
+ expect { subject.finished_loading? }
+ .to output(/loading complete after .* seconds$/).to_stdout_from_any_process
+ end
+
it 'logs within_element' do
expect { subject.within_element(:element) }
.to output(/within element :element/).to_stdout_from_any_process