Fix more tests for phantomjs
As a bonus got rid of JavaScript call. Refactored uls-position code to a method. Change-Id: I1df384a02909d430c12225525d5722a0520177ee
This commit is contained in:
@@ -40,22 +40,23 @@ After('@reset-preferences-after') do |scenario|
|
||||
on(ResetPreferencesPage).submit_element.click
|
||||
end
|
||||
|
||||
Before('@uls-in-sidebar-only') do |scenario|
|
||||
def uls_position()
|
||||
if !defined?($uls_position)
|
||||
visit(ULSPage)
|
||||
$uls_position = @browser.execute_script( "return mw.config.get( 'wgULSPosition' )" );
|
||||
else
|
||||
$uls_position
|
||||
end
|
||||
if $uls_position != 'interlanguage'
|
||||
end
|
||||
|
||||
Before('@uls-in-sidebar-only') do |scenario|
|
||||
if uls_position() != 'interlanguage'
|
||||
scenario.skip_invoke!
|
||||
end
|
||||
end
|
||||
|
||||
Before('@uls-in-personal-only') do |scenario|
|
||||
if !defined?($uls_position)
|
||||
visit(ULSPage)
|
||||
$uls_position = @browser.execute_script( "return mw.config.get( 'wgULSPosition' )" );
|
||||
end
|
||||
if $uls_position != 'personal'
|
||||
if uls_position() != 'personal'
|
||||
scenario.skip_invoke!
|
||||
end
|
||||
end
|
||||
|
||||
@@ -18,12 +18,14 @@ Given(/^I inspect current fonts$/) do
|
||||
end
|
||||
|
||||
When(/^I open "(.*?)" panel of language settings$/) do |panel|
|
||||
# These can be of two different type of elements, which PageObjects do not like.
|
||||
@browser.execute_script(
|
||||
"jQuery( '.uls-trigger, .uls-settings-trigger' ).eq( 0 ).click()"
|
||||
)
|
||||
|
||||
on(ULSPage) do |page|
|
||||
# These can be of two different type of elements, which PageObjects do not like.
|
||||
if uls_position() == 'interlanguage'
|
||||
page.trigger_cog_element.when_visible.click
|
||||
elsif uls_position() == 'personal'
|
||||
page.trigger_personal_element.when_visible.click
|
||||
end
|
||||
|
||||
case panel
|
||||
when "Display"
|
||||
page.panel_display_element.when_visible.click
|
||||
|
||||
@@ -21,4 +21,8 @@ class ULSPage
|
||||
# TODO: Rename to match convention
|
||||
button(:other_language_button, class: 'button uls-language-button')
|
||||
button(:default_language_button, class: 'button uls-language-button down')
|
||||
|
||||
# Triggers
|
||||
span(:trigger_cog, class: 'uls-settings-trigger')
|
||||
a(:trigger_personal, class: 'uls-trigger')
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user