jenkins-bot has submitted this change and it was merged.
Change subject: Tooltip browser tests
......................................................................
Tooltip browser tests
Bug: T133278
Change-Id: I7ee7143ab3fcd9c2fe41604c370d9c4e2e7a9d20
---
M modules/ext.RevisionSlider.RevisionListView.js
M tests/browser/features/support/pages/diff_page.rb
M tests/browser/features/support/step_definitions/common_steps.rb
A tests/browser/features/support/step_definitions/tooltips.rb
A tests/browser/features/tooltips.feature
5 files changed, 65 insertions(+), 2 deletions(-)
Approvals:
WMDE-Fisch: Looks good to me, approved
jenkins-bot: Verified
diff --git a/modules/ext.RevisionSlider.RevisionListView.js
b/modules/ext.RevisionSlider.RevisionListView.js
index cd7b5e6..4837a64 100644
--- a/modules/ext.RevisionSlider.RevisionListView.js
+++ b/modules/ext.RevisionSlider.RevisionListView.js
@@ -55,7 +55,7 @@
gravity: 's',
html: true,
trigger: 'manual',
- className:
'mw-revslider-revision-tooltip'
+ className:
'mw-revslider-revision-tooltip mw-revslider-revision-tooltip-' + ( i + 1 )
} )
.append( $( '<div>' )
.addClass(
'mw-revslider-revision' )
diff --git a/tests/browser/features/support/pages/diff_page.rb
b/tests/browser/features/support/pages/diff_page.rb
index e57b05d..83b5c14 100644
--- a/tests/browser/features/support/pages/diff_page.rb
+++ b/tests/browser/features/support/pages/diff_page.rb
@@ -14,12 +14,32 @@
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 revisionslider_rev(index = 1)
+ element('div', css: '.mw-revslider-revision[data-pos="' + index.to_s +
'"]')
+ end
+
+ def revisionslider_tooltip(index = 1)
+ element('div', css: '.mw-revslider-revision-tooltip-' + index.to_s)
+ end
+
def wait_for_slider_to_load
wait_until do
revisionslider_placeholder? == false
end
end
+ def wait_for_tooltip(index = 1)
+ wait_until do
+ revisionslider_tooltip(index).visible?
+ end
+ end
+
+ def wait_for_no_tooltip(index = 1)
+ wait_until do
+ !revisionslider_tooltip(index).visible?
+ end
+ end
+
def wait_for_help_dialog_to_hide
wait_until do
revisionslider_help_dialog_element.visible? == false
diff --git a/tests/browser/features/support/step_definitions/common_steps.rb
b/tests/browser/features/support/step_definitions/common_steps.rb
index 8391565..b6fc26f 100644
--- a/tests/browser/features/support/step_definitions/common_steps.rb
+++ b/tests/browser/features/support/step_definitions/common_steps.rb
@@ -8,7 +8,7 @@
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: "Text-#{i}")
+ api.edit(title: "RevisionSlider-#{@random_string}", text: "RS-Text-#{i}",
summary: "RS-Summary-#{i}")
end
end
diff --git a/tests/browser/features/support/step_definitions/tooltips.rb
b/tests/browser/features/support/step_definitions/tooltips.rb
new file mode 100644
index 0000000..71e0cc8
--- /dev/null
+++ b/tests/browser/features/support/step_definitions/tooltips.rb
@@ -0,0 +1,17 @@
+Given(/^I hover over revision (\d+)$/) do |index|
+ on(DiffPage).revisionslider_rev(index.to_i).hover
+ end
+
+Given(/^I hover over the revision (\d+) tooltip$/) do |index|
+ on(DiffPage).revisionslider_tooltip(index.to_i).hover
+end
+
+Then(/^a tooltip should be present for revision (\d+)$/) do |index|
+ on(DiffPage).wait_for_tooltip(index.to_i)
+ on(DiffPage).revisionslider_tooltip(index.to_i).visible?.should be_truthy
+end
+
+Then(/^no tooltip should be present for revision (\d+)$/) do |index|
+ on(DiffPage).wait_for_no_tooltip(index.to_i)
+ on(DiffPage).revisionslider_tooltip(index.to_i).visible?.should be_falsey
+end
\ No newline at end of file
diff --git a/tests/browser/features/tooltips.feature
b/tests/browser/features/tooltips.feature
new file mode 100644
index 0000000..494a827
--- /dev/null
+++ b/tests/browser/features/tooltips.feature
@@ -0,0 +1,26 @@
+@chrome @en.wikipedia.beta.wmflabs.org @firefox @integration
+Feature: RevisionSlider tooltips
+ Background:
+ Given I am logged in
+ And I have reset my preferences
+ And RevisionSlider is enabled as a beta feature
+ And a page with 4 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
+
+ Scenario: RevisionSlider revision tooltip appears on hover
+ Given I hover over revision 1
+ Then a tooltip should be present for revision 1
+ Given I hover over revision 2
+ Then a tooltip should be present for revision 2
+ And no tooltip should be present for revision 1
+
+ Scenario: RevisionSlider revision tooltip appears and remains on hover
+ Given I hover over revision 1
+ Then a tooltip should be present for revision 1
+ Given I hover over the revision 1 tooltip
+ Then a tooltip should be present for revision 1
+ Given I hover over revision 2
+ Then a tooltip should be present for revision 2
+ And no tooltip should be present for revision 1
\ No newline at end of file
--
To view, visit https://gerrit.wikimedia.org/r/297277
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I7ee7143ab3fcd9c2fe41604c370d9c4e2e7a9d20
Gerrit-PatchSet: 7
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