Jforrester has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/393917 )
Change subject: Delete Ruby Selenium tests ...................................................................... Delete Ruby Selenium tests These aren't being run, the Ruby framework is deprecated, and the entire front-end of Structured Discussions is being re-written, so it's a lot simpler to remove them now and re-add them based on the node selenium test system with the new UI. Bug: T164479 Change-Id: I236fc83557290323c5168ec1292084624be64f56 --- M Gemfile M Gemfile.lock M Rakefile D tests/browser/README.md D tests/browser/ci.yml D tests/browser/environments.yml D tests/browser/features/action_menu_permalink.feature D tests/browser/features/anon_interface.feature D tests/browser/features/categories.feature D tests/browser/features/description.feature D tests/browser/features/edit_existing.feature D tests/browser/features/flow_in_recent_changes.feature D tests/browser/features/flow_logged_in.feature D tests/browser/features/flow_no_javascript.feature D tests/browser/features/moderation.feature D tests/browser/features/new_topic.feature D tests/browser/features/opt_in.feature D tests/browser/features/post_links.feature D tests/browser/features/preload.feature D tests/browser/features/reopen_topic.feature D tests/browser/features/reply.feature D tests/browser/features/reply_moderation.feature D tests/browser/features/resolve_topic.feature D tests/browser/features/sorting_topics.feature D tests/browser/features/special_enableflow.feature D tests/browser/features/step_definitions/action_menu_permalink_steps.rb D tests/browser/features/step_definitions/api_steps.rb D tests/browser/features/step_definitions/categories_steps.rb D tests/browser/features/step_definitions/description_steps.rb D tests/browser/features/step_definitions/edit_existing_steps.rb D tests/browser/features/step_definitions/flow_in_recent_changes_steps.rb D tests/browser/features/step_definitions/flow_no_javascript_steps.rb D tests/browser/features/step_definitions/flow_steps.rb D tests/browser/features/step_definitions/moderation_steps.rb D tests/browser/features/step_definitions/new_topic_steps.rb D tests/browser/features/step_definitions/opt_in_steps.rb D tests/browser/features/step_definitions/preload_steps.rb D tests/browser/features/step_definitions/reply_moderation_steps.rb D tests/browser/features/step_definitions/reply_steps.rb D tests/browser/features/step_definitions/resolve_reopen_steps.rb D tests/browser/features/step_definitions/sorting_topics_steps.rb D tests/browser/features/step_definitions/special_enable_flow_steps.rb D tests/browser/features/step_definitions/suppress_steps.rb D tests/browser/features/step_definitions/thank_steps.rb D tests/browser/features/step_definitions/undo_actions.rb D tests/browser/features/step_definitions/watch_steps.rb D tests/browser/features/summarize.feature D tests/browser/features/support/components/board_description.rb D tests/browser/features/support/components/flow_editor.rb D tests/browser/features/support/data_manager.rb D tests/browser/features/support/env.rb D tests/browser/features/support/extensions.rb D tests/browser/features/support/hooks.rb D tests/browser/features/support/pages/abstract_flow_page.rb D tests/browser/features/support/pages/board_history_page.rb D tests/browser/features/support/pages/flow_component.rb D tests/browser/features/support/pages/flow_diff_page.rb D tests/browser/features/support/pages/flow_old_permalink_page.rb D tests/browser/features/support/pages/flow_page.rb D tests/browser/features/support/pages/new_flow_page.rb D tests/browser/features/support/pages/preloaded_flow_page.rb D tests/browser/features/support/pages/recent_changes_page.rb D tests/browser/features/support/pages/special_enable_flow_archive_page.rb D tests/browser/features/support/pages/special_enable_flow_confirmation_page.rb D tests/browser/features/support/pages/special_enable_flow_page.rb D tests/browser/features/support/pages/special_notifications_page.rb D tests/browser/features/support/pages/special_preferences_page.rb D tests/browser/features/support/pages/topic_history_page.rb D tests/browser/features/support/pages/user_page.rb D tests/browser/features/support/pages/user_talk_page.rb D tests/browser/features/support/pages/wiki_page.rb D tests/browser/features/suppress.feature D tests/browser/features/thank.feature D tests/browser/features/undo.feature D tests/browser/features/watch.feature 75 files changed, 1 insertion(+), 2,547 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Flow refs/changes/17/393917/1 diff --git a/Gemfile b/Gemfile index b5a3497..942680a 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,5 @@ source "https://rubygems.org" gem "csscss", "~> 1.3.3" -gem 'mediawiki_selenium', '~> 1.8' gem 'rake', '~> 11.1', '>= 11.1.1' gem "rubocop", "~> 0.32.1", require: false diff --git a/Gemfile.lock b/Gemfile.lock index 5e814ab..81120cd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,71 +5,10 @@ astrolabe (1.3.1) parser (~> 2.2) blankslate (3.1.3) - builder (3.2.3) - childprocess (0.6.2) - ffi (~> 1.0, >= 1.0.11) colorize (0.7.7) csscss (1.3.3) colorize parslet (>= 1.6.1, < 2.0) - cucumber (1.3.20) - builder (>= 2.1.2) - diff-lcs (>= 1.1.3) - gherkin (~> 2.12) - multi_json (>= 1.7.5, < 2.0) - multi_test (>= 0.1.2) - data_magic (1.0) - faker (>= 1.1.2) - yml_reader (>= 0.6) - diff-lcs (1.3) - domain_name (0.5.20170223) - unf (>= 0.0.5, < 1.0.0) - faker (1.7.3) - i18n (~> 0.5) - faraday (0.11.0) - multipart-post (>= 1.2, < 3) - faraday-cookie_jar (0.0.6) - faraday (>= 0.7.4) - http-cookie (~> 1.0.0) - faraday_middleware (0.11.0.1) - faraday (>= 0.7.4, < 1.0) - ffi (1.9.17) - gherkin (2.12.2) - multi_json (~> 1.3) - headless (2.3.1) - http-cookie (1.0.3) - domain_name (~> 0.5) - i18n (0.8.1) - json (2.0.3) - mediawiki_api (0.7.1) - faraday (~> 0.9, >= 0.9.0) - faraday-cookie_jar (~> 0.0, >= 0.0.6) - faraday_middleware (~> 0.10, >= 0.10.0) - mediawiki_selenium (1.8.0) - cucumber (~> 1.3, >= 1.3.20) - headless (~> 2.0, >= 2.1.0) - json (~> 2.0, >= 2.0.2) - mediawiki_api (~> 0.7, >= 0.7.0) - page-object (~> 2.0) - rest-client (~> 1.6, >= 1.6.7) - rspec-core (~> 2.14, >= 2.14.4) - rspec-expectations (~> 2.14, >= 2.14.4) - selenium-webdriver (~> 3.1.0) - syntax (~> 1.2, >= 1.2.0) - thor (~> 0.19, >= 0.19.1) - mime-types (2.99.3) - multi_json (1.12.1) - multi_test (0.1.2) - multipart-post (2.0.0) - net-http-persistent (2.9.4) - netrc (0.11.0) - page-object (2.0.0) - net-http-persistent (~> 2.9.4) - page_navigation (>= 0.9) - selenium-webdriver (~> 3.0) - watir (~> 6.0) - page_navigation (0.10) - data_magic (>= 0.22) parser (2.2.2.6) ast (>= 1.1, < 3.0) parslet (1.7.1) @@ -77,13 +16,6 @@ powerpack (0.1.1) rainbow (2.0.0) rake (11.1.1) - rest-client (1.8.0) - http-cookie (>= 1.0.2, < 2.0) - mime-types (>= 1.16, < 3.0) - netrc (~> 0.7) - rspec-core (2.99.2) - rspec-expectations (2.99.2) - diff-lcs (>= 1.1.3, < 2.0) rubocop (0.32.1) astrolabe (~> 1.3) parser (>= 2.2.2.5, < 3.0) @@ -91,29 +23,14 @@ rainbow (>= 1.99.1, < 3.0) ruby-progressbar (~> 1.4) ruby-progressbar (1.7.5) - rubyzip (1.2.1) - selenium-webdriver (3.1.0) - childprocess (~> 0.5) - rubyzip (~> 1.0) - websocket (~> 1.0) - syntax (1.2.1) - thor (0.19.4) - unf (0.1.4) - unf_ext - unf_ext (0.0.7.2) - watir (6.2.0) - selenium-webdriver (~> 3.0) - websocket (1.2.4) - yml_reader (0.7) PLATFORMS ruby DEPENDENCIES csscss (~> 1.3.3) - mediawiki_selenium (~> 1.8) rake (~> 11.1, >= 11.1.1) rubocop (~> 0.32.1) BUNDLED WITH - 1.14.5 + 1.16.0 diff --git a/Rakefile b/Rakefile index 2877bf6..6eef121 100644 --- a/Rakefile +++ b/Rakefile @@ -8,9 +8,6 @@ task.options = ['-c', '.rubocop.yml'] end -require 'mediawiki_selenium/rake_task' -MediawikiSelenium::RakeTask.new - task default: [:test] desc 'Run all build/tests commands (CI entry point)' diff --git a/tests/browser/README.md b/tests/browser/README.md deleted file mode 100644 index 3631949..0000000 --- a/tests/browser/README.md +++ /dev/null @@ -1 +0,0 @@ -Please see https://github.com/wikimedia/mediawiki-selenium for instructions on how to run tests. diff --git a/tests/browser/ci.yml b/tests/browser/ci.yml deleted file mode 100644 index c2eca93..0000000 --- a/tests/browser/ci.yml +++ /dev/null @@ -1,9 +0,0 @@ -BROWSER: - - chrome - - firefox - -MEDIAWIKI_ENVIRONMENT: - - beta - -PLATFORM: - - Linux diff --git a/tests/browser/environments.yml b/tests/browser/environments.yml deleted file mode 100644 index d9d3880..0000000 --- a/tests/browser/environments.yml +++ /dev/null @@ -1,46 +0,0 @@ -# Customize this configuration as necessary to provide defaults for various -# test environments. -# -# The set of defaults to use is determined by the MEDIAWIKI_ENVIRONMENT -# environment variable. -# -# export MEDIAWIKI_ENVIRONMENT=mw-vagrant-host -# bundle exec cucumber -# -# Additional variables set by the environment will override the corresponding -# defaults defined here. -# -# export MEDIAWIKI_ENVIRONMENT=mw-vagrant-host -# export MEDIAWIKI_USER=Selenium_user2 -# bundle exec cucumber -# -mw-vagrant-host: &default - user_factory: true - mediawiki_url: http://127.0.0.1:8080/wiki/ - -mw-vagrant-guest: - user_factory: true - mediawiki_url: http://127.0.0.1/wiki/ - -local: - mediawiki_user: Selenium Flow user - mediawiki_password: vagrant - mediawiki_user_b: Selenium Flow user 2 - mediawiki_url: http://dev.wiki.local.wmftest.net:8080/wiki/ - -beta: - mediawiki_url: https://en.wikipedia.beta.wmflabs.org/wiki/ - mediawiki_user: Selenium_user - mediawiki_user_b: Selenium Flow user 2 - # mediawiki_password: SET THIS IN THE ENVIRONMENT! - -test2: - mediawiki_url: https://test2.wikipedia.org/wiki/ - mediawiki_user: Selenium_user - # mediawiki_password: SET THIS IN THE ENVIRONMENT! - -integration: - user_factory: true - # mediawiki_url: THIS WILL BE SET BY JENKINS - -default: *default diff --git a/tests/browser/features/action_menu_permalink.feature b/tests/browser/features/action_menu_permalink.feature deleted file mode 100644 index f285f4d..0000000 --- a/tests/browser/features/action_menu_permalink.feature +++ /dev/null @@ -1,25 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Actions menu Permalink - - Background: - Given there is a new topic with title "Permalinktest" - And I am on Flow page - - Scenario: Topic Actions menu Permalink - When I select the permalink for the first post of the first topic - And I am viewing Topic page - Then I see only one topic on the page - And the top post should have a heading which contains "Permalinktest" - - Scenario: Actions menu Permalink - Given I reply with comment "this is my response" - When I select the permalink for the second post of the first topic - Then I am viewing Topic page - And I see only one topic on the page - And the highlighted comment is "this is my response" - - Scenario: Old style topic permalink - When I go to an old style permalink to my topic - And I am viewing Topic page - Then I see only one topic on the page - And the top post should have a heading which contains "Permalinktest" diff --git a/tests/browser/features/anon_interface.feature b/tests/browser/features/anon_interface.feature deleted file mode 100644 index 6365140..0000000 --- a/tests/browser/features/anon_interface.feature +++ /dev/null @@ -1,8 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox -Feature: Check the interface for anonymous users - - Scenario: Anon does not see block or actions - Given there is a new topic - When I am on Flow page - Then I see a flow creator element - And the block author link should not be visible diff --git a/tests/browser/features/categories.feature b/tests/browser/features/categories.feature deleted file mode 100644 index 74854ac..0000000 --- a/tests/browser/features/categories.feature +++ /dev/null @@ -1,22 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Categories - - Assumes Flow is enabled for the Flow_test_talk namespace. - - Background: - Given I am on a new board - - Scenario: Add a category to new board - When I add category "Footegory" to the description - Then the categories contain "Footegory" - - Scenario: Add multiple categories to new board - When I add categories "Footegory" and "Mootegory" to the description - Then the categories contain "Footegory" - And the categories contain "Mootegory" - - Scenario: Remove categories from a new board - Given the board contains categories "Footegory" and "Mootegory" - When I remove category "Footegory" from the description - Then the categories do not contain "Footegory" - And the categories contain "Mootegory" diff --git a/tests/browser/features/description.feature b/tests/browser/features/description.feature deleted file mode 100644 index f4152c7..0000000 --- a/tests/browser/features/description.feature +++ /dev/null @@ -1,20 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Board description - - Assumes Flow is enabled for the Flow_test_talk namespace. - - Background: - Given I am on a new board - - Scenario: No description on a new board - Then the description should be empty - - Scenario: Create a description on a new board - When I set the description to "first version" - Then the description should be "first version" - - @integration - Scenario: Edit the description on an existing board - Given I set the description to "first version" - When I set the description to "second version" - Then the description should be "second version" diff --git a/tests/browser/features/edit_existing.feature b/tests/browser/features/edit_existing.feature deleted file mode 100644 index 97852db..0000000 --- a/tests/browser/features/edit_existing.feature +++ /dev/null @@ -1,20 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Edit existing title - - Background: - Given there is a new topic with title "original title" - - Scenario: Edit an existing title - Given I am on Flow page - When I select the Edit title action - And I edit the title field with "Title edited" - And I save the new title - Then the top post should have a heading which contains "Title edited" - - Scenario: Edit existing post - Given I am logged in - And I am on Flow page - When I select Edit post - And I edit the post field with "Post edited" - And I save the new post - Then the saved post should contain "Post edited" diff --git a/tests/browser/features/flow_in_recent_changes.feature b/tests/browser/features/flow_in_recent_changes.feature deleted file mode 100644 index 52790fb..0000000 --- a/tests/browser/features/flow_in_recent_changes.feature +++ /dev/null @@ -1,17 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Flow updates are in Recent Changes - - Background: - Given I am on Flow page - And I have created a Flow topic with title "New topic should be in Recent Changes" - - Scenario: New topic is in Recent Changes - When I navigate to the Recent Changes page - Then the new topic should be in the Recent Changes page - - Scenario: Edited topic is in Recent Changes - When I select the Edit title action - And I edit the title field with "Title should be in Recent Changes" - And I save the new title - And I navigate to the Recent Changes page - Then the new title should be in the Recent Changes page diff --git a/tests/browser/features/flow_logged_in.feature b/tests/browser/features/flow_logged_in.feature deleted file mode 100644 index 2c51795..0000000 --- a/tests/browser/features/flow_logged_in.feature +++ /dev/null @@ -1,19 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Create new topic logged in - - It requires the cldr extension, a "Flow QA" page, and a "Selenium user" who has - permission to flow-delete (usually 'sysop'/administrator user right), to - flow-suppress (usually the 'oversight' user right), and to block (usually 'sysop'). - - Background: - Given there is a new topic created by me - And I am logged in - And I am on Flow page - - Scenario: Add new Flow topic and show author and block links - Given the author link is visible - And the talk to author link is not visible - And the block author link is not visible - When I hover over the author link - Then the talk to author link should be visible - And the block author link should be visible diff --git a/tests/browser/features/flow_no_javascript.feature b/tests/browser/features/flow_no_javascript.feature deleted file mode 100644 index 71390ff..0000000 --- a/tests/browser/features/flow_no_javascript.feature +++ /dev/null @@ -1,21 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Basic site for legacy devices - - Background: - Given I am using a nojs browser - And I am on a Flow page without JavaScript - - Scenario: I post a new topic without JavaScript - When I see the form to post a new topic - And I click Add topic no javascript - And I enter a no javascript topic title of "Selenium no javascript title" - And I enter a no javascript topic body of "Selenium no javascript body" - And I save a no javascript new topic - Then the page contains my no javascript topic - And the page contains my no javascript body - - Scenario: I reply to a topic without JavaScript - When I see the form to reply to a topic - And I enter a no javascript reply of "Selenium no javascript reply" - And I save a no javascript reply - Then the page contains my no javascript reply diff --git a/tests/browser/features/moderation.feature b/tests/browser/features/moderation.feature deleted file mode 100644 index 39caf12..0000000 --- a/tests/browser/features/moderation.feature +++ /dev/null @@ -1,14 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Moderation - - Background: - Given there is a new topic - And I am logged in - And I am on Flow page - - Scenario: Deleting a topic - When I select the Delete topic button - And I see a dialog box - And I give reason for deletion as being "He's a naughty boy" - And I click Delete topic - Then the top post should be marked as deleted diff --git a/tests/browser/features/new_topic.feature b/tests/browser/features/new_topic.feature deleted file mode 100644 index 37d0111..0000000 --- a/tests/browser/features/new_topic.feature +++ /dev/null @@ -1,15 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Creating a new topic - - Scenario: Add new Flow topic as anonymous user - When I have created a Flow topic with title "Anonymous user topic creation" - Then the top post should have a heading which contains "Anonymous user topic creation" - And the top post should have content which contains "Anonymous user topic creation" - - Scenario: Add new Flow topic with topic-title-wikitext - Given I am logged in - And I am on a new board - When I have created a Flow topic containing the wikitext "[[Main Page]] [[Red link cIIBeqoNg8Bxo]] [[Media:Earth.jpg]] [http://example.com Example]" - Then the top post should have a heading which contains "\[http://example.com Example\]" - And there should be a link to the main page in the first topic title - And there should be a red link in the first topic title diff --git a/tests/browser/features/opt_in.feature b/tests/browser/features/opt_in.feature deleted file mode 100644 index 2e36b5e..0000000 --- a/tests/browser/features/opt_in.feature +++ /dev/null @@ -1,41 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Opt-in Flow beta feature - - Depends on having $wgFlowEnableOptInBetaFeature = true - and NS_USER_TALK not occupied by Flow. - - Background: - Given I am logged in as a new user - - Scenario: Opt-in: I don't have a talk page - When I enable Flow beta feature - Then my talk page is a Flow board - And a notification tells me about it - - @integration - Scenario: Opt-in: I have a wikitext talk page - Given my talk page has wikitext content - When I enable Flow beta feature - Then my talk page is a Flow board - And my flow board contains a link to my archived talk page - And the board description contains the templates from my talk page - And my previous talk page is archived - - Scenario: Opt-out: I didn't have a talk page - Given I have Flow beta feature enabled - When I disable Flow beta feature - Then my Flow board is archived - And my talk page is deleted without redirect - - Scenario: Opt-out: I had a wikitext talk page - Given my talk page has wikitext content - And I have Flow beta feature enabled - When I disable Flow beta feature - Then my wikitext talk page is restored - And my Flow board is archived - - Scenario: Re-opt-in - Given I have used the Flow beta feature before - When I enable Flow beta feature - Then my talk page is my old Flow board - And my previous talk page is archived diff --git a/tests/browser/features/post_links.feature b/tests/browser/features/post_links.feature deleted file mode 100644 index 91b7bc2..0000000 --- a/tests/browser/features/post_links.feature +++ /dev/null @@ -1,10 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Follow user links - - Background: - Given there is a new topic created by me - - Scenario: User links takes me to the user page - Given I am on Flow page - When I click the flow creator element - Then I am on my user page diff --git a/tests/browser/features/preload.feature b/tests/browser/features/preload.feature deleted file mode 100644 index 29aa412..0000000 --- a/tests/browser/features/preload.feature +++ /dev/null @@ -1,20 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: preload - - Background: - Given there is a page to preload content from - - Scenario: Preloading title and content - When I am on Flow page with the title and content preload parameters - Then the title is preloaded - And the content is preloaded - - Scenario: Preloading title only - When I am on Flow page with the title preload parameter - Then the title is preloaded - And the content is empty - - Scenario: Preloading content only - When I am on Flow page with the content preload parameter - Then the content is preloaded - And the title is empty diff --git a/tests/browser/features/reopen_topic.feature b/tests/browser/features/reopen_topic.feature deleted file mode 100644 index 9a499d3..0000000 --- a/tests/browser/features/reopen_topic.feature +++ /dev/null @@ -1,16 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Reopen a resolved topic - - Background: - Given there is a new topic - And I am logged in - And I am on Flow page - - @integration - Scenario: Reopening a resolved topic and changing the summary - Given I mark the first topic as resolved - And I summarize as "answer when resolving" - When I reopen the first topic - And I summarize as "answer when reopening" - Then the first topic is open - And the first topic is summarized as "answer when reopening" diff --git a/tests/browser/features/reply.feature b/tests/browser/features/reply.feature deleted file mode 100644 index 70fb397..0000000 --- a/tests/browser/features/reply.feature +++ /dev/null @@ -1,16 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Replying - - Scenario: I can reply - Given there is a new topic - And I am on Flow page - When I reply with comment "hi there" - Then the top post's first reply should contain the text "hi there" - - Scenario: Replying updates watched state - Given there is a new topic created by me - And I am logged in - And I am on Flow page - And I am not watching my new Flow topic - When I reply with comment "I want to watch this title" - Then I should see an unwatch link on the topic diff --git a/tests/browser/features/reply_moderation.feature b/tests/browser/features/reply_moderation.feature deleted file mode 100644 index 23d1830..0000000 --- a/tests/browser/features/reply_moderation.feature +++ /dev/null @@ -1,13 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Reply moderation - - Background: - Given I am logged in - And I am on Flow page - - Scenario: Hiding a comment - Given I have created a Flow topic with title "Hide comment test" - And I reply with comment "hide me if you dare" - When I hide the second comment with reason "Shhhhh!" - Then the second comment should be marked as hidden - And the content of the second comment should not be visible diff --git a/tests/browser/features/resolve_topic.feature b/tests/browser/features/resolve_topic.feature deleted file mode 100644 index 16df2ac..0000000 --- a/tests/browser/features/resolve_topic.feature +++ /dev/null @@ -1,30 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Mark topic as resolved - - Background: - Given there is a new topic - And I am logged in - And I am on Flow page - - Scenario: Resolving a topic without a summary - When I mark the first topic as resolved - And I skip the summary - Then the first topic is resolved - - Scenario: Resolving a topic and adding a summary - When I mark the first topic as resolved - And I summarize as "the answer is 42" - Then the first topic is resolved with summary "the answer is 42" - - Scenario: Resolving a topic and keeping the summary - Given I summarize the first topic as "this answer should be kept" - When I mark the first topic as resolved - And I keep the summary - Then the first topic is resolved with summary "this answer should be kept" - - @integration - Scenario: Resolving a topic and updating the summary - Given I summarize the first topic as "this answer should be changed" - When I mark the first topic as resolved - And I summarize as "this is the new answer" - Then the first topic is resolved with summary "this is the new answer" diff --git a/tests/browser/features/sorting_topics.feature b/tests/browser/features/sorting_topics.feature deleted file mode 100644 index 35c68b5..0000000 --- a/tests/browser/features/sorting_topics.feature +++ /dev/null @@ -1,11 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox -Feature: Sorting topics - - Background: - Given I am on Flow page - - Scenario: Sorting - When I sort by Newest topics - Then it is sorted by Newest topics - When I sort by Recently active topics - Then it is sorted by Recently active topics diff --git a/tests/browser/features/special_enableflow.feature b/tests/browser/features/special_enableflow.feature deleted file mode 100644 index a272a27..0000000 --- a/tests/browser/features/special_enableflow.feature +++ /dev/null @@ -1,33 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Flow Special:EnableFlow enables new flow boards - - Assumes Template:Wikitext_talk_page_converted_to_Flow exists - and returns a link to the archive page. - - Background: - Given I am logged in - And I navigate to enable flow page - - Scenario: Enabling a new Flow page - When I enable a new Flow board - Then I get confirmation for enabling a new Flow board - And I click on the new Flow board link - And The page I am on is a Flow board - - Scenario: Enabling a new Flow page with a custom header - When I enable a new Flow board with a custom header - Then I get confirmation for enabling a new Flow board - And I click on the new Flow board link - And The page I am on is a Flow board - And I see the custom header - - @integration - Scenario: Enabling a Flow page on existing page - Given I have an existing talk page - When I enable a new Flow board on the talk page - Then I get confirmation for enabling a new Flow board - And I click on the new Flow board link - And The page I am on is a Flow board - And the board description contains the templates from my talk page - And I click the archive link - And The archive contains the original text diff --git a/tests/browser/features/step_definitions/action_menu_permalink_steps.rb b/tests/browser/features/step_definitions/action_menu_permalink_steps.rb deleted file mode 100644 index 28a5651..0000000 --- a/tests/browser/features/step_definitions/action_menu_permalink_steps.rb +++ /dev/null @@ -1,54 +0,0 @@ -When(/^I add (\d+) comments to the Topic$/) do |number| - number.to_i.times do - @saved_random = Random.new.rand.to_s - step 'I reply with comment "' + 'Selenium comment ' + @saved_random + '"' - end -end - -When(/^I select the permalink for the first post of the first topic$/) do - on(FlowPage) do |page| - menu = page.post_actions_link_element - option = page.permalink_button_element - page.select_menu_option menu, option - end -end - -When(/^I select the permalink for the second post of the first topic$/) do - on(FlowPage) do |page| - menu = page.second_post_actions_link_element - option = page.actions_link_permalink_second_comment_element - page.select_menu_option menu, option - end -end - -When(/^I click Permalink from the Actions menu$/) do - on(FlowPage).permalink_button_element.when_present.click -end - -When(/^I click Permalink from the 3rd comment Post Actions menu$/) do - on(FlowPage).actions_link_permalink_3rd_comment_element.when_present.click -end - -When(/^I go to an old style permalink to my topic$/) do - on(FlowPage) do |page| - work_flow_id = page.flow_first_topic_element.attribute('data-flow-id') - visit(FlowOldPermalinkPage, using_params: { workflow_id: work_flow_id }) - end -end - -Then(/^I see only one topic on the page$/) do - on(FlowPage) do |page| - # We should have the a post with a heading - expect(page.flow_first_topic_heading_element.when_present).to be_visible - # but this should match nothing - there is only one topic. - expect(page.flow_second_topic_heading_element).not_to be_visible - end -end - -Then(/^the highlighted comment is "(.*?)"$/) do |post_text| - expect(on(FlowPage).highlighted_post).to match post_text -end - -Then(/^the highlighted comment should contain the text for the 3rd comment$/) do - expect(on(FlowPage).highlighted_post).to match @saved_random -end diff --git a/tests/browser/features/step_definitions/api_steps.rb b/tests/browser/features/step_definitions/api_steps.rb deleted file mode 100644 index 4469cfb..0000000 --- a/tests/browser/features/step_definitions/api_steps.rb +++ /dev/null @@ -1,13 +0,0 @@ -Given(/^there is a new topic with title \"(.*?)\"$/) do |title| - title = @data_manager.get title - api.action('flow', submodule: 'new-topic', page: 'Talk:Flow_QA', nttopic: title, ntcontent: 'created via API') -end - -Given(/^there is a new topic$/) do - step "there is a new topic with title \"title\"" -end - -Given(/^there is a new topic created by me$/) do - api.log_in user, password unless api.logged_in? - step "there is a new topic with title \"title\"" -end diff --git a/tests/browser/features/step_definitions/categories_steps.rb b/tests/browser/features/step_definitions/categories_steps.rb deleted file mode 100644 index 739673b..0000000 --- a/tests/browser/features/step_definitions/categories_steps.rb +++ /dev/null @@ -1,47 +0,0 @@ -When(/^I add category "(.*?)" to the description$/) do |category_text| - on(FlowPage) do |page| - page.description.edit - page.description.editor_element.when_present.send_keys '[[Category:' + category_text + ']]' - page.description.save - page.description.categories_element.when_present - end -end - -When(/^I add categories "(.*?)" and "(.*?)" to the description$/) do |cat1, cat2| - on(FlowPage) do |page| - page.description.edit - page.description.editor_element.when_present.send_keys '[[Category:' + - cat1 + ']]' + "\n" \ - '[[Category:' + cat2 + ']]' - page.description.save - page.description.categories_element.when_present - end -end - -When(/^I remove category "(.*?)" from the description$/) do |category_text| - on(FlowPage) do |page| - page.description.edit - text = page.description.editor_element.when_present.text - text.slice! "[[Category:#{category_text}]]" - page.description.editor_element.when_present.clear - page.description.editor_element.when_present.send_keys text - page.description.save - page.description.categories_element.when_present - end -end - -When(/^the board contains categories "(.*?)" and "(.*?)"$/) do |cat1, cat2| - step "I add categories \"#{cat1}\" and \"#{cat2}\" to the description" -end - -When(/^the categories contain "(.*?)"$/) do |category_text| - on(FlowPage) do |page| - page.description.category_item(category_text).exists? - end -end - -When(/^the categories do not contain "(.*?)"$/) do |category_text| - on(FlowPage) do |page| - expect(page.description.category_item(category_text)).not_to exist - end -end diff --git a/tests/browser/features/step_definitions/description_steps.rb b/tests/browser/features/step_definitions/description_steps.rb deleted file mode 100644 index a43c649..0000000 --- a/tests/browser/features/step_definitions/description_steps.rb +++ /dev/null @@ -1,19 +0,0 @@ -Then(/^the description should be "(.*?)"$/) do |content| - on(FlowPage) do |page| - page.description.content.should eq(content) - end -end - -When(/^I set the description to "(.*?)"$/) do |description_text| - on(FlowPage) do |page| - page.description.edit - page.description.editor_element.when_present.clear - page.description.editor_element.when_present.send_keys description_text - page.description.save - page.description.content_element.when_present - end -end - -Then(/^the description should be empty$/) do - step "the description should be \"\"" -end diff --git a/tests/browser/features/step_definitions/edit_existing_steps.rb b/tests/browser/features/step_definitions/edit_existing_steps.rb deleted file mode 100644 index 213545c..0000000 --- a/tests/browser/features/step_definitions/edit_existing_steps.rb +++ /dev/null @@ -1,50 +0,0 @@ -When(/^I select Edit post$/) do - on(FlowPage) do |page| - menu = page.post_actions_link_element - option = page.edit_post_button_element - page.select_menu_option menu, option - end -end - -When(/^I select the Edit title action$/) do - on(FlowPage) do |page| - menu = page.topic_actions_link_element - option = page.edit_title_button_element - page.select_menu_option menu, option - end -end - -When(/^I edit the post field with "(.+)"$/) do |edited_post| - on(FlowPage) do |page| - # Take focus away from menu - page.post_edit_element.when_present.click - page.post_edit_element.when_present.send_keys(edited_post + @random_string) - end -end - -When(/^I edit the title field with "(.+)"$/) do |edited_title| - on(FlowPage) do |page| - @edited_topic_string = edited_title + @random_string - # Take focus away from menu - page.title_edit_element.when_present.when_enabled.click - page.title_edit = @edited_topic_string - end -end - -When(/^I save the new post/) do - on(FlowPage) do |page| - page.change_post_save_element.when_present.click - page.change_post_save_element.when_not_present - end -end - -When(/^I save the new title$/) do - on(FlowPage) do |page| - page.change_title_save_element.when_present.click - page.flow_first_topic_heading_element.when_present - end -end - -Then(/^the saved post should contain "(.+)"$/) do |edited_post| - expect(on(FlowPage).flow_first_topic_body_element.when_present.text).to match(edited_post + @random_string) -end diff --git a/tests/browser/features/step_definitions/flow_in_recent_changes_steps.rb b/tests/browser/features/step_definitions/flow_in_recent_changes_steps.rb deleted file mode 100644 index 4b55c50..0000000 --- a/tests/browser/features/step_definitions/flow_in_recent_changes_steps.rb +++ /dev/null @@ -1,15 +0,0 @@ -When(/^I navigate to the Recent Changes page$/) do - visit(RecentChangesPage) -end - -Then(/^the new topic should be in the Recent Changes page$/) do - on(RecentChangesPage) do |page| - page.refresh_until { page.recent_changes.match @topic_string } - end -end - -Then(/^the new title should be in the Recent Changes page$/) do - on(RecentChangesPage) do |page| - page.refresh_until { page.recent_changes.match @edited_topic_string } - end -end diff --git a/tests/browser/features/step_definitions/flow_no_javascript_steps.rb b/tests/browser/features/step_definitions/flow_no_javascript_steps.rb deleted file mode 100644 index 21b07cd..0000000 --- a/tests/browser/features/step_definitions/flow_no_javascript_steps.rb +++ /dev/null @@ -1,66 +0,0 @@ -# This test has no javascript -# Therefore this test has no AJAX -# Therefore it should run without any "when_present" clauses -# If you need a "when_present" to make the test run, that is a bug - -Given(/^I am on a Flow page without JavaScript$/) do - visit(FlowPage) -end - -Given(/^I am using a nojs browser$/) do - # The following user-agent string contains: - # SymbianOS: for RL to NOT load the modern experience - # SMART-TV-SamsungBrowser: to bypass mobile-frontend and stay on the desktop site - browser_factory.override(browser_user_agent: 'SymbianOS,SMART-TV-SamsungBrowser') -end - -When(/^I click Add topic no javascript$/) do - on(FlowPage).no_javascript_topic_title_text_element.click -end - -When(/^I enter a no javascript reply of "(.*?)"$/) do |no_javascript_reply| - @no_javascript_reply = no_javascript_reply - on(FlowPage).no_javascript_reply_form_element.send_keys "#{@no_javascript_reply} #{@random_string}" -end - -When(/^I enter a no javascript topic body of "(.*?)"$/) do |no_javascript_topic_body| - @no_javascript_topic_body = no_javascript_topic_body - on(FlowPage).no_javascript_topic_body_text_element.send_keys "#{@no_javascript_topic_body} #{@random_string}" -end - -When(/^I enter a no javascript topic title of "(.*?)"$/) do |no_javascript_topic_title| - @no_javascript_topic_title = no_javascript_topic_title - on(FlowPage).no_javascript_topic_title_text_element.send_keys "#{@no_javascript_topic_title} #{@random_string}" -end - -When(/^I save a no javascript new topic$/) do - on(FlowPage).no_javascript_add_topic_element.click -end - -When(/^I save a no javascript reply$/) do - on(FlowPage).no_javascript_reply_element.click -end - -When(/^I see the form to post a new topic$/) do - on(FlowPage) do |page| - page.no_javascript_start_topic_element.click - end -end - -When(/^I see the form to reply to a topic$/) do - on(FlowPage) do |page| - page.no_javascript_start_reply_element.click - end -end - -Then(/^the page contains my no javascript body$/) do - expect(on(FlowPage).no_javascript_page_content_body).to match "#{@no_javascript_topic_body} #{@random_string}" -end - -Then(/^the page contains my no javascript topic$/) do - expect(on(FlowPage).no_javascript_page_content_title).to match "#{@no_javascript_topic_title} #{@random_string}" -end - -Then(/^the page contains my no javascript reply$/) do - expect(on(FlowPage).no_javascript_page_flow_topics).to match "#{@no_javascript_reply} #{@random_string}" -end diff --git a/tests/browser/features/step_definitions/flow_steps.rb b/tests/browser/features/step_definitions/flow_steps.rb deleted file mode 100644 index 940fb9b..0000000 --- a/tests/browser/features/step_definitions/flow_steps.rb +++ /dev/null @@ -1,253 +0,0 @@ -Given(/^I am on a new board$/) do - visit NewFlowPage - step 'The Flow page is fully loaded' - step 'page has no ResourceLoader errors' -end - -Given(/^I am on Flow page$/) do - visit FlowPage - step 'The Flow page is fully loaded' - step 'page has no ResourceLoader errors' -end - -# @todo: Rewrite to use more generic step below -Given(/^I have created a Flow topic$/) do - step "I have created a Flow topic with title \"Title of Flow topic\"" -end - -Given(/^I have created a Flow topic with title "(.+)"$/) do |title| - step "I am on Flow page" - step "I type \"#{title}\" into the new topic title field" - step "I type \"#{title}\" into the new topic content field" - step "I click New topic save" - step "topic \"#{title}\" is saved" -end - -Given(/^the author link is visible$/) do - on(FlowPage).author_link_element.when_present.when_present -end - -Given(/^the block author link is not visible$/) do - on(FlowPage).usertools_block_user_link_element.when_not_visible -end - -Given(/^The Flow page is fully loaded$/) do - on(FlowPage) do |page| - page.new_topic_link_element.when_not_visible - page.overlay_element.when_not_visible - end -end - -Given(/^the talk to author link is not visible$/) do - on(FlowPage).usertools_talk_link_element.when_not_visible -end - -When(/^I am viewing Topic page$/) do - on(FlowPage).wait_until { @browser.url =~ /Topic/ } -end - -When(/^I click New topic save$/) do - on(FlowPage) do |page| - page.new_topic_save_element.when_present.click - end -end - -# This will only work for titles without wikitext -# due to topic_with_title -When(/^topic "(.+)" is saved$/) do |title| - on(FlowPage) do |page| - page.new_topic_save_element.when_not_visible(10) - - full_title = @data_manager.get title - page.topic_with_title(full_title).when_present - end -end - -When(/^I select the Delete topic button$/) do - on(FlowPage) do |page| - menu = page.topic_actions_link_element - option = page.topic_delete_button_element - page.select_menu_option menu, option - end -end - -When(/^I click the flow creator element$/) do - on(FlowPage).author_link_element.click -end - -When(/^I click the Hide topic button$/) do - on(FlowPage).topic_hide_button_element.when_present.click -end - -When(/^I hover over the author link$/) do - on(FlowPage).author_link_element.hover -end - -When(/^I see a flow creator element$/) do - on(FlowPage).author_link_element.should be_visible -end - -When(/^I type "(.+)" into the new topic content field$/) do |flow_body| - body_string = @data_manager.get flow_body - on(FlowPage).new_topic_body_element.when_present.send_keys(body_string) -end - -When(/^I type "(.+)" into the new topic title field$/) do |flow_title| - on(FlowPage) do |page| - @topic_string = @data_manager.get flow_title - page.new_topic_title_element.when_present.click - page.new_topic_title_element.when_present.focus - page.new_topic_title_element.when_present.send_keys(@topic_string) - end -end - -When(/I log out/) do - on(FlowPage) do |page| - page.logout - page.logout_element.when_not_visible - end -end - -When(/^I visit the board history page$/) do - visit BoardHistoryPage - on(BoardHistoryPage).flow_board_history_element.when_present -end - -When(/^I visit the topic history page$/) do - step 'I select History from the Actions menu' - on(TopicHistoryPage).flow_topic_history_element.when_present -end - -When(/^I select History from the Actions menu$/) do - on(FlowPage) do |page| - menu = page.topic_actions_link_element - option = page.topic_history_button_element - page.select_menu_option menu, option - end -end - -Then(/^I am on my user page$/) do - text = "User:#{user_label}" - expect(on(UserPage).first_heading_element.when_present.text).to match(text) -end - -Then(/^I should see a Delete button$/) do - expect(on(FlowPage).delete_button_element).to be_visible -end - -Then(/^I should see a Delete topic button$/) do - expect(on(FlowPage).topic_delete_button_element.when_present).to be_visible -end - -Then(/^I should see a Hide button$/) do - expect(on(FlowPage).hide_button_element.when_present).to be_visible -end - -Then(/^I should see a Hide topic button$/) do - expect(on(FlowPage).topic_hide_button_element.when_present).to be_visible -end - -Then(/^I should see a Suppress button$/) do - expect(on(FlowPage).suppress_button_element).to be_visible -end - -Then(/^I should see a Suppress topic button$/) do - expect(on(FlowPage).topic_suppress_button_element.when_present).to be_visible -end - -Then(/^the block author link should not be visible$/) do - expect(on(FlowPage).usertools_block_user_link_element).not_to be_visible -end - -Then(/^the block author link should be visible$/) do - expect(on(FlowPage).usertools_block_user_link_element.when_present).to be_visible -end - -Then(/^the content of the top post should be visible$/) do - expect(on(FlowPage).flow_first_topic_body_element.when_present).to be_visible -end - -Then(/^the content of the top post should not be visible$/) do - expect(on(FlowPage).flow_first_topic_body_element).not_to be_visible -end - -Then(/^the Save New Topic button should be disabled$/) do - val = on(FlowPage).new_topic_save_element.attribute("disabled") - expect(val).to eq("true") -end - -Then(/^the talk to author link should be visible$/) do - expect(on(FlowPage).usertools_talk_link_element.when_present).to be_visible -end - -Then(/^the top post should have a heading which contains "(.+)"$/) do |text| - on(FlowPage) do |page| - page.wait_until do - actual_text = page.flow_first_topic_heading_element.when_present.text - actual_text.match text - end - end -end - -Then(/^the top post should have content which contains "(.+)"$/) do |text| - expect(on(FlowPage).flow_first_topic_body).to match(text) -end - -Then(/^the top post should not have a heading which contains "(.+)"$/) do |text| - expect(on(FlowPage).flow_first_topic_heading).not_to match(text) -end - -Then(/^I see the topic "(.*?)" on the board$/) do |title| - full_title = @data_manager.get title - on(FlowPage).topic_with_title(full_title).when_present -end - -Then(/^everybody sees the topic "(.*?)" on the board$/) do |title| - step 'I log out' - step 'I am on Flow page' - step "I see the topic \"#{title}\" on the board" -end - -Then(/^I see the following entries in board history$/) do |table| - on(BoardHistoryPage) do |page| - table.hashes.each do |row| - action = row['action'] - topic = @data_manager.get row['topic'] - entry = %(#{action} "#{topic}") - expect(page.flow_board_history).to match(entry) - end - end -end - -Then(/^I see the following entries in topic history$/) do |table| - on(TopicHistoryPage) do |page| - table.hashes.each do |row| - action = row['action'] - topic = @data_manager.get row['topic'] - entry = %(#{action} "#{topic}") - expect(page.flow_topic_history).to match(entry) - end - end -end - -Then(/^I do not see the following entries in board history$/) do |table| - on(BoardHistoryPage) do |page| - table.hashes.each do |row| - action = row['action'] - topic = @data_manager.get row['topic'] - entry = %(#{action} "#{topic}") - expect(page.flow_board_history).to_not match(entry) - end - end -end - -Then(/^I do not see the following entries in topic history$/) do |table| - on(TopicHistoryPage) do |page| - table.hashes.each do |row| - action = row['action'] - topic = @data_manager.get row['topic'] - entry = %(#{action} "#{topic}") - expect(page.flow_topic_history).to_not match(entry) - end - end -end diff --git a/tests/browser/features/step_definitions/moderation_steps.rb b/tests/browser/features/step_definitions/moderation_steps.rb deleted file mode 100644 index 49b191f..0000000 --- a/tests/browser/features/step_definitions/moderation_steps.rb +++ /dev/null @@ -1,35 +0,0 @@ -When(/^I cancel the dialog$/) do - on(FlowPage).dialog_cancel_element.when_present.click -end - -When(/^I click Delete topic$/) do - on(FlowPage).dialog_submit_delete_element.when_present.click -end - -When(/^I click Hide topic$/) do - on(FlowPage).dialog_submit_hide_element.when_present.click -end - -When(/^I give reason for deletion as being "(.*?)"$/) do |delete_reason| - step "I type \"#{delete_reason}\" in the dialog box" -end - -When(/^I give reason for hiding as being "(.*?)"$/) do |hide_reason| - step "I type \"#{hide_reason}\" in the dialog box" -end - -When(/^I see a dialog box$/) do - on(FlowPage).dialog_element.when_present -end - -When(/^I type "(.*?)" in the dialog box$/) do |text| - on(FlowPage).dialog_input_element.when_present.send_keys(text) -end - -Then(/^I do not see the dialog box$/) do - on(FlowPage).dialog_element.when_not_present -end - -Then(/^the top post should be marked as deleted$/) do - expect(on(FlowPage).flow_first_topic_moderation_msg_element.when_present.text).to match("This topic has been deleted") -end diff --git a/tests/browser/features/step_definitions/new_topic_steps.rb b/tests/browser/features/step_definitions/new_topic_steps.rb deleted file mode 100644 index aa96db0..0000000 --- a/tests/browser/features/step_definitions/new_topic_steps.rb +++ /dev/null @@ -1,20 +0,0 @@ -# This is like 'I have created a Flow topic with title', but doesn't -# expect the input to be a one-to-one mapping to the output. The -# problematic sub-step of that is "topic \"#{title}\" is saved" -Given(/^I have created a Flow topic containing the wikitext "(.+)"$/) do |title| - step "I type \"#{title}\" into the new topic title field" - step "I type \"#{title}\" into the new topic content field" - step "I click New topic save" -end - -Then(/^there should be a link to the main page in the first topic title$/) do - on(FlowPage) do |page| - page.flow_first_topic_main_page_link_element.when_present - end -end - -Then(/^there should be a red link in the first topic title$/) do - on(FlowPage) do |page| - page.flow_first_topic_red_link_element.when_present - end -end diff --git a/tests/browser/features/step_definitions/opt_in_steps.rb b/tests/browser/features/step_definitions/opt_in_steps.rb deleted file mode 100644 index 600c5a0..0000000 --- a/tests/browser/features/step_definitions/opt_in_steps.rb +++ /dev/null @@ -1,123 +0,0 @@ - -Given(/^I am logged in as a new user$/) do - @username = @data_manager.get 'New_user' - puts "New user: #{@username}" - api.create_account @username, password - visit(LoginPage).login_with @username, password -end - -When(/^I enable Flow beta feature$/) do - visit(SpecialPreferencesPage) do |page| - page.beta_features_element.when_present.click - page.check_flow_beta_feature - page.save_preferences - page.confirmation_element.when_present - end -end - -Then(/^my talk page is a Flow board$/) do - visit(UserTalkPage, using_params: { username: @username }) do |page| - page.refresh_until { page.flow.board_element.visible? } - end -end - -Given(/^my talk page has wikitext content$/) do - talk_page = "User_talk:#{@username}" - @talk_page_content = "this is the content of my talk page" - content = @talk_page_content - content += "\n{{template_before_first_heading}}" - content += "\n== this is the first section ==" - content += "\n{{template_after_first_heading}}" - api.create_page talk_page, content -end - -Then(/^my previous talk page is archived$/) do - archive_name = "./User_talk:#{@username}/Archive_1" - archive_template = 'This page is an archive.' - visit(WikiPage, using_params: { page: archive_name }) do |page| - expect(page.content_element.when_present.text).to match @talk_page_content - expect(page.content_element.when_present.text).to match archive_template - - expect(page.content).to match 'This page is an archive.' - expect(page.content).to_not match 'Previous discussion was archived at' - end -end - -Given(/^I have Flow beta feature enabled$/) do - step 'I enable Flow beta feature' -end - -When(/^I disable Flow beta feature$/) do - visit(SpecialPreferencesPage) do |page| - page.beta_features_element.when_present.click - page.uncheck_flow_beta_feature - page.save_preferences - page.confirmation_element.when_present - end -end - -Then(/^my wikitext talk page is restored$/) do - flow_archive_link = "User_talk:#{@username}/Flow_Archive_1".tr '_', ' ' - visit(UserTalkPage, using_params: { username: @username }) do |page| - page.refresh_until do - page.content.match @talk_page_content - end - expect(page.content).to_not match 'This page is an archive.' - expect(page.content).to match 'Previous discussion was archived at' - expect(page.content).to match flow_archive_link - end -end - -Then(/^my Flow board is archived$/) do - flow_archive_name = "./User_talk:#{@username}/Flow_Archive_1" - visit(WikiPage, using_params: { page: flow_archive_name }) do |page| - page.refresh_until { page.flow.board_element.visible? } - page.flow.board_element.when_present - expect(page.flow.header).to match 'This page is an archive.' - expect(page.flow.header).to_not match 'Previous discussion was archived at' - end -end - -Given(/^I have used the Flow beta feature before$/) do - step 'my talk page has wikitext content' - step 'I enable Flow beta feature' - step 'my talk page is a Flow board' - @topic_title = @data_manager.get 'title' - api.action('flow', submodule: 'new-topic', page: "User_talk:#{@username}", nttopic: @topic_title, ntcontent: 'created via API') - step 'I disable Flow beta feature' - step 'my wikitext talk page is restored' -end - -Then(/^my talk page is my old Flow board$/) do - archive_name = "User_talk:#{@username}/Archive_1".tr '_', ' ' - visit(WikiPage, using_params: { page: "./User_talk:#{@username}" }) do |page| - page.refresh_until { page.flow.board_element.visible? } - page.flow.board_element.when_present - - expect(page.flow.header).to match archive_name - expect(page.flow.header).to match 'Previous discussion was archived at' - expect(page.flow.header).to_not match 'This page is an archive.' - end -end - -Then(/^my flow board contains a link to my archived talk page$/) do - archive_name = "User_talk:#{@username}/Archive_1".tr '_', ' ' - visit(UserTalkPage, using_params: { username: @username }) do |page| - page.refresh_until { page.flow.board_element.visible? } - expect(page.flow.header).to match archive_name - end -end - -Then(/^a notification tells me about it$/) do - visit(SpecialNotificationsPage) do |page| - expect(page.first_notification_element.when_present.text).to match 'New discussion system' - end -end - -Then(/^my talk page is deleted without redirect$/) do - visit(UserTalkPage, using_params: { username: @username }) do |page| - page.content_element.when_present - expect(page.content).to match 'This page has been deleted.' - expect(page.content).to match 'without leaving a redirect' - end -end diff --git a/tests/browser/features/step_definitions/preload_steps.rb b/tests/browser/features/step_definitions/preload_steps.rb deleted file mode 100644 index 4191889..0000000 --- a/tests/browser/features/step_definitions/preload_steps.rb +++ /dev/null @@ -1,57 +0,0 @@ -Given(/^there is a page to preload content from$/) do - page_name = 'Preloaded_body_example' - @content_to_preload = 'this is the content of the preload page' - api.create_page page_name, @content_to_preload -end - -When(/^I am on Flow page with the title and content preload parameters$/) do - @title = @data_manager.get 'new_topic_title' - visit(PreloadedFlowPage, - using_params: { - topiclist_preloadtitle: @title, - topiclist_preload: 'Preloaded_body_example' - }) - step 'The Flow page is fully loaded' - step 'page has no ResourceLoader errors' -end - -Then(/^the title is preloaded$/) do - on(AbstractFlowPage) do |page| - expect(page.new_topic_title).to eq @title - end -end - -Then(/^the content is preloaded$/) do - on(AbstractFlowPage) do |page| - page.wait_until do - page.new_topic_body_element.when_present.text - end - expect(page.new_topic_body_element.when_present.text).to eq @content_to_preload - end -end - -When(/^I am on Flow page with the title preload parameter$/) do - @title = @data_manager.get 'new_topic_title' - visit(PreloadedFlowPage, using_params: { topiclist_preloadtitle: @title }) - step 'The Flow page is fully loaded' - step 'page has no ResourceLoader errors' -end - -Then(/^the content is empty$/) do - on(AbstractFlowPage) do |page| - expect(page.new_topic_body_element.when_present.text).to eq '' - end -end - -When(/^I am on Flow page with the content preload parameter$/) do - @title = @data_manager.get 'new_topic_title' - visit(PreloadedFlowPage, using_params: { topiclist_preload: 'Preloaded_body_example' }) - step 'The Flow page is fully loaded' - step 'page has no ResourceLoader errors' -end - -Then(/^the title is empty$/) do - on(AbstractFlowPage) do |page| - expect(page.new_topic_title).to eq '' - end -end diff --git a/tests/browser/features/step_definitions/reply_moderation_steps.rb b/tests/browser/features/step_definitions/reply_moderation_steps.rb deleted file mode 100644 index f11bf78..0000000 --- a/tests/browser/features/step_definitions/reply_moderation_steps.rb +++ /dev/null @@ -1,34 +0,0 @@ -When(/^I click Hide comment button$/) do - on(FlowPage) do |page| - page.actions_link_hide_3rd_comment_element.when_present.focus - page.actions_link_hide_3rd_comment_element.click - end -end - -When(/^I click the Hide button in the dialog$/) do - on(FlowPage) do |page| - page.dialog_submit_hide_element.click - page.dialog_submit_hide_element.when_not_present - end -end - -When(/^I hide the second comment with reason "(.*?)"$/) do |reason| - on(FlowPage) do |page| - menu = page.second_post_actions_link_element - option = page.actions_link_hide_second_comment_element - page.select_menu_option menu, option - end - step "I type \"#{reason}\" in the dialog box" - step 'I click the Hide button in the dialog' -end - -Then(/^the second comment should be marked as hidden$/) do - on(FlowPage) do |page| - page.second_post_element.when_present - expect(page.second_post_moderation_msg).to match('This comment was hidden') - end -end - -Then(/^the content of the second comment should not be visible$/) do - expect(on(FlowPage).second_post_content_element).not_to be_visible -end diff --git a/tests/browser/features/step_definitions/reply_steps.rb b/tests/browser/features/step_definitions/reply_steps.rb deleted file mode 100644 index 41b4f3a..0000000 --- a/tests/browser/features/step_definitions/reply_steps.rb +++ /dev/null @@ -1,43 +0,0 @@ -Given(/^I am not watching my new Flow topic$/) do - on(FlowPage) do |page| - page.first_topic_unwatch_link_element.when_present.click - page.first_topic_watch_link_element.when_present - end -end - -When(/^I reply with comment "(.*?)"$/) do |content| - on(FlowPage) do |page| - page.new_reply_save_element.when_not_present - page.first_reply_placeholder_element.when_present.click - page.new_reply_editor_element.when_present.send_keys(content) - page.new_reply_save_element.when_present.click - page.new_reply_save_element.when_not_present - page.flow_first_topic_element.paragraph_element(text: content).when_present - end -end - -When(/^I start a reply with comment "(.*?)"$/) do |content| - on(FlowPage) do |page| - page.new_reply_save_element.when_not_present - page.new_reply_placeholder_element.when_present.click - page.new_reply_editor_element.send_keys(content) - end -end - -Then(/^I should see an unwatch link on the topic$/) do - expect(on(FlowPage).first_topic_unwatch_link_element).to be_visible -end - -Then(/^the top post's first reply should contain the text "(.+)"$/) do |text| - on(FlowPage) do |page| - page.new_reply_save_element.when_not_present - expect(page.first_reply_body).to match(text) - end -end - -Then(/^I should see the topic reply form$/) do - on(FlowPage) do |page| - page.wait_until { page.new_reply_editor_element.visible? } - expect(page.new_reply_editor_element).to be_visible - end -end diff --git a/tests/browser/features/step_definitions/resolve_reopen_steps.rb b/tests/browser/features/step_definitions/resolve_reopen_steps.rb deleted file mode 100644 index 3f0c681..0000000 --- a/tests/browser/features/step_definitions/resolve_reopen_steps.rb +++ /dev/null @@ -1,108 +0,0 @@ - -When(/^I mark the first topic as resolved$/) do - on(FlowPage) do |page| - menu = page.topic_actions_link_element - option = page.topic_resolve_button_element - page.select_menu_option menu, option - - # dismiss the menu - page.edit_summary_element.when_present.click - page.edit_summary_element.when_present.focus - end -end - -When(/^I reopen the first topic$/) do - on(FlowPage) do |page| - menu = page.topic_actions_link_element - option = page.topic_reopen_button_element - page.select_menu_option menu, option - - # dismiss the menu - page.edit_summary_element.when_present.click - page.edit_summary_element.when_present.focus - end -end - -When(/^I skip the summary$/) do - on(FlowPage) do |page| - page.skip_summary_button_element.when_present.click - end -end - -Then(/^the first topic is resolved$/) do - on(FlowPage) do |page| - expect(page.first_topic_resolved_mark_element).to exist - end -end - -Then(/^the first topic is open$/) do - on(FlowPage) do |page| - expect(page.first_topic_resolved_mark_element).not_to exist - end -end - -When(/^I enter "(.*?)" as summary$/) do |summary_text| - on(FlowPage) do |page| - page.edit_summary_element.when_present.click - page.edit_summary_element.when_present.focus - page.edit_summary_element.when_present.clear - page.edit_summary_element.when_present.send_keys summary_text - end -end - -When(/^I click the update summary button$/) do - on(FlowPage) do |page| - page.update_summary_button_element.when_present.click - page.summary_content_element.when_present - end -end - -When(/^I click the summarize menu item$/) do - on(FlowPage) do |page| - menu = page.topic_actions_link_element - option = page.topic_summarize_button_element - page.select_menu_option menu, option - end -end - -When(/^I click the edit summary menu item$/) do - on(FlowPage) do |page| - menu = page.topic_actions_link_element - option = page.topic_edit_summary_button_element - page.select_menu_option menu, option - end -end - -Then(/^the first topic is summarized as "(.*?)"$/) do |summary_text| - on(FlowPage) do |page| - expect(page.summary_content_element.when_present.text).to eq(summary_text) - end -end - -When(/^I keep the summary$/) do - on(FlowPage) do |page| - page.update_summary_button_element.when_present.click - end -end - -Then(/^the first topic is resolved with summary "(.*?)"$/) do |summary_text| - step 'the first topic is resolved' - step "the first topic is summarized as \"#{summary_text}\"" -end - -Given(/^I summarize the first topic as "(.*?)"$/) do |summary_text| - step 'I click the summarize menu item' - step "I enter \"#{summary_text}\" as summary" - step 'I click the update summary button' -end - -Given(/^I re-summarize the first topic as "(.*?)"$/) do |summary_text| - step 'I click the edit summary menu item' - step "I enter \"#{summary_text}\" as summary" - step 'I click the update summary button' -end - -When(/^I summarize as "(.*?)"$/) do |summary_text| - step "I enter \"#{summary_text}\" as summary" - step 'I click the update summary button' -end diff --git a/tests/browser/features/step_definitions/sorting_topics_steps.rb b/tests/browser/features/step_definitions/sorting_topics_steps.rb deleted file mode 100644 index 3949d04..0000000 --- a/tests/browser/features/step_definitions/sorting_topics_steps.rb +++ /dev/null @@ -1,29 +0,0 @@ -When(/^I sort by Newest topics$/) do - on(FlowPage) do |page| - page.sorting_element.when_present - page.recently_active_topics_link_element.when_present.click - page.newest_topics_choice_element.when_present.click - page.sorting_element.when_not_present - end -end - -Then(/^it is sorted by Newest topics$/) do - on(FlowPage) do |page| - page.newest_topics_link_element.when_present - end -end - -When(/^I sort by Recently active topics$/) do - on(FlowPage) do |page| - page.sorting_element.when_present - page.newest_topics_link_element.when_present.click - page.recently_active_topics_choice_element.when_present.click - page.sorting_element.when_not_present - end -end - -Then(/^it is sorted by Recently active topics$/) do - on(FlowPage) do |page| - page.recently_active_topics_link_element.when_present - end -end diff --git a/tests/browser/features/step_definitions/special_enable_flow_steps.rb b/tests/browser/features/step_definitions/special_enable_flow_steps.rb deleted file mode 100644 index 662510e..0000000 --- a/tests/browser/features/step_definitions/special_enable_flow_steps.rb +++ /dev/null @@ -1,79 +0,0 @@ -Given(/^I navigate to enable flow page$/) do - visit(EnableFlowPage) -end - -Given(/^I have an existing talk page$/) do - @new_board_page = @data_manager.get_talk 'Test_Prefilled_Random_Board' - content = "<p class=\"flow-test-archive-content\">Some wikitext here.</p>" - content += "\n\n{{template_before_first_heading}}" - content += "\n\n== this is the first section ==" - content += "\n\n{{template_after_first_heading}}" - api.create_page @new_board_page, content -end - -When(/^I enable a new Flow board on the talk page$/) do - step "I enable a new Flow board on article #{@new_board_page}" -end - -When(/^I enable a new Flow board$/) do - @new_board_page = @data_manager.get_talk 'Test_Random_Board' - step "I enable a new Flow board on article #{@new_board_page}" -end - -When(/^I enable a new Flow board on article (.*?)$/) do |article| - on(EnableFlowPage) do |page| - page.page_name_element.when_present.send_keys article - page.submit_element.when_present.click - end -end - -When(/^I enable a new Flow board with a custom header$/) do - @new_board_page = @data_manager.get_talk 'Test_Random_Board' - @custom_header = @data_manager.get 'custom header' - on(EnableFlowPage) do |page| - page.page_name_element.when_present.send_keys @new_board_page - page.page_header_element.when_present.send_keys @custom_header - page.submit - end -end - -Then(/^I get confirmation for enabling a new Flow board$/) do - on(EnableFlowConfirmationPage) do |page| - page.new_board_link.when_present - expect(page.new_board_link.text).to match(@new_board_page) - end -end - -Then(/^I click on the new Flow board link$/) do - on(EnableFlowConfirmationPage).new_board_link.when_present.click -end - -Then(/^The page I am on is a Flow board$/) do - expect(on(AbstractFlowPage).flow_board_element.when_present).to be_visible -end - -Then(/^I click the archive link$/) do - on(AbstractFlowPage) do |page| - page.description.toggle_element.when_present.click unless page.description.content_element.visible? - page.description.archive_link_element.when_present.click - end -end - -Then(/^The archive contains the original text$/) do - expect(on(SpecialConversionFlowArchivePage).content_element.when_present.text).to match('Some wikitext here.') -end - -Then(/^I see the custom header$/) do - on(AbstractFlowPage) do |page| - page.description.content_element.when_present.text.should match @custom_header - end -end - -Then(/^the board description contains the templates from my talk page$/) do - on(AbstractFlowPage) do |page| - page.refresh_until { page.description.content_element.visible? } - description = page.description.content_element.when_present.text - expect(description).to match 'Template:Template before first heading' - expect(description).to_not match 'Template:Template after first heading' - end -end diff --git a/tests/browser/features/step_definitions/suppress_steps.rb b/tests/browser/features/step_definitions/suppress_steps.rb deleted file mode 100644 index 067c327..0000000 --- a/tests/browser/features/step_definitions/suppress_steps.rb +++ /dev/null @@ -1,40 +0,0 @@ - -Given(/^I have suppressed and restored the first topic$/) do - step 'I suppress the first topic' - step 'I undo the suppression' -end - -When(/^I click Suppress topic$/) do - on(FlowPage).dialog_submit_suppress_element.when_present.click -end - -When(/^I undo the suppression$/) do - on(FlowPage) do |page| - page.undo_suppression_button_element.when_present.click - page.undo_suppression_button_element.when_not_visible - end -end - -When(/^I select to suppress the first topic$/) do - on(FlowPage) do |page| - menu = page.topic_actions_link_element - option = page.topic_suppress_button_element - page.select_menu_option menu, option - end -end - -When(/^I suppress the first topic with reason "(.*?)"$/) do |reason| - step 'I select to suppress the first topic' - step 'I see a dialog box' - step "I type \"#{reason}\" in the dialog box" - step 'I click Suppress topic' - step 'the top post should be marked as suppressed' -end - -When(/^I suppress the first topic$/) do - step "I suppress the first topic with reason \"no reason given\"" -end - -Then(/^the top post should be marked as suppressed$/) do - expect(on(FlowPage).flow_first_topic_moderation_msg_element.when_present.text).to match("This topic has been suppressed") -end diff --git a/tests/browser/features/step_definitions/thank_steps.rb b/tests/browser/features/step_definitions/thank_steps.rb deleted file mode 100644 index fc537b0..0000000 --- a/tests/browser/features/step_definitions/thank_steps.rb +++ /dev/null @@ -1,28 +0,0 @@ -Given(/^the "(.*?)" page has a new unmoderated topic created by me$/) do |title| - api.action('flow', submodule: 'new-topic', page: title, nttopic: 'Thank me please!', ntcontent: 'Hello') -end - -Given(/^the most recent topic on "(.*?)" is written by another user$/) do |title| - as_user(:b) do - api.action('flow', submodule: 'new-topic', page: title, nttopic: 'Thank me please!', ntcontent: 'Hello') - end -end - -When(/^I click on the Thank button$/) do - on(FlowPage).thank_button_element.click -end - -When(/^I see a Thank button$/) do - on(FlowPage).thank_button_element.when_present -end - -Then(/^I should not see a Thank button$/) do - expect(on(FlowPage).thank_button_element).not_to be_visible -end - -Then(/^I should see the Thank button be replaced with Thanked button$/) do - on(FlowPage) do |page| - expect(page.thanked_button_element.when_present).to be_visible - expect(page.thank_button_element).not_to be_visible - end -end diff --git a/tests/browser/features/step_definitions/undo_actions.rb b/tests/browser/features/step_definitions/undo_actions.rb deleted file mode 100644 index 95bc7cb..0000000 --- a/tests/browser/features/step_definitions/undo_actions.rb +++ /dev/null @@ -1,79 +0,0 @@ -Given(/^I am on a Flow board "(.+)"$/) do |board_title| - visit(NewFlowPage, using_params: { pagetitle: board_title }) -end - -Given(/^I am on a new Flow board with description "(.*?)"$/) do |content| - @board_title = @data_manager.get 'Board_for_undo_actions' - api.action('flow', - submodule: 'edit-header', - page: 'Flow_test_talk:New_page_' + @board_title, - ehcontent: content, - ehformat: 'wikitext') - visit(NewFlowPage, using_params: { pagetitle: @board_title }) -end - -Given(/^I am on a new Flow board with topic content \"(.*?)\"$/) do |content| - @board_title = @data_manager.get 'Board_for_undo_actions' - topic_title = @data_manager.get 'Title_for_undo_actions' - api.action('flow', - submodule: 'new-topic', - page: 'Flow_test_talk:New_page_' + @board_title, - nttopic: topic_title, - ntcontent: content) - step "I am on a Flow board \"#{@board_title}\"" - on(NewFlowPage) do |page| - page.refresh_until { page.topic_with_title(topic_title) } - end -end - -When(/^I visit the new board history page$/) do - visit(BoardHistoryPage, using_params: { pagetitle: 'Flow_test_talk:New_page_' + @board_title }) - on(BoardHistoryPage).flow_board_history_element.when_present -end - -Given(/^I edit the topic with \"(.*?)\"$/) do |content| - step "I select Edit post" - step "I edit the post field with \"#{content}\"" - step "I save the new post" -end - -When(/^I click undo$/) do - on(TopicHistoryPage) do |page| - page.undo_link_element.when_present.click - end -end - -When(/^I am on a Flow page$/) do - on(AbstractFlowPage) do |page| - page.description.content_element.when_present - end -end - -When(/^I am on a Flow diff page$/) do - on(FlowDiffPage) do |page| - page.editor_element.when_present - end -end - -When(/^I undo the latest action$/) do - step "I click undo" - step "I am on a Flow diff page" - step "I save the undo post" -end - -When(/^I am on a Flow topic page$/) do - on(AbstractFlowPage) do |page| - page.flow_first_topic_element.when_present - end -end - -When(/^I save the undo post/) do - on(FlowDiffPage) do |page| - page.undo_post_save_element.when_present.click - page.undo_post_save_element.when_not_present - end -end - -Then(/^the saved undo post should contain "(.+)"$/) do |undo_text| - expect(on(FlowPage).flow_first_topic_body_element.when_present.text).to match(undo_text) -end diff --git a/tests/browser/features/step_definitions/watch_steps.rb b/tests/browser/features/step_definitions/watch_steps.rb deleted file mode 100644 index 3669fc7..0000000 --- a/tests/browser/features/step_definitions/watch_steps.rb +++ /dev/null @@ -1,62 +0,0 @@ -Given(/^I am not watching the Flow board$/) do - on(FlowPage) do |page| - page.board_unwatch_link_element.when_present.click unless page.board_watch_link_element.visible? - end -end - -Given(/^I am not watching the Flow topic$/) do - on(FlowPage).first_topic_unwatch_link_element.when_present.click -end - -Given(/^I am watching the Flow topic$/) do - on(FlowPage).first_topic_unwatch_link_element.when_present -end - -Given(/^I am watching the Flow board$/) do - on(FlowPage) do |page| - page.board_watch_link_element.when_present.click unless page.board_unwatch_link_element.visible? - end -end - -When(/^I click the Unwatch Board link$/) do - on(FlowPage).board_unwatch_link_element.when_present.click -end - -When(/^I click the Unwatch Topic link$/) do - on(FlowPage).first_topic_unwatch_link_element.when_present.click -end - -When(/^I click the Watch Board link$/) do - on(FlowPage).board_watch_link_element.when_present.click -end - -When(/^I click the Watch Topic link$/) do - on(FlowPage).first_topic_watch_link_element.when_present.click -end - -Then(/^I should see the Unwatch Topic link$/) do - expect(on(FlowPage).first_topic_unwatch_link_element.when_present).to be_visible -end - -Then(/^I should not see any watch links$/) do - on(FlowPage) do |page| - expect(page.board_watch_link_element).not_to be_visible - expect(page.first_topic_watch_link_element).not_to be_visible - end -end - -Then(/^I should see the Unwatch Board link$/) do - on(FlowPage) do |page| - page.board_unwatch_link_element.when_present - end -end - -Then(/^I should see the Watch Board link$/) do - expect(on(FlowPage).board_watch_link_element.when_present).to be_visible -end - -Then(/^I should see the Watch Topic link$/) do - on(FlowPage) do |page| - page.first_topic_watch_link_element.when_present - end -end diff --git a/tests/browser/features/summarize.feature b/tests/browser/features/summarize.feature deleted file mode 100644 index eaa93d7..0000000 --- a/tests/browser/features/summarize.feature +++ /dev/null @@ -1,13 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Summarize - - Background: - Given there is a new topic - And I am logged in - And I am on Flow page - - Scenario: Summarize a topic - When I summarize the first topic as "first summary version" - Then the first topic is summarized as "first summary version" - When I re-summarize the first topic as "second summary version" - Then the first topic is summarized as "second summary version" diff --git a/tests/browser/features/support/components/board_description.rb b/tests/browser/features/support/components/board_description.rb deleted file mode 100644 index e56b6f3..0000000 --- a/tests/browser/features/support/components/board_description.rb +++ /dev/null @@ -1,31 +0,0 @@ -require_relative 'flow_editor' - -class BoardDescription - include PageObject - include FlowEditor - - # board description - a(:edit, text: "Edit description") - div(:content, class: 'flow-ui-boardDescriptionWidget-content') - - a(:toggle, class: "side-rail-toggle-button") - - div(:editor_widget, class: 'flow-ui-boardDescriptionWidget-editor') - div(:categories, class: 'flow-ui-categoriesWidget') - - def editor_element - visualeditor_or_textarea editor_widget_element - end - - def category_item(itemName) - categories_element.link_element(text: itemName) - end - - link(:save, text: /Save description.*/) - - # If page has an archive template from a flow conversion - # find the link - link(:archive_link) do - content_element.link_element(text: /Archive/) - end -end diff --git a/tests/browser/features/support/components/flow_editor.rb b/tests/browser/features/support/components/flow_editor.rb deleted file mode 100644 index 54edeef..0000000 --- a/tests/browser/features/support/components/flow_editor.rb +++ /dev/null @@ -1,11 +0,0 @@ -module FlowEditor - def visualeditor_or_textarea(form) - parent = form.is_a?(String) ? form_element(css: form) : form - parent.when_present - if parent.div_element(class: 'flow-ui-wikitextEditorWidget').exists? - parent.div_element(class: 'flow-ui-wikitextEditorWidget').text_area_element.when_enabled - else - parent.div_element(class: 've-ce-documentNode') - end - end -end diff --git a/tests/browser/features/support/data_manager.rb b/tests/browser/features/support/data_manager.rb deleted file mode 100644 index 1cbbdf4..0000000 --- a/tests/browser/features/support/data_manager.rb +++ /dev/null @@ -1,14 +0,0 @@ -class DataManager - def initialize - @data = {} - end - - def get(part) - @data[part] = "#{part}_#{Random.srand}" unless @data.key? part - @data[part] - end - - def get_talk(part) - get "Talk:#{part}" - end -end diff --git a/tests/browser/features/support/env.rb b/tests/browser/features/support/env.rb deleted file mode 100644 index 18ce345..0000000 --- a/tests/browser/features/support/env.rb +++ /dev/null @@ -1,14 +0,0 @@ -require 'mediawiki_selenium' - -require 'mediawiki_selenium/cucumber' -require 'mediawiki_selenium/pages' -require 'mediawiki_selenium/step_definitions' - -require_relative 'extensions' - -def env_or_default(key, default) - ENV[key].nil? ? default : ENV[key].to_i -end - -PageObject.default_page_wait = env_or_default 'PAGE_WAIT_TIMEOUT', 10 -PageObject.default_element_wait = env_or_default 'ELEMENT_WAIT_TIMEOUT', 30 diff --git a/tests/browser/features/support/extensions.rb b/tests/browser/features/support/extensions.rb deleted file mode 100644 index 10ef890..0000000 --- a/tests/browser/features/support/extensions.rb +++ /dev/null @@ -1,48 +0,0 @@ -require "watir/wait" - -module Watir - class Div - def clear - send_keys [:command, 'a'], :backspace - send_keys [:control, 'a'], :backspace - end - end - - class TextArea - def enabled? - !disabled? - end - - def text - value - end - end -end - -module PageObject - def refresh_until(timeout = PageObject.default_page_wait, message = nil) - platform.wait_until(timeout, message) do - yield.tap do |result| - refresh unless result - end - end - end -end - -module PageObject - module Elements - class TextArea - def when_enabled - wait_until { enabled? } - self - end - end - - class TextField - def when_enabled - wait_until { enabled? } - self - end - end - end -end diff --git a/tests/browser/features/support/hooks.rb b/tests/browser/features/support/hooks.rb deleted file mode 100644 index 2d9756d..0000000 --- a/tests/browser/features/support/hooks.rb +++ /dev/null @@ -1,6 +0,0 @@ -# Allow running of bundle exec cucumber --dry-run -f stepdefs -require "mediawiki_selenium" -require 'page-object' -require_relative 'data_manager' - -Before { @data_manager = DataManager.new } diff --git a/tests/browser/features/support/pages/abstract_flow_page.rb b/tests/browser/features/support/pages/abstract_flow_page.rb deleted file mode 100644 index f1d9fd8..0000000 --- a/tests/browser/features/support/pages/abstract_flow_page.rb +++ /dev/null @@ -1,336 +0,0 @@ -class AbstractFlowPage - include PageObject - include FlowEditor - - page_section(:description, BoardDescription, class: 'flow-board-header') - - def select_menu_option(menu, option) - menu.when_present.click - wait_until { option.exists? } - option.scroll_into_view - menu.when_present.click - option.when_present.click - end - - a(:logout, css: "#pt-logout a") - - # board component - div(:flow_component, class: 'flow-component') - div(:flow_board, class: 'flow-board') - - a(:author_link, css: ".flow-author a", index: 0) - a(:cancel_button, text: "Cancel") - - # XXX (mattflaschen, 2014-06-24): This is broken; there is no - # flow-topic-reply-form anywhere in Flow outside this file. - # Also, this should be named to distinguish between top-level posts and regular replies. - textarea(:comment_field, css: 'form.flow-topic-reply-form > textarea[name="topic_content"]') - button(:comment_reply_save, css: "form.flow-topic-reply-form .flow-reply-submit") - div(:flow_topics, class: "flow-topics") - - # Dialogs - div(:dialog, css: ".flow-ui-modal") - text_field(:dialog_input, name: "topic_reason") - button(:dialog_cancel, css: "a.mw-ui-destructive:nth-child(2)") - button(:dialog_submit_delete, text: "Delete") - button(:dialog_submit_hide, text: "Hide") - button(:dialog_submit_suppress, text: "Suppress") - - # Posts - ## Highlighted post - div(:highlighted_post, css: ".flow-post-highlighted") - - def topic_with_title(title) - h2_element(text: title) - end - - ## First topic - div(:flow_first_topic, css: ".flow-topic", index: 0) - h2(:flow_first_topic_heading, css: ".flow-topic h2", index: 0) - # todo this is poor naming, it's really the first_topic_first_post_content - div(:flow_first_topic_body) do - div_element(class: "flow-topic", index: 0).div_element(class: 'flow-post-content') - end - div(:flow_first_topic_moderation_msg) do |page| - page.flow_first_topic_element.div_element(css: "div.flow-topic-titlebar div.flow-moderated-topic-title") - end - - ## First post with link HTML in topic title - a(:flow_first_topic_main_page_link) do - h2_element(css: ".flow-topic-title", index: 0).link_element(href: %r{/wiki/Main_Page}) - end - - a(:flow_first_topic_red_link) do - h2_element(css: ".flow-topic-title", index: 0).link_element(class: 'new') - end - - div(:flow_first_topic_original_post, css: ".flow-post", index: 0) - a(:flow_first_topic_original_post_edit) do |page| - page.flow_first_topic_original_post_element.link_element(text: "Edit") - end - a(:flow_first_topic_original_post_reply) do |page| - page.flow_first_topic_original_post_element.link_element(text: "Reply") - end - div(:flow_second_topic_heading, css: ".flow-topic", index: 1) - - ### Hover over username behaviour - span(:usertools, css: '.mw-usertoollinks') - a(:usertools_talk_link) do |page| - page.usertools_element.link_element(text: 'talk') - end - a(:usertools_block_user_link) do |page| - page.usertools_element.link_element(text: 'block') - end - - ### First Topic actions menu - - # For topic collapsing testing - # Works around CSS descendant selector problem (https://github.com/cheezy/page-object/issues/222) - div(:first_moderated_topic, css: '.flow-topic.flow-topic-moderated', index: 0) - - div(:first_moderated_topic_titlebar) do |page| - page.first_moderated_topic_element.div_element(css: '.flow-topic-titlebar') - end - - div(:first_moderated_message) do |page| - page.first_moderated_topic_titlebar_element.div_element(css: '.flow-moderated-topic-title') - end - - h2(:first_moderated_topic_title) do |page| - page.first_moderated_topic_titlebar_element.h2_element(class: 'flow-topic-title') - end - - div(:first_moderated_topic_post_content) do |page| - page.first_moderated_topic_element.div_element(class: 'flow-post', index: 0).div_element(class: 'flow-post-main').div_element(class: 'flow-post-content') - end - - # Topic actions menu (all belonging to the first post) - a(:topic_actions_link, css: ".flow-topic .flow-topic-titlebar .flow-menu-js-drop a", index: 0) - ul(:topic_actions_menu, css: ".flow-topic .flow-topic-titlebar .flow-menu ul", index: 0) - a(:topic_hide_button) do |page| - page.topic_actions_menu_element.link_element(text: "Hide topic") - end - a(:topic_history_button) do |page| - page.topic_actions_menu_element.link_element(text: "History") - end - a(:topic_delete_button) do |page| - page.topic_actions_menu_element.link_element(text: "Delete topic") - end - a(:topic_suppress_button) do |page| - page.topic_actions_menu_element.link_element(text: "Suppress topic") - end - a(:permalink_button) do |page| - page.topic_actions_menu_element.link_element(text: "Permalink") - end - a(:edit_title_button) do |page| - page.topic_actions_menu_element.link_element(text: "Edit title") - end - a(:topic_resolve_button) do |page| - page.topic_actions_menu_element.link_element(text: "Mark as resolved") - end - a(:topic_reopen_button) do |page| - page.topic_actions_menu_element.link_element(text: "Reopen topic") - end - a(:topic_summarize_button) do |page| - page.topic_actions_menu_element.link_element(text: "Summarize") - end - a(:topic_edit_summary_button) do |page| - page.topic_actions_menu_element.link_element(text: "Edit the topic summary") - end - - ### Editing title of first topic - text_field(:title_edit, css: ".flow-ui-topicTitleWidget-titleInput input", index: 0) - a(:change_title_save, css: ".flow-ui-topicTitleWidget-saveButton a") - - ### Post meta actions - span(:post_meta_actions, css: ".flow-post .flow-post-meta-actions", index: 0) - a(:thank_button) do |page| - page.post_meta_actions_element.link_element(css: ".mw-thanks-flow-thank-link", index: 0) - end - span(:thanked_button) do |page| - page.post_meta_actions_element.span_element(css: ".mw-thanks-flow-thanked", index: 0) - end - - ### summary of first topic - div(:summary) do |page| - page.flow_first_topic_element.div_element(css: '.flow-topic-summary') - end - div(:summary_content) do |page| - page.summary_element.div_element(css: '.flow-topic-summary-content') - end - link(:skip_summary_button, text: 'Skip summary') - link(:cancel_summary_button) do |page| - page.summary_element.link_element(text: 'Cancel') - end - link(:update_summary_button, text: 'Update summary') - def edit_summary_element - edit_summary_widget = div_element(class: 'flow-ui-editTopicSummaryWidget') - visualeditor_or_textarea edit_summary_widget - end - span(:first_topic_resolved_mark) do |page| - page.flow_first_topic_heading_element.span_element(css: '.mw-ui-icon-check') - end - - ### First post of first topic actions menu - a(:post_actions_link, css: ".flow-topic .flow-post .flow-menu-js-drop a", index: 0) - ul(:post_actions_menu, css: ".flow-topic .flow-post .flow-menu ul", index: 0) - a(:permalink_button) do |page| - page.post_actions_menu_element.link_element(text: "Permalink") - end - a(:hide_button) do |page| - page.post_actions_menu_element.link_element(text: "Hide") - end - a(:delete_button) do |page| - page.post_actions_menu_element.link_element(text: "Delete") - end - a(:suppress_button) do |page| - page.post_actions_menu_element.link_element(text: "Suppress") - end - a(:edit_post_button) do |page| - page.post_actions_menu_element.link_element(text: "Edit") - end - - ### Replies to top post - #### 1st reply - # @todo: This is broken. It should be clearly possible to distinguish between the top reply and - # the top post. There is an element .flow-replies which appears to be empty. - div(:first_reply, css: '.flow-post', index: 1) - div(:first_reply_body) do |page| - page.first_reply_element.div_element(css: '.flow-post-content') - end - - #### 2rd post - div(:second_post, css: '.flow-post', index: 1) - a(:second_post_actions_link, css: ".flow-topic .flow-post .flow-menu-js-drop a", index: 1) - ul(:second_post_actions_menu, css: ".flow-topic .flow-post .flow-menu ul", index: 1) - - a(:actions_link_permalink_second_comment) do |page| - page.second_post_actions_menu_element.link_element(text: "Permalink") - end - - a(:actions_link_hide_second_comment) do |page| - page.second_post_actions_menu_element.link_element(text: "Hide") - end - - div(:second_post_content) do |page| - page.second_post_element.div_element(css: '.flow-post-content', index: 0) - end - div(:second_post_moderation_msg) do |page| - page.second_post_element.span_element(css: '.flow-moderated-post-content', index: 0) - end - - #### 3rd reply - # @todo: Should be index: 2, but sadly no way to distinguish replies from original post - div(:third_reply, css: '.flow-post', index: 3) - div(:third_reply_moderation_msg) do |page| - page.third_reply_element.span_element(css: '.flow-moderated-post-content', index: 0) - end - div(:third_reply_content) do |page| - page.third_reply_element.div_element(css: '.flow-post-content', index: 0) - end - - a(:third_post_actions_link, css: ".flow-topic .flow-post .flow-menu-js-drop a", index: 3) - ul(:third_post_actions_menu, css: ".flow-topic .flow-post .flow-menu ul", index: 3) - a(:actions_link_permalink_3rd_comment) do |page| - page.third_post_actions_menu_element.link_element(text: "Permalink") - end - a(:actions_link_hide_3rd_comment) do |page| - page.third_post_actions_menu_element.link_element(text: "Hide") - end - - # New topic creation - a(:new_topic_link, text: "Start a new topic") - form(:new_topic_form, css: ".flow-newtopic-form") - text_field(:new_topic_title, css: ".flow-ui-newTopicWidget-title > input") - - div(:new_topic_widget, class: 'flow-ui-newTopicWidget') - def new_topic_body_element - visualeditor_or_textarea new_topic_widget_element - end - - link(:new_topic_cancel) do - new_topic_widget_element.link_element(text: 'Cancel') - end - - link(:new_topic_save) do - new_topic_widget_element.link_element(text: /Add topic.*/) - end - - # Replying - # TODO (mattflaschen, 2014-06-24): Should distinguish between - # top-level replies to the topic, and replies to regular posts - form(:new_reply_form, css: ".flow-reply-form") - - div(:first_reply_widget) do - flow_first_topic_element.div_element(class: 'flow-ui-replyWidget') - end - - div(:first_reply_placeholder) do - first_reply_widget_element.text_field_element - end - - def new_reply_editor_element - visualeditor_or_textarea first_reply_widget_element - end - - link(:new_reply_cancel) do - first_reply_widget_element.link_element(text: 'Cancel') - end - link(:new_reply_save) do - first_reply_widget_element.link_element(text: /Reply.*/) - end - - button(:keep_editing, text: "Keep editing") - - # Editing post workflow - - div(:edit_post_widget, class: 'flow-ui-editPostWidget') - def post_edit_element - visualeditor_or_textarea edit_post_widget_element - end - - button(:change_post_save) do - edit_post_widget_element.link_element(text: 'Save changes') - end - - div(:small_spinner, class: "mw-spinner mw-spinner-small mw-spinner-inline") - - # No javascript elements - button(:no_javascript_add_topic, text: "Add topic") - div(:no_javascript_page_content_body, class: "flow-post-content") - div(:no_javascript_page_content_title, class: "flow-topic-titlebar") - div(:no_javascript_page_flow_topics, class: "flow-topics") - button(:no_javascript_reply, text: "Reply") - textarea(:no_javascript_reply_form, name: "topic_content") - a(:no_javascript_start_reply, href: /action=reply/) - a(:no_javascript_start_topic, href: /action=new-topic/) - textarea(:no_javascript_topic_body_text, name: "topiclist_content") - text_field(:no_javascript_topic_title_text, name: "topiclist_topic") - - # Sorting - div(:sorting, class: 'flow-ui-reorderTopicsWidget') - link(:newest_topics_link, text: "Newest topics") - link(:recently_active_topics_link, text: "Recently active topics") - span(:newest_topics_choice, text: "Newest topics") - span(:recently_active_topics_choice, text: "Recently active topics") - - ## Watch and unwatch links - div(:first_topic_watchlist_container, css: ".flow-topic-watchlist", index: 0) - a(:first_topic_watch_link) do |page| - page.first_topic_watchlist_container_element.link_element(css: ".flow-watch-link-watch") - end - a(:first_topic_unwatch_link) do |page| - page.first_topic_watchlist_container_element.link_element(css: ".flow-watch-link-unwatch") - end - - a(:board_unwatch_link, css: '#ca-unwatch a') - a(:board_watch_link, css: '#ca-watch a') - - # undo suppression - button(:undo_suppression_button, text: "Undo") - - # history - a(:view_history, text: 'View history') - - div(:overlay, class: 'flow-ui-load-overlay') -end diff --git a/tests/browser/features/support/pages/board_history_page.rb b/tests/browser/features/support/pages/board_history_page.rb deleted file mode 100644 index 0cbcbd3..0000000 --- a/tests/browser/features/support/pages/board_history_page.rb +++ /dev/null @@ -1,13 +0,0 @@ -class BoardHistoryPage - include PageObject - - page_url "./<%=params[:pagetitle] ? params[:pagetitle] + '?action=history' : 'Talk:Flow_QA?action=history' %>" - - div(:flow_board_history, class: 'flow-board-history') - - ul(:flow_board_history_moderation, class: 'flow-history-moderation-menu') - - link(:undo_link) do - flow_board_history_moderation_element.link_element(text: /undo/) - end -end diff --git a/tests/browser/features/support/pages/flow_component.rb b/tests/browser/features/support/pages/flow_component.rb deleted file mode 100644 index ac46bc4..0000000 --- a/tests/browser/features/support/pages/flow_component.rb +++ /dev/null @@ -1,6 +0,0 @@ -class FlowComponent - include PageObject - - div(:board, class: 'flow-board') - div(:header, class: 'flow-ui-boardDescriptionWidget-content') -end diff --git a/tests/browser/features/support/pages/flow_diff_page.rb b/tests/browser/features/support/pages/flow_diff_page.rb deleted file mode 100644 index cfb36d2..0000000 --- a/tests/browser/features/support/pages/flow_diff_page.rb +++ /dev/null @@ -1,14 +0,0 @@ -class FlowDiffPage - include PageObject - include FlowEditor - - div(:editor_widget, class: 'flow-ui-editorWidget') - - def editor_element - visualeditor_or_textarea editor_widget_element - end - - button(:undo_post_save) do - editor_widget_element.link_element(css: '.flow-ui-editorControlsWidget-saveButton a') - end -end diff --git a/tests/browser/features/support/pages/flow_old_permalink_page.rb b/tests/browser/features/support/pages/flow_old_permalink_page.rb deleted file mode 100644 index c689799..0000000 --- a/tests/browser/features/support/pages/flow_old_permalink_page.rb +++ /dev/null @@ -1,5 +0,0 @@ -class FlowOldPermalinkPage - include PageObject - - page_url "Talk:Flow_QA?workflow=<%=params[:workflow_id]%>" -end diff --git a/tests/browser/features/support/pages/flow_page.rb b/tests/browser/features/support/pages/flow_page.rb deleted file mode 100644 index 33b9476..0000000 --- a/tests/browser/features/support/pages/flow_page.rb +++ /dev/null @@ -1,4 +0,0 @@ -class FlowPage < AbstractFlowPage - page_url 'Talk:Flow_QA' - # MEDIAWIKI_URL must have this page as Flow. -end diff --git a/tests/browser/features/support/pages/new_flow_page.rb b/tests/browser/features/support/pages/new_flow_page.rb deleted file mode 100644 index 0582e6b..0000000 --- a/tests/browser/features/support/pages/new_flow_page.rb +++ /dev/null @@ -1,7 +0,0 @@ - -class NewFlowPage < AbstractFlowPage - include PageObject - - # MEDIAWIKI_URL must have Flow_test_talk as Flow in $wgNamespaceContentModels. - page_url "./Flow_test_talk:New_page_<%= params[:pagetitle] ? params[:pagetitle] : Random.srand.to_s %>" -end diff --git a/tests/browser/features/support/pages/preloaded_flow_page.rb b/tests/browser/features/support/pages/preloaded_flow_page.rb deleted file mode 100644 index 7a746a6..0000000 --- a/tests/browser/features/support/pages/preloaded_flow_page.rb +++ /dev/null @@ -1,5 +0,0 @@ -class PreloadedFlowPage - include PageObject - - page_url "Talk:Flow_QA?topiclist_preloadtitle=<%= params[:topiclist_preloadtitle] %>&topiclist_preload=<%= params[:topiclist_preload] %>" -end diff --git a/tests/browser/features/support/pages/recent_changes_page.rb b/tests/browser/features/support/pages/recent_changes_page.rb deleted file mode 100644 index 7e0a7aa..0000000 --- a/tests/browser/features/support/pages/recent_changes_page.rb +++ /dev/null @@ -1,7 +0,0 @@ -class RecentChangesPage - include PageObject - - page_url 'Special:RecentChanges' - - div(:recent_changes, class: 'mw-changeslist') -end diff --git a/tests/browser/features/support/pages/special_enable_flow_archive_page.rb b/tests/browser/features/support/pages/special_enable_flow_archive_page.rb deleted file mode 100644 index 80cf305..0000000 --- a/tests/browser/features/support/pages/special_enable_flow_archive_page.rb +++ /dev/null @@ -1,4 +0,0 @@ -class SpecialConversionFlowArchivePage - include PageObject - paragraph(:content, class: 'flow-test-archive-content') -end diff --git a/tests/browser/features/support/pages/special_enable_flow_confirmation_page.rb b/tests/browser/features/support/pages/special_enable_flow_confirmation_page.rb deleted file mode 100644 index 8434fd6..0000000 --- a/tests/browser/features/support/pages/special_enable_flow_confirmation_page.rb +++ /dev/null @@ -1,8 +0,0 @@ -class EnableFlowConfirmationPage - include PageObject - - div(:content_div, id: 'mw-content-text') - def new_board_link - content_div_element.link_element - end -end diff --git a/tests/browser/features/support/pages/special_enable_flow_page.rb b/tests/browser/features/support/pages/special_enable_flow_page.rb deleted file mode 100644 index 4bfcc6d..0000000 --- a/tests/browser/features/support/pages/special_enable_flow_page.rb +++ /dev/null @@ -1,22 +0,0 @@ -class EnableFlowPage - include PageObject - - page_url 'Special:EnableFlow' - - # form elements - div(:page_name_div, id: 'mw-input-wppage') - div(:page_header_div, id: 'mw-input-wpheader') - div(:submit_button_div, class: 'oo-ui-buttonElement') - - text_field(:page_name) do - page_name_div_element.text_field_element - end - - text_area(:page_header) do - page_header_div_element.text_area_element - end - - button(:submit) do - submit_button_div_element.button_element - end -end diff --git a/tests/browser/features/support/pages/special_notifications_page.rb b/tests/browser/features/support/pages/special_notifications_page.rb deleted file mode 100644 index c477d25..0000000 --- a/tests/browser/features/support/pages/special_notifications_page.rb +++ /dev/null @@ -1,7 +0,0 @@ -class SpecialNotificationsPage - include PageObject - - page_url "Special:Notifications" - - div(:first_notification, class: 'mw-echo-ui-notificationItemWidget', index: 0) -end diff --git a/tests/browser/features/support/pages/special_preferences_page.rb b/tests/browser/features/support/pages/special_preferences_page.rb deleted file mode 100644 index 928bbcc..0000000 --- a/tests/browser/features/support/pages/special_preferences_page.rb +++ /dev/null @@ -1,13 +0,0 @@ -class SpecialPreferencesPage - include PageObject - - page_url "Special:Preferences" - - link(:beta_features, id: 'preftab-betafeatures') - - checkbox(:flow_beta_feature, name: 'wpbeta-feature-flow-user-talk-page') - - button(:save_preferences, id: 'prefcontrol') - - div(:confirmation, text: 'Your preferences have been saved.') -end diff --git a/tests/browser/features/support/pages/topic_history_page.rb b/tests/browser/features/support/pages/topic_history_page.rb deleted file mode 100644 index c1b18a3..0000000 --- a/tests/browser/features/support/pages/topic_history_page.rb +++ /dev/null @@ -1,11 +0,0 @@ -class TopicHistoryPage - include PageObject - - div(:flow_topic_history, class: 'flow-topic-histories') - - ul(:flow_history_moderation, class: 'flow-history-moderation-menu') - - link(:undo_link) do - flow_history_moderation_element.link_element(text: /undo/) - end -end diff --git a/tests/browser/features/support/pages/user_page.rb b/tests/browser/features/support/pages/user_page.rb deleted file mode 100644 index 6a2ecec..0000000 --- a/tests/browser/features/support/pages/user_page.rb +++ /dev/null @@ -1,5 +0,0 @@ -class UserPage - include PageObject - - h1(:first_heading, id: "firstHeading") -end diff --git a/tests/browser/features/support/pages/user_talk_page.rb b/tests/browser/features/support/pages/user_talk_page.rb deleted file mode 100644 index 7ea50e1..0000000 --- a/tests/browser/features/support/pages/user_talk_page.rb +++ /dev/null @@ -1,7 +0,0 @@ -require_relative 'wiki_page' - -class UserTalkPage < WikiPage - include PageObject - - page_url "./User_talk:<%= params[:username]%>" -end diff --git a/tests/browser/features/support/pages/wiki_page.rb b/tests/browser/features/support/pages/wiki_page.rb deleted file mode 100644 index 42817fb..0000000 --- a/tests/browser/features/support/pages/wiki_page.rb +++ /dev/null @@ -1,9 +0,0 @@ -class WikiPage - include PageObject - - page_url "<%=params[:page]%>" - - a(:logout, css: "#pt-logout a") - div(:content, id: 'mw-content-text') - page_section(:flow, FlowComponent, class: 'flow-component') -end diff --git a/tests/browser/features/suppress.feature b/tests/browser/features/suppress.feature deleted file mode 100644 index 23310a2..0000000 --- a/tests/browser/features/suppress.feature +++ /dev/null @@ -1,80 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Suppress - - Assumes Flow is enabled on Talk:Flow_QA - - Background: - Given I am logged in - - Scenario: Suppressing a topic - Given there is a new topic with title "suppress-topic" - And I am on Flow page - When I suppress the first topic with reason "I suppress you" - Then the top post should be marked as suppressed - - Scenario: Restoring a topic - Given there is a new topic with title "suppress-restore-topic" - And I am on Flow page - When I suppress the first topic with reason "I suppress you temporarily" - And I undo the suppression - Then I see the topic "suppress-restore-topic" on the board - And everybody sees the topic "suppress-restore-topic" on the board - - Scenario: A suppressed topic is not in board history - Given there is a new topic with title "suppress-not-in-history" - And I am on Flow page - And I suppress the first topic - When I visit the board history page - Then I see the following entries in board history - |action |topic | - |suppressed the topic|suppress-not-in-history| - And I do not see the following entries in board history - |action |topic | - |commented on |suppress-not-in-history| - When I log out - And I visit the board history page - Then I do not see the following entries in board history - |action |topic | - |suppressed the topic|suppress-not-in-history| - |commented on |suppress-not-in-history| - - Scenario: A suppressed and restored topic is in board history - Given there is a new topic with title "suppress-restore-in-history" - And I am on Flow page - And I have suppressed and restored the first topic - When I visit the board history page - Then I see the following entries in board history - |action |topic | - |restored the topic |suppress-restore-in-history| - |suppressed the topic|suppress-restore-in-history| - |commented on |suppress-restore-in-history| - When I log out - And I visit the board history page - Then I see the following entries in board history - |action |topic | - |commented on |suppress-restore-in-history| - Then I do not see the following entries in board history - |action |topic | - |restored the topic |suppress-restore-in-history| - |suppressed the topic|suppress-restore-in-history| - - Scenario: A suppressed and restored topic is in topic history - Given there is a new topic with title "suppress-restore-in-history" - And I am on Flow page - And I have suppressed and restored the first topic - When I visit the topic history page - Then I see the following entries in topic history - |action |topic | - |restored the topic |suppress-restore-in-history| - |suppressed the topic|suppress-restore-in-history| - |commented on |suppress-restore-in-history| - When I log out - And I am on Flow page - And I visit the topic history page - Then I see the following entries in topic history - |action |topic | - |commented on |suppress-restore-in-history| - Then I do not see the following entries in topic history - |action |topic | - |restored the topic |suppress-restore-in-history| - |suppressed the topic|suppress-restore-in-history| diff --git a/tests/browser/features/thank.feature b/tests/browser/features/thank.feature deleted file mode 100644 index 8440433..0000000 --- a/tests/browser/features/thank.feature +++ /dev/null @@ -1,20 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Thank author of a Flow post - - Scenario: Anon does not see Thank button - Given there is a new topic - When I am on Flow page - Then I should not see a Thank button - - Scenario: Thank the user - Given I am logged in - And the most recent topic on "Talk:Flow QA" is written by another user - And I am on Flow page - When I click on the Thank button - Then I should see the Thank button be replaced with Thanked button - - Scenario: I cannot thank my own post - Given there is a new topic created by me - And I am logged in - When I am on Flow page - Then I should not see a Thank button diff --git a/tests/browser/features/undo.feature b/tests/browser/features/undo.feature deleted file mode 100644 index 05366c6..0000000 --- a/tests/browser/features/undo.feature +++ /dev/null @@ -1,21 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Undoing edits - - Background: - Given I am logged in - - Scenario: Undo an edit to a post - Given I am on a new Flow board with topic content "This is the original content" - And I edit the topic with "This is the edited content" - When I visit the topic history page - And I undo the latest action - Then I am on a Flow topic page - And the saved undo post should contain "This is the original content" - - Scenario: Undo an edit to the description - Given I am on a new Flow board with description "This is the original content" - And I set the description to "This is the edited content" - And I visit the new board history page - When I undo the latest action - Then I am on a Flow page - And the description should be "This is the original content" diff --git a/tests/browser/features/watch.feature b/tests/browser/features/watch.feature deleted file mode 100644 index d8d9e58..0000000 --- a/tests/browser/features/watch.feature +++ /dev/null @@ -1,37 +0,0 @@ -@chrome @en.wikipedia.beta.wmflabs.org @firefox @skip -Feature: Watching/Unwatching Boards and Topics - - Background: - Given there is a new topic - - Scenario: Watch topic - Given I am logged in - And I am on Flow page - And I am not watching the Flow topic - When I click the Watch Topic link - Then I should see the Unwatch Topic link - - Scenario: Unwatch topic - Given I am logged in - And I am on Flow page - And I am watching the Flow topic - When I click the Unwatch Topic link - Then I should see the Watch Topic link - - Scenario: Watch board - Given I am logged in - And I am on Flow page - And I am not watching the Flow board - When I click the Watch Board link - Then I should see the Unwatch Board link - - Scenario: Unwatch board - Given I am logged in - And I am on Flow page - And I am watching the Flow board - When I click the Unwatch Board link - Then I should see the Watch Board link - - Scenario: No watch links for anonymous users - When I am on Flow page - Then I should not see any watch links -- To view, visit https://gerrit.wikimedia.org/r/393917 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I236fc83557290323c5168ec1292084624be64f56 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Flow Gerrit-Branch: master Gerrit-Owner: Jforrester <jforres...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits