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

Reply via email to