mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/RevisionSlider
synced 2024-12-12 07:25:13 +00:00
407c1de800
I have seen this failing: https://integration.wikimedia.org/ci/job/mwext-mw-selenium-jessie/9255/console The idea is to pre-set this cookie so the help dialog never shows up in the first place. The tests do not need to look for the element, click it, wait for the dialog to close. This should even speed up the browser tests, I believe. Also this adjustes waiting conditions in several places to address timing issues with failing browser tests. Since these tests should be replaced by Node.js on the long run I added "sleep" in the cases although it's not recommended. Change-Id: Ida381faa390aa62ebaadd3713864676be80abd51
87 lines
2.7 KiB
Ruby
87 lines
2.7 KiB
Ruby
Given(/^I am on the page$/) do
|
|
visit(ArticlePage, using_params: { article_name: "RevisionSlider-#{@random_string}" })
|
|
end
|
|
|
|
Given(/^I am on the diff page$/) do
|
|
visit(ArticlePage, using_params: { article_name: "RevisionSlider-#{@random_string}", query: 'type=revision&diff=' })
|
|
end
|
|
|
|
Given(/^a page with (\d+) revision\(s\) exists$/) do |number_of_revisions|
|
|
(1..number_of_revisions.to_i).each do |i|
|
|
api.edit(title: "RevisionSlider-#{@random_string}", text: "RS-Text-#{i}", summary: "RS-Summary-#{i}")
|
|
end
|
|
end
|
|
|
|
Given(/^I refresh the page$/) do
|
|
on(ArticlePage) do |page|
|
|
page.refresh
|
|
end
|
|
end
|
|
|
|
When(/^I click the browser back button$/) do
|
|
on(ArticlePage).back
|
|
end
|
|
|
|
When(/^I click the browser forward button$/) do
|
|
on(ArticlePage).forward
|
|
end
|
|
|
|
When(/^I wait until the RevisionSlider has loaded$/) do
|
|
step 'The RevisionSlider has loaded'
|
|
end
|
|
|
|
When(/^I have loaded the RevisionSlider and dismissed the help dialog$/) do
|
|
step 'I am on the diff page and disabled the help dialog'
|
|
step 'I click on the expand button'
|
|
step 'I wait until the RevisionSlider has loaded'
|
|
end
|
|
|
|
Then(/^The RevisionSlider has loaded$/) do
|
|
on(DiffPage).wait_for_slider_to_load
|
|
end
|
|
|
|
Given(/^The window size is (\d+) by (\d+)$/) do |width, height|
|
|
browser.window.resize_to(width.to_i, height.to_i)
|
|
end
|
|
|
|
Then(/^The auto expand button should be visible/) do
|
|
expect(on(DiffPage).revisionslider_auto_expand_button_element.when_present).to be_visible
|
|
end
|
|
|
|
Given(/^I wait for the setting to be saved$/) do
|
|
on(DiffPage).wait_for_ajax_calls
|
|
end
|
|
|
|
Then(/^The auto expand button should be off/) do
|
|
expect(on(DiffPage).revisionslider_auto_expand_button_element.class_name).to match 'oo-ui-toggleWidget-off'
|
|
end
|
|
|
|
Then(/^The auto expand button should be on/) do
|
|
expect(on(DiffPage).revisionslider_auto_expand_button_element.class_name).to match 'oo-ui-toggleWidget-on'
|
|
end
|
|
|
|
Then(/^There should be a RevisionSlider expand button/) do
|
|
expect(on(DiffPage).revisionslider_toggle_button_element.when_present).to be_visible
|
|
end
|
|
|
|
Then(/^There should not be a RevisionSlider expand button/) do
|
|
expect(on(DiffPage).revisionslider_toggle_button_element.when_not_present).not_to be_present
|
|
end
|
|
|
|
Then(/^RevisionSlider wrapper should be hidden/) do
|
|
expect(on(DiffPage).revisionslider_wrapper_element.when_not_visible).not_to be_visible
|
|
end
|
|
|
|
Then(/^RevisionSlider wrapper should be visible/) do
|
|
expect(on(DiffPage).revisionslider_wrapper_element.when_present).to be_visible
|
|
end
|
|
|
|
Given(/^I click on the auto expand button/) do
|
|
on(DiffPage).revisionslider_auto_expand_button_element.when_visible.click
|
|
end
|
|
|
|
Given(/^I click on the expand button/) do
|
|
sleep 0.2
|
|
on(DiffPage).revisionslider_toggle_button_element.when_visible.click
|
|
end
|