Commit graph

124 commits

Author SHA1 Message Date
jdlrobson b93b7eda7c Render add discussion button in PHP not JS
The talk page JavaScript progressively enhances an
existing button in the page.

Remove the frontend logic and rely entirely on whether
the button is in the page or not.

Additional change:
* The browser tests incorrectly suggest a user needs
5 edits to be able to use the talk feature. This is not
true. They just need to be logged in. Update that logic.

Bug: T167728
Change-Id: Iacedea30bdd0775b3d785db5b143abafd7a18b39
2017-10-16 22:35:11 +00:00
jenkins-bot 7458b6dd16 Merge "Revert "Don't run diff test on beta cluster"" 2017-10-09 16:14:44 +00:00
Jdlrobson edc817cd03 Revert "Don't run diff test on beta cluster"
This reverts commit 23e9d66780.

Change-Id: I25b7a843178d0be42956847cc2f8c897ae521b5d
2017-10-09 16:08:08 +00:00
jdlrobson 0dd994edda Prepare to break the server side MobileFrontend dependency on Minerva
Changes:
* Minerva now maintains a MinervaUI - a simplified version of
MobileUI that provides iconClass and buttonClass helpers.
* Minerva now maintains its own ResourceLoaderParserMessageModule

Remaining issues:
* Main menu links to '#'
* Unknown dependency errors are thrown due to the missing
JS libraries e.g. mobile.watchstar
thus JS based UI components are unusable e.g. search autocomplete,
and edit button
* Language button navigates to a missing special page without
MobileFrontend (see T104660)

Bug: T169569
Change-Id: I89e2e15faabab73b0cba91afc2f2c5e785edef29
2017-09-27 21:21:59 +00:00
jdlrobson 23e9d66780 Don't run diff test on beta cluster
While T176637 is open we should only run this on integration.

Bug: T176637
Change-Id: I6be3b234d3084796b039bd6610364e1600e82157
2017-09-25 09:30:08 -05:00
jdlrobson db389f0bfd QA: User edit cta browser test should not run on beta cluster
On the beta cluster, the tests are run using "Selenium user" account.
There is a test which assumes the user's page is blank which is now
failing as a result of this edit:
https://en.m.wikipedia.beta.wmflabs.org/w/index.php?title=User:Selenium_user&oldid=371028

Test is now disabled there but will still run on commits via the
@integration tag.

Additional change:
* Drop the additional @login tag

Change-Id: Ie116caed32883c58edfa2ab3dfa47bbbefdd6f31
2017-09-25 09:03:58 -05:00
jdlrobson dcdee45861 Make Minerva QUnit tests v2 compatible
Drop the checks for number of assertions

Bug: T174598
Change-Id: I82728a389d733900144786c149239856562a8c46
2017-08-31 15:42:18 +00:00
jdlrobson cd22f736d7 QA: Do not run various toast notification browser tests on BC
These flake too much. We have coverage in @firefox or @integration
so let's remove these test runs from the beta cluster job.

All tests will run somewhere.

Bug: T170890
Change-Id: I269991a22ab5a2b54aed8ad453013bb9be648502
2017-08-22 09:40:47 -05:00
jdlrobson ccccffa9c0 QA: Simplify toast notification step some more
If mediawiki.notification has loaded that should be enough to assume
the toast is ready to have its text checked.

Change-Id: Ic546877eae0ea6dd59dbf88bf9267bcd1957f779
2017-08-09 14:56:36 -05:00
jdlrobson 30de345e97 QA: Disable browser tests in @chrome
These are failing consistently due to T172835. Let's not run it in the
@chrome job and just rely on the Firefox coverage. We'll keep one test
in @chrome as it runs in integration mode (per commit).

Change-Id: Ic417148574208389b66249b2d98e009beef70fa2
2017-08-09 16:54:45 +00:00
jdlrobson f6df202786 QA: Relax toast notification QA steps
It seems trying to test both the steps can cause
false positives. Relaxing these checks seems to make
our Jenkins job happy without breaking the tests themselves

Change-Id: I119111e97f23d2f0dac7cbb0e5b86c1df0562598
2017-08-08 11:56:21 -05:00
jdlrobson 96d4955834 QA: Adjustments to account for slow loading of mediawiki.notifications
Changes:
* Use css rather than class for finding toast
* Correct a test typo
* Add a step to wait until the mediawiki.notification module
has been loaded

Bug: T170890
Change-Id: I86e48e00ebb83772149da7c7f20097b5436a0cf5
2017-08-08 00:30:09 +00:00
jdlrobson ebef44d0fe QA: Make sure toast is not empty before checking text value
Copies approach for the text of the first heading should be
accounting for the fact that the toast can have an empty
message "" at any given time.

Bug: T170890
Change-Id: Iba8a503a2aea30cb46fba27f000843183e9c46f1
2017-08-01 12:59:54 -07:00
jdlrobson 0f93115725 QA: Minor tweaks to how we check toast notifications
A toast autohides within 5 seconds and its display properties are
inherited from #mw-notification-area. This slight tweak waits for
mw-notification-area to be visible before verifying toast and its
contents

Change-Id: I89beaf9d131155e958cc9aae84a9e30ffd8e9e4f
2017-07-31 15:13:00 -07:00
jdlrobson d5a60fdd43 Browser tests: Use generic toast step
Introduces a new generic
"I should see a toast with message ".*""
step reducing toast steps to two generic ones.

Change-Id: Ic8b91c78f6df088244f15223ee4ed658847a05b5
2017-07-27 13:41:54 -07:00
jdlrobson 47546207ad Hygiene: Remove and update references to MobileFrontend
Changes:
* Update docs
* Update browser test artifacts
* Update comments
* Update phpunit test groups
* Update phpunit test namespace
* Update `die` when MobileFrontend not installed
* Remove the migrate script which is no longer needed

Change-Id: I83432b3f7f0bcd07ed08259972b8ff89147104b6
2017-07-19 14:21:50 -07:00
Piotr Miazga 7536ca089a Enable PHPCS and lint checks via composer test
Sniffs that are currently failing are disabled in phpcs.xml.

Additional changes:
* Fix problem in test file

Change-Id: I53642e9d7bc1ef96e359cfe04a8f93dabbc977eb
2017-07-17 22:20:29 +00:00
Piotr Miazga d5461f55a1 Fix failing SkinMinerva unit test
Bug: T170624
Change-Id: I13fff8eba06abad43291e481f32d9eb30c0f031b
2017-07-17 23:39:53 +02:00
Piotr Miazga 9d90df7b0b SkinMinerva testGetContextSpecificModule test might use undefined title
Test scenario for getContextSpecificModules() mocks only Skin->getTitle()
behavior, but while executing isAllowedPageAction() Skin will create a
UserPageHelper with default RequestContext. As RequestContext is not mocked,
$context->getTitle() will return undefined what could lead to tests crash

Changes:
 - instead of mocking SkinMinerva::getTitle() pass test context with injected
title. Other tests will work properly as MediaWikiTestCase::tearDown() always
restes RequestContext to default

Bug: T170624
Change-Id: I872fddf8d9c52a6875bb6c69a12407a8125fba4c
2017-07-17 21:40:34 +02:00
jdlrobson 69306b0b68 QA: Fix a flakey test
This copies the approach taken in
I3161c64d68c09a9a8f7d00a27eddfbe37830fabd

Change-Id: Ifd62db9bf5862e0a524186de12f50d05f41b4799
2017-07-13 16:47:28 +00:00
jdlrobson 2cc9516cde Minerva is its own skin
This is programmatic output from python3 scripts/migrate.py

This will result in a Minerva skin dependent on MobileFrontend.

Post merge we will rename message keys to have minerva- prefix

Bug: T166748
Change-Id: Iff1f7e63e796cc5d4a6d2ab0370e0c33248d2fce
2017-07-12 08:12:40 -07:00
jdlrobson 7e1e5c85df QA: Add note about git history of browser tests in this repo
Bug: T168758
Change-Id: I8363eb3270f8660c0057fa42803577c9cdff400a
2017-07-11 14:57:27 -07:00
jdlrobson c0c90234d0 Port browser tests from MobileFrontend to Minerva
This moves all browser tests from MobileFrontend to the Minerva repo
in preparation for separating the two.

Note, this means browser tests will exist in both repositories for a
period of time. This is important and necessary to ensure we do not
break anything.

See:
https://lists.wikimedia.org/pipermail/mobile-l/2017-July/010536.html

Bug: T168758
Change-Id: I84ae3ea14191f672cabcd52020e80b0a40a72ce1
2017-07-11 14:11:03 -07:00
jdlrobson b4c7cd11e9 Placeholder to avoid failing browser tests
Change-Id: I694a28b364a6baadc948d0465db5f4ee91cebb61
2017-06-23 16:26:13 -07:00