Refactoring tests
Collaboratively Change-Id: I6c5417a0681f9bb8596c36600a569df2ddd7bf9e
This commit is contained in:
@@ -1,21 +1,23 @@
|
||||
@login @reset-preferences-after @en.wikipedia.beta.wmflabs.org @commons.wikimedia.beta.wmflabs.org
|
||||
Feature: Persistent settings
|
||||
|
||||
This assumes wiki content language is English.
|
||||
|
||||
Background:
|
||||
Given I am logged in
|
||||
And I set "German" as the interface language
|
||||
And the content language is "English"
|
||||
And I set interface language that is different from content language and has a font
|
||||
|
||||
Scenario: Interface font sticks to another page
|
||||
When I open "Fonts" panel of language settings
|
||||
And I select "OpenDyslexic" font for the interface language for the live preview
|
||||
And I select a font for the interface language
|
||||
And I apply the changes
|
||||
And I visit a random page
|
||||
Then the selected interface font must be "OpenDyslexic"
|
||||
And I open "Fonts" panel of language settings
|
||||
Then the selected interface font must be what I previously selected
|
||||
|
||||
Scenario: Discarding a live preview of a font keeps the previous font
|
||||
When I open "Fonts" panel of language settings
|
||||
And I select "OpenDyslexic" font for the interface language for the live preview
|
||||
And I select a font for the interface language
|
||||
And I close the panel to discard the changes
|
||||
And I visit a random page
|
||||
Then the selected interface font must be "system"
|
||||
|
||||
@@ -25,12 +25,6 @@ Given(/^I temporarily use "(.*?)" as the interface language$/) do |language|
|
||||
visit(ULSPage, :using_params => {:extra => "uselang=#{code}"})
|
||||
end
|
||||
|
||||
Given(/^the content language is "(.*?)"$/) do |language|
|
||||
code = language_to_code(language)
|
||||
actual = @browser.execute_script( "return mw.config.get( 'wgContentLanguage' )" )
|
||||
actual.should == code
|
||||
end
|
||||
|
||||
Given(/^the interface language is "(.*?)"$/) do |language|
|
||||
# phantomjs needs little bit time because it executes the script before
|
||||
# the page is fully loaded
|
||||
|
||||
14
tests/browser/features/step_definitions/persistent_steps.rb
Normal file
14
tests/browser/features/step_definitions/persistent_steps.rb
Normal file
@@ -0,0 +1,14 @@
|
||||
Given(/^I set interface language that is different from content language and has a font$/) do
|
||||
visit(PreferencesPage) do |page|
|
||||
page.set_interface_language_element.select_value 'de'
|
||||
page.save_element.click
|
||||
end
|
||||
end
|
||||
|
||||
When(/^I select a font for the interface language$/) do
|
||||
on(ULSPage).select_font_for_interface = 'OpenDyslexic'
|
||||
end
|
||||
|
||||
Then(/^the selected interface font must be what I previously selected$/) do
|
||||
on(ULSPage).select_font_for_interface.should == 'OpenDyslexic'
|
||||
end
|
||||
@@ -29,4 +29,6 @@ class ULSPage
|
||||
# Triggers
|
||||
span(:trigger_cog, class: 'uls-settings-trigger')
|
||||
a(:trigger_personal, class: 'uls-trigger')
|
||||
|
||||
select(:select_font_for_interface, id: 'ui-font-selector')
|
||||
end
|
||||
|
||||
9
tests/browser/features/support/pages/preferences_page.rb
Normal file
9
tests/browser/features/support/pages/preferences_page.rb
Normal file
@@ -0,0 +1,9 @@
|
||||
class PreferencesPage
|
||||
include PageObject
|
||||
|
||||
include URL
|
||||
page_url URL.url('Special:Preferences')
|
||||
|
||||
select(:set_interface_language, id: 'mw-input-wplanguage')
|
||||
button(:save, id: 'prefcontrol')
|
||||
end
|
||||
Reference in New Issue
Block a user