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

Reply via email to