jenkins-bot has submitted this change and it was merged.
Change subject: Timeline browser tests
......................................................................
Timeline browser tests
This adds tests for navigating the timeline using the back
and forward buttons.
It also makes sure that the buttons are disabled / enabled
at the correct times.
Bug: T133278
Change-Id: I9834dd3d3bf107557b15fdd105a946902d53b8f2
---
M tests/browser/features/support/pages/diff_page.rb
M tests/browser/features/support/step_definitions/common_steps.rb
M tests/browser/features/support/step_definitions/help.rb
A tests/browser/features/support/step_definitions/timeline.rb
A tests/browser/features/timeline.feature
5 files changed, 69 insertions(+), 0 deletions(-)
Approvals:
WMDE-Fisch: Looks good to me, approved
Addshore: Verified; Looks good to me, but someone else must approve
jenkins-bot: Verified
diff --git a/tests/browser/features/support/pages/diff_page.rb
b/tests/browser/features/support/pages/diff_page.rb
index 3b20797..e57b05d 100644
--- a/tests/browser/features/support/pages/diff_page.rb
+++ b/tests/browser/features/support/pages/diff_page.rb
@@ -11,10 +11,18 @@
a(:revisionslider_help_close_start, css: '#revisionslider-help-close-start >
a')
a(:revisionslider_help_close_end, css: '#revisionslider-help-close-end > a')
+ a(:revisionslider_timeline_backwards, css: '#mw-revslider-container > div >
a.mw-revslider-arrow.mw-revslider-arrow-backwards')
+ a(:revisionslider_timeline_forwards, css: '#mw-revslider-container > div >
a.mw-revslider-arrow.mw-revslider-arrow-forwards')
+
def wait_for_slider_to_load
wait_until do
revisionslider_placeholder? == false
end
end
+ def wait_for_help_dialog_to_hide
+ wait_until do
+ revisionslider_help_dialog_element.visible? == false
+ end
+ end
end
diff --git a/tests/browser/features/support/step_definitions/common_steps.rb
b/tests/browser/features/support/step_definitions/common_steps.rb
index d8cf796..8391565 100644
--- a/tests/browser/features/support/step_definitions/common_steps.rb
+++ b/tests/browser/features/support/step_definitions/common_steps.rb
@@ -22,6 +22,10 @@
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(/^RevisionSlider is enabled as a beta feature$/) do
visit(SpecialPreferencesPage).enable_revisionslider
end
diff --git a/tests/browser/features/support/step_definitions/help.rb
b/tests/browser/features/support/step_definitions/help.rb
index a767986..ad5192b 100644
--- a/tests/browser/features/support/step_definitions/help.rb
+++ b/tests/browser/features/support/step_definitions/help.rb
@@ -10,6 +10,10 @@
on(DiffPage).revisionslider_help_next_element.click
end
+Given(/^The help dialog is hidden$/) do
+ on(DiffPage).wait_for_help_dialog_to_hide
+end
+
Then(/^The help dialog should be visible/) do
on(DiffPage).revisionslider_help_dialog_element.visible?.should be_truthy
end
diff --git a/tests/browser/features/support/step_definitions/timeline.rb
b/tests/browser/features/support/step_definitions/timeline.rb
new file mode 100644
index 0000000..283d1dc
--- /dev/null
+++ b/tests/browser/features/support/step_definitions/timeline.rb
@@ -0,0 +1,23 @@
+Then(/^The forward arrow should be disabled/) do
+ expect(on(DiffPage).revisionslider_timeline_forwards_element.class_name).to
match 'mw-revslider-arrow-disabled'
+ end
+
+Then(/^The backward arrow should be disabled/) do
+ expect(on(DiffPage).revisionslider_timeline_backwards_element.class_name).to
match 'mw-revslider-arrow-disabled'
+end
+
+Then(/^The forward arrow should be enabled/) do
+
expect(on(DiffPage).revisionslider_timeline_forwards_element.class_name).not_to
match 'mw-revslider-arrow-disabled'
+end
+
+Then(/^The backward arrow should be enabled/) do
+
expect(on(DiffPage).revisionslider_timeline_backwards_element.class_name).not_to
match 'mw-revslider-arrow-disabled'
+end
+
+Given(/^I click on the forward arrow$/) do
+ on(DiffPage).revisionslider_timeline_forwards_element.click
+end
+
+Given(/^I click on the backward arrow$/) do
+ on(DiffPage).revisionslider_timeline_backwards_element.click
+end
\ No newline at end of file
diff --git a/tests/browser/features/timeline.feature
b/tests/browser/features/timeline.feature
new file mode 100644
index 0000000..f43b4e6
--- /dev/null
+++ b/tests/browser/features/timeline.feature
@@ -0,0 +1,30 @@
+@chrome @en.wikipedia.beta.wmflabs.org @firefox @integration
+Feature: RevisionSlider timeline
+ Background:
+ Given I am logged in
+ And I have reset my preferences
+ And RevisionSlider is enabled as a beta feature
+
+ Scenario: RevisionSlider timeline arrows to be disabled with 3 revisions
+ Given a page with 3 revision(s) exists
+ And I am on the diff page
+ And The RevisionSlider has loaded
+ And I have closed the help dialog at the start
+ Then The backward arrow should be disabled
+ And The forward arrow should be disabled
+
+ Scenario: RevisionSlider timeline arrows to be enabled with adequate
revisions
+ Given a page with 30 revision(s) exists
+ And The window size is 800 by 600
+ And I am on the diff page
+ And The RevisionSlider has loaded
+ And I have closed the help dialog at the start
+ And The help dialog is hidden
+ Then The backward arrow should be enabled
+ And The forward arrow should be disabled
+ Given I click on the backward arrow
+ Then The backward arrow should be disabled
+ And The forward arrow should be enabled
+ Given I click on the forward arrow
+ Then The backward arrow should be enabled
+ And The forward arrow should be disabled
\ No newline at end of file
--
To view, visit https://gerrit.wikimedia.org/r/297267
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I9834dd3d3bf107557b15fdd105a946902d53b8f2
Gerrit-PatchSet: 6
Gerrit-Project: mediawiki/extensions/RevisionSlider
Gerrit-Branch: master
Gerrit-Owner: Addshore <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Gabriel Birke <[email protected]>
Gerrit-Reviewer: Jakob <[email protected]>
Gerrit-Reviewer: Kai Nissen (WMDE) <[email protected]>
Gerrit-Reviewer: Tobias Gritschacher <[email protected]>
Gerrit-Reviewer: WMDE-Fisch <[email protected]>
Gerrit-Reviewer: WMDE-leszek <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits