While working on T160238,Our browser tests for MobileFrontend were broken and disabled. I propose we split into groups for maximum effectiveness.
This task deals with restoring them in the MobileFrontend extension.
* Feature: Special:Contributions
** Scenario: Check components in diff summary # tests/browser/features/special_contributions.feature:8
** Scenario: Check components in diff summary #
tests/browser/features/special_contributions.feature:12
* Feature: Special:History (Note test may take a long time to run on first run)
** Scenario: Check components in diff summary # tests/browser/features/special_history.feature:10
** Scenario: Check components in diff summary # tests/browser/features/special_history.feature:14
* Feature: Basic history page for legacy devices
** Scenario: Check more button exists # tests/browser/features/special_history_nojs.feature:12
* Feature: Manage Watchlist
** Scenario: Switching to Feed view # tests/browser/features/special_watchlist.feature:9
** Scenario: Switching to List view # tests/browser/features/special_watchlist.feature:16
* Feature: Editor watchlist
** Scenario: Default view for seasoned editors is the feed view # tests/browser/features/special_watchlist_editors.feature:10
* Feature: Manage Watchlist
** Scenario: Empty Watchlist on list view # tests/browser/features/special_watchlist_newuser.feature:9
** Scenario: Empty Watchlist on feed view # tests/browser/features/special_watchlist_newuser.feature:12
* Feature: Switch between mobile and desktop views
** Scenario: Switching from desktop view to mobile view # tests/browser/features/switch_views.feature:5
** Scenario: Switching from mobile view to desktop view # tests/browser/features/switch_views.feature:11
** Scenario: Bug: T129600 # tests/browser/features/switch_views.feature:18
== Notes
1. ~~The `mw-wdio-nodepool` builder replaces the `mwext-ruby-jessie` builder in [[ https://github.com/wikimedia/integration-config/blob/49e7ef9f9442ace863fab786a9fbcd9bcf93e032/zuul/layout.yaml#L3679 | integration-config/zuul/layout.yaml ]], which will make `check experimental` run the new WebdriverIO-based tests.~~
- This was done by @zeljkofilipin in {b5b1dc2c580a465a3fd81f0dda6144dcb1e8f5f7} ❤️❤️❤️ It was the `mediawiki-core-qunit-selenium-jessie` builder apparently…
2. Put your new tests in the `tests/selenium/`, following [[ https://github.com/wikimedia/mediawiki-extensions-RelatedArticles/tree/f4708684af88f1d5a4e28353d28e4837c46b10cc/tests/selenium | the example structure in RelatedArticles ]].
= Acceptance criteria
[x] Add new job selenium-daily-beta-MobileFrontend
[] new job selenium-daily-beta-MobileFrontend should be green and passing
[] All tests should run starting from the desktop domain (T130429). This has caused issues historically and should be avoided when rewriting them.
[] Rewrite browser tests for the 2 extensionand enable the browser tests in athe new selenium folder:
[] When tests are passing, switch to new jobspecial_contributions.feature is passing
[] Delete the tests/browser folderspecial_watchlist.feature is passing
[] While working on this, do an audit as originally proposed in T148973 of what we are testing. Remove unnecessary tests and document missing tests. At the end, [[ https://www.mediawiki.org/wiki/Reading/Web/Browser_test_coverage | summarise the browser test for each extension. ]]
= Sign off notesuser_page.feature is passing
[] special_history.feature is passing
[] special_watchlist_editors.feature is passing
[] special_history_nojs.feature is passing
[] special_watchlist_newuser.feature is passing
[] switch_views.feature is passing
[] Disable the Ruby job in integration/config for daily builds and for commits
[] When Ruby job disabled delete the tests/browser folder and associated artifacts
[] While working on this, do an audit as originally proposed in T148973 of what we are testing. Remove unnecessary tests and document missing tests. At the end, The setup of the daily builds will come afterwards (see T171847)[[ https://www.mediawiki.org/wiki/Reading/Web/Browser_test_coverage | summarise the browser test for each extension. Create a task to do this for the extension (or if you are tech lead make that happen).]]
= Gerrit
🏝 [[ https://gerrit.wikimedia.org/r/c/mediawiki/extensions/MobileFrontend/+/392026 | 392026 ]] (mediawiki/extensions/MobileFrontend): WIP: Rewrite MobileFronted Ruby tests to NodeJS