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
|
@login @reset-preferences-after @en.wikipedia.beta.wmflabs.org @commons.wikimedia.beta.wmflabs.org
|
||||||
Feature: Persistent settings
|
Feature: Persistent settings
|
||||||
|
|
||||||
|
This assumes wiki content language is English.
|
||||||
|
|
||||||
Background:
|
Background:
|
||||||
Given I am logged in
|
Given I am logged in
|
||||||
And I set "German" as the interface language
|
And I set interface language that is different from content language and has a font
|
||||||
And the content language is "English"
|
|
||||||
|
|
||||||
Scenario: Interface font sticks to another page
|
Scenario: Interface font sticks to another page
|
||||||
When I open "Fonts" panel of language settings
|
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 apply the changes
|
||||||
And I visit a random page
|
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
|
Scenario: Discarding a live preview of a font keeps the previous font
|
||||||
When I open "Fonts" panel of language settings
|
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 close the panel to discard the changes
|
||||||
And I visit a random page
|
And I visit a random page
|
||||||
Then the selected interface font must be "system"
|
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}"})
|
visit(ULSPage, :using_params => {:extra => "uselang=#{code}"})
|
||||||
end
|
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|
|
Given(/^the interface language is "(.*?)"$/) do |language|
|
||||||
# phantomjs needs little bit time because it executes the script before
|
# phantomjs needs little bit time because it executes the script before
|
||||||
# the page is fully loaded
|
# 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
|
# Triggers
|
||||||
span(:trigger_cog, class: 'uls-settings-trigger')
|
span(:trigger_cog, class: 'uls-settings-trigger')
|
||||||
a(:trigger_personal, class: 'uls-trigger')
|
a(:trigger_personal, class: 'uls-trigger')
|
||||||
|
|
||||||
|
select(:select_font_for_interface, id: 'ui-font-selector')
|
||||||
end
|
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