mirror of
https://gerrit.wikimedia.org/r/mediawiki/skins/MinervaNeue
synced 2024-11-17 11:13:34 +00:00
2d579183c9
Following up on Jon's POC, this will get rid of the talk board component in favor of linking to the server rendered talk page. Additional Changes: * Cleaned up talk selenium tests. Removed talk_steps.rb which doesn't appear to be used anymore. * Changed talk add button classes to a single class * Moved "Add discussion" button to postheadinghtml per design mock * Added "...talk-explained", "...talk-explained-empty" messages to postheadinghtml per design mock * Due to undesirable jumps in window scroll caused by the section anchor & Toggler.js code when opening the TalkSectionOverlay (read fixme in code), a Promise is always returned from OverlayManager route to reset the scroll position to the top when the section overlay is opened. * Moved "mobile-frontend-talk-fullpage", "mobile-frontend-talk-reply-success", "mobile-frontend-talk-topic-feedback", "mobile-frontend-talk-explained" "mobile-frontend-talk-explained-empty" messages to minerva as minerva is the one who initiates those messages now. * Limited $talk selector to only `.talk` elements since amc talk tab does not need to be targeted * After saving a reply from TalkSectionOverlay, the DOM that is not part of the overlay becomes out of sync since a new reply was created. To get around this, an `onSaveComplete` callback was passed (similar to the TalkSectionAddOverlay) to execute a full page refresh. Although this is clunky, it is the easiest way to resync. Bug: T230695 Depends-On: I80201394fd7015db6700446142b0b4b20829f12e Change-Id: I243f1193bce0da9fa710fc3b5379f90b2d079680 |
||
---|---|---|
.. | ||
features | ||
ci.yml | ||
environments.yml | ||
LocalSettings.php | ||
README.mediawiki |
= Git history = Browser tests were migrated here from MobileFrontend. For any git history prior to the migration, please review the git history of MobileFrontend (see https://gerrit.wikimedia.org/r/364325). = Setup = Include the LocalSettings.php in this folder into your MediaWiki LocalSettings.php. Note including this in a production instance is not advised given it fiddles with permissions. <pre> include_once "$IP/skins/MinervaNeue/tests/browser/LocalSettings.php"; </pre> Further tweaks may be necessary to run tests that are not tagged @integration: * Ensure you have [//www.mediawiki.org/wiki/Extension:ConfirmEdit Extension:ConfirmEdit] installed ** and setup with FancyCaptcha * The VisualEditor, Cite, and Echo extensions should be installed to run the full suite of tests * Create an account Selenium_newuser which has an edit count of 0 * Create an account and store the username in MEDIAWIKI_USER which has ** an edit count of greater than 0 ** Ensure user has bureaucrat and admin rights (set via Special:UserRights) ==== Selenium tests ==== To run the Selenium tests you will have to install Ruby (for the exact version see Gemfile), the latest versions of RubyGems and Firefox. The easiest way to install Ruby on *nix is RVM (https://rvm.io/) and on Windows RubyInstaller (http://rubyinstaller.org/). Open terminal in tests/browser. Update RubyGems and install required gems with: gem update --system gem install bundler bundle install Environment variables MEDIAWIKI_USER and MEDIAWIKI_PASSWORD are required for tests that require a logged in user. For local testing, create a test user on your local wiki and export the user and password as the values for those variables. For example: export MEDIAWIKI_USER=<username here> # Linux/Unix/Mac set MEDIAWIKI_USER=<username here> # Windows export MEDIAWIKI_PASSWORD=<password here> # Linux/Unix/Mac set MEDIAWIKI_PASSWORD=<password here> # Windows In addition to this create another user which will be reserved for new uploads "Selenium_newuser". The password for this user should be the same as MEDIAWIKI_PASSWORD Tests that use steps that create pages (create_page_api_steps.rb) need to set the MEDIAWIKI_API_URL environment variable, e.g. export MEDIAWIKI_API_URL=http://en.wikipedia.beta.wmflabs.org/w/api.php Run the tests from the Minerva directory with: bundle exec cucumber tests/browser/features If you want to run a single set of tests, go to the tests/browser directory and call 'bundle exec cucumber' with the path to the test file. For example, to run only the watchlist tests: bundle exec cucumber features/watchstar.feature XML report (for Jenkins) is created at tests/browser/reports/junit. Jenkins is hosted at https://wmf.ci.cloudbees.com/ and it drives browsers at http://saucelabs.com/ For more information about running Selenium tests please see https://github.com/wikimedia/mediawiki-selenium