Commit a1a45827 authored by Michael Kozono's avatar Michael Kozono

Fix intermittently failed click in dropdown

I haven’t seen `go_to_new_subgroup` fail in the same way, but it seems best to modify it also.
parent 6c978c8f
......@@ -13,16 +13,18 @@ module QA
visit current_url
end
def wait(css = '.application', time: 60)
Time.now.tap do |start|
while Time.now - start < time
break if page.has_css?(css, wait: 5)
def wait(max: 60, time: 1, reload: true)
start = Time.now
refresh
end
while Time.now - start < max
return true if yield
sleep(time)
refresh if reload
end
yield if block_given?
false
end
def scroll_to(selector, text: nil)
......
......@@ -25,7 +25,12 @@ module QA
def go_to_new_subgroup
within '.new-project-subgroup' do
find('.dropdown-toggle').click
# May need to click again because it is possible to click the button quicker than the JS is bound
wait(reload: false) do
find('.dropdown-toggle').click
page.has_css?("li[data-value='new-subgroup']")
end
find("li[data-value='new-subgroup']").click
end
......@@ -34,7 +39,12 @@ module QA
def go_to_new_project
within '.new-project-subgroup' do
find('.dropdown-toggle').click
# May need to click again because it is possible to click the button quicker than the JS is bound
wait(reload: false) do
find('.dropdown-toggle').click
page.has_css?("li[data-value='new-project']")
end
find("li[data-value='new-project']").click
end
......
......@@ -10,12 +10,14 @@ module QA
view 'app/views/devise/sessions/_new_base.html.haml' do
element :login_field, 'text_field :login'
element :passowrd_field, 'password_field :password'
element :password_field, 'password_field :password'
element :sign_in_button, 'submit "Sign in"'
end
def initialize
wait('.application', time: 500)
wait(max: 500) do
page.has_css?('.application')
end
end
def sign_in_using_credentials
......
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