Commit graph

75 commits

Author SHA1 Message Date
Jon Robson 55419f9bcc [Tests] Strengthen the reference drawer test
Assert the drawer is visible before clicking it.

Bug: T266704
Change-Id: Iec1d2a2c0a4b34509f4b73ed87ccc63eeecad671
2022-04-18 23:05:29 +00:00
Jon Robson c4f7c60f9f [Tests] Move beforeEach calls into tests
beforeEach failures do not have videos associated. We'd like to see
what's going wrong with these tests.

Change-Id: I1b723bcd7d00f15907647d5c7a4aa1f57578468c
2022-03-17 14:14:10 -07:00
Jdlrobson 63e744d147 Revert "[Tests] Check for VisualEditor in editor overlay integration test"
This reverts commit 422e3a3b09.

Reason for revert: The Ruby tests don't run. This change should be in
the Node tests.

Change-Id: If59753569b1eb24ffaf2486242ea49e794d388b5
2022-03-16 21:44:55 +00:00
Bartosz Dziewoński ff00b6d9c5 Disable failing talk page tests temporarily
Bug: T302993
Change-Id: I1cbe8367394fdee1c0a88d5dbe2bd00da0b74062
2022-03-03 19:50:09 +01:00
Željko Filipin 436bf80bd8 selenium: Delete tests disabled for more than 1 year
'Redirects' was disabled by Edward Tadros in fbd373b (2021-01-15).

'A newly created topic appears in the list of topics' was disabled by
Jon Robson in d4828b2 (2020-09-24).

Bug: T280652
Change-Id: I63fb62c0c2871ff2713643285cd6e5d878684f83
2022-02-16 15:58:00 +01:00
Umherirrender 791cb1081a selenium: Ensure .waitForDisplayed() before .click()
Avoid time outs
Error in "Opening and closing the reference drawer.Opening a nested
reference"
Error: waitUntil condition timed out after 5000ms
    at Browser.<anonymous>
(/workspace/src/skins/MinervaNeue/node_modules/@wdio/utils/build/shim.js:270:24)
    at iShouldSeeDrawerWithText
(/workspace/src/skins/MinervaNeue/tests/selenium/features/step_definitions/reference_steps.js:25:10)
    at Context.<anonymous>
(/workspace/src/skins/MinervaNeue/tests/selenium/specs/references.js:44:3)
FAILED in chrome - /tests/selenium/specs/references.js

Change-Id: Ia5d493fba4995c1122721b76ae98d6ba60399238
2022-02-03 21:18:02 +01:00
Antoine Musso 0fbb2a34f2 selenium: run tests concurrently
Wikimedia CI now serves MediaWiki over Apache (T285649) which mean we
can do concurrent requests!

Bug: T226869
Change-Id: Ifb155b7a14f5dd7b037578c83c9590f7901feacf
2022-01-05 16:44:12 +00:00
jdlrobson f9a8703a64 Minerva uses core page title handling
Bug: T265892
Change-Id: I2ffdedd64414ffb3c6e441391a75fd6e744847a4
2021-12-20 19:39:42 +00:00
bwang ef4aa95ae2 Remove primary/secondary menu items, instead add a separate log out menu item
Bug: T293041
Change-Id: I9f73fdba1856dd9e0ea7120df0fb18061337961a
2021-11-18 19:51:33 +00:00
Ed Sanders 2ec4b950e2 build: Update eslint-config-wikimedia to 0.21.0
Change-Id: I0185de7ec62c54ee733de94622e0c41a65e86731
2021-11-09 14:48:40 +00:00
Ed Sanders ef742a0d6a build: Update wdio devDependencies
Change-Id: I2d51563517f88ffa50ddf76d1716d13024f21381
2021-11-09 14:41:17 +00:00
jdlrobson 5263b09397 Standardize use of buttons and icons in Minerva
* Adds button hover/focus states to all Minerva button icons
* Removes the deprecated mw-ui-icon-before selector

Depends-On: I4eb28eae4c4e23d58f1f85bc41c0caf77197d8a1
Bug: T288678
Change-Id: I490534f9f704a733191b459c8ee071848c436001
2021-09-17 15:36:54 +00:00
jdlrobson 5e0dd88af0 [Selenium] Skip failing test
Causing error "Node is either not visible or not an HTMLElement"

Change-Id: Id29fe854e04df637dca4d55458b31260b76f2b53
2021-09-16 14:57:03 +00:00
sahil 67e47ac0bd selenium: Update README.md file
Bug: T282237
Change-Id: Ia26bba12ede5e1055122387e36007887669267f8
2021-08-16 12:23:20 +05:30
Edward Tadros 69a100cb45 selenium: Fix failing Jenkins job selenium-daily-beta-Minerva
"Page should be creatable" test is fixed by increasing timeout.
"Wikitext Editor Makes actual saves Broken redirects" is skipped.
The skipped test will be replaced with a new test.

Bug: T269051
Change-Id: I72c43b361bd8e63e500656f164412d37856805c1
2021-07-01 07:50:46 -07:00
jenkins-bot 18329d800a Merge "selenium: Update wdio-mediawiki" 2021-06-09 02:57:25 +00:00
jenkins-bot 8900f58e2f Merge "Replace categories button with HTML rendering" 2021-06-07 08:58:44 +00:00
Željko Filipin ed40ca23c9 selenium: Update wdio-mediawiki
wdio-mediawiki v1.1.1:
- Includes wdio-defaults.conf.js file that vastly simplifies wdio.conf.js.
- Replaces @wdio/spec-reporter with @wdio/dot-reporter.
- Introduces video recording.

Bug: T283597
Change-Id: I5408b35060734709a6d21520c6abd738fb44d5a1
2021-05-27 17:49:19 +02:00
Jdlrobson 8651df02bb Replace categories button with HTML rendering
Bug: T246049
Change-Id: Id8c7493a525844b43c1628a1f4f09ae716ece2ba
2021-05-14 20:34:59 +00:00
Željko Filipin 20bb2bf09c selenium: Run tests from desktop site
Bug: T282058
Change-Id: I342a1ba510ea5da85da904c1bec4f26adfc60d33
2021-05-07 17:44:33 +00:00
Željko Filipin def50f52c1 selenium: Fix 'Page should be creatable' test
The test was failing on The Beta Cluster because of two reasons:
- Local development environment and CI need to switch to mobile view,
The Beta Cluster doesn't.
- Local development environment and CI allow anonymous edits,
The Beta Cluster doesn't.

Bug: T281733
Change-Id: Iedcd94dc5cf1ace14baadfe9d9bd5bed9788f775
2021-05-05 21:12:16 +00:00
jenkins-bot d1527e7aab Merge "selenium: Page should be creatable" 2021-04-29 23:18:09 +00:00
Željko Filipin 8ac75d254a selenium: Add JUnit reporter
JUnit reporter is required to create the XML file that Jenkins uses to
create Test Result Trend chart for selenium-daily-beta-MinervaNeue
job.

Bug: T214686
Change-Id: Ibf4b08f2f4b60ad02a3a3b5a5ba8e0d899a86859
2021-04-29 18:06:15 +02:00
Željko Filipin 238010dbea selenium: Page should be creatable
Bug: T269051
Change-Id: I958d1f5035f7d28c70ff19c3db6f3707defa880f
2021-04-26 15:30:31 +02:00
jenkins-bot db0b1e9585 Merge "selenium: Update WebdriverIO configuration file" 2021-04-23 14:53:51 +00:00
Željko Filipin 7488d97256 selenium: Update WebdriverIO configuration file
Target by default MediaWiki-Docker instead of
obsolete MediaWiki-Vagrant.

Take screenshots of all tests, not just failed ones. It was recently
updated in core. See 2320f00.

Remove `Screenshot location...` messages. It was also recently
changed in core. See d0762b5.

Bug: T280975
Change-Id: I194aabfb1282c348fd4df3223e0a911cb38ec6e3
2021-04-23 13:57:25 +00:00
Željko Filipin 421f349bf2 selenium: fix directory (tests/selenium/log) doesn't exist
If the directory is not created manually, screenshots are not taken and
the error message is displayed. The simplest solution is to add an empty
`.gitignore` file in the directory.

Bug: T280975
Change-Id: Ibe867dfb351aa7191a81cdf2fd15c4eb420b571b
2021-04-23 13:54:06 +02:00
Edward Tadros fbd373b5d7 Selenium: Skip test Wikitext Editor (Makes actual saves)
Bug: T269051
Change-Id: I5680d98d9d3be8238c427f1baf0b1ac78658cbb7
2021-01-14 22:20:24 -08:00
jdlrobson d4828b200e Skip Minerva selenium test for creating talk topic
For sometime now this test has been intermittently failing for patches
across multiple repositories.

Temporarily skipping it now while debugging continues.

Bug: T262617
Change-Id: I90f23c57db22f878b6674296b83827c2ee4242e6
2020-09-24 12:38:37 +00:00
jdlrobson 065b6e52b2 QA: Restore nested reference test
References clicks should now apply to the `sup` element not `a`
as the `a` element can contain spans.

Depends-On: I0d5bb398e99465ade357743dd3ff34ae551243c5
Bug: T258096
Change-Id: I5d8cae5f465a86282796b3fdc6bc658f6c836432
2020-07-28 21:53:19 +00:00
Edward Tadros 6f1fb87414 Selenium: Skip nested reference test.
BUG: T258096
Change-Id: Ie16eb622384a48ad2b060a720ea3e8e6abfb1fa2
2020-07-28 13:55:36 -07:00
Edward Tadros 49c8c0f0e1 Selenium: Update WebdriverIO to version 6
Bug: T255447
Change-Id: I51daa462187983462d7f6529e5f76f47b21e5ef2
2020-07-13 07:38:36 -07:00
Edward Tadros c8ce9608c0 Selenium: Update WebdriverIO to version 5
Bug: T255447
Change-Id: I4cdde3070a6dc4e742ea37a78a17dfd556103dd6
2020-06-30 08:27:05 -07:00
jenkins-bot 83da1b00e5 Merge "build: Update eslint-config-wikimedia to 0.16.0" 2020-06-04 19:38:17 +00:00
Ed Sanders a32999e641 build: Update eslint-config-wikimedia to 0.16.0
Change-Id: Icabf6e065ed5685207731262db72faf848a0a04d
2020-06-04 08:39:32 -07:00
Edward Tadros 02bd59ca73 Selenium: Increase mochaOpts timeout for debugging
Change-Id: I64606304ddd5e7fb116cd4a1a9958b8703617b27
2020-06-04 14:59:04 +00:00
Edward Tadros b12fe5d5cc Fixed search_loggedin.js Selenium browser test
Fixed the search_loggedin.js test by updating watched watchstar methods.

Bug: T174018
Change-Id: I521279d97bc0b264062296cf318f4f56cebee2aa
2020-04-17 08:02:11 -07:00
Željko Filipin fafc41afd4 Selenium: update README.md file
Simplify, update and fix a few typos in README.md.

Bug: T210726
Change-Id: Iab666e1de50f3a0a00faef65e4ea42adb2b1d1ee
2020-04-16 17:52:00 +02:00
Željko Filipin 9d0ffdd867 Selenium: record videos of all tests
Works only on Linux. It works in our CI, since it uses Linux.
For instructions on how to test it on a Linux machine see:
https://www.mediawiki.org/wiki/Selenium/Node.js/Inside_MediaWiki-Vagrant

Bug: T245250
Change-Id: Ic4d909304b498c56f155bcade40a99f95ed72bcb
2020-03-11 21:03:56 +00:00
jdlrobson 46f28730e1 Do not add the navigation-enabled class to body tag for drawers
This class is used for the main menu exclusively. Applying it
will reveal 2 transparent shields on top of each other when is
not desired

Bug: T214049
Change-Id: I8ddcc7082c3c602a78084157c2d613366a8016c7
2020-01-14 01:20:40 +00:00
jdlrobson ff687da5c2 Categories browser test only runs if the feature is enabled
Remove some Ruby code which was causing lots of confusion.

Bug: T237290
Change-Id: I2c0ae965e4ee094c1b4edc3817c1bf66dc3fa694
2020-01-13 22:09:07 +00:00
jdlrobson 428047087a QA: Move reference browser test to Node.js suite
Ruby is not supported. The test often flakes.

Change-Id: I883cf283ea5307cdc0daebf41f20928d1adb309a
2019-12-18 00:40:27 +00:00
Nicholas Ray ec93d34370 Resemble AMC mode for all users on user pages & user talk pages
This commit:

* Removes the blue secondary action links found on User pages

* Modifies ToolbarBuilder to add the contributions
icon into the toolbar when on a user page/user talk page.

* Turns on HISTORY_IN_PAGE_ACTIONS, TOOLBAR_SUBMENU,
TALK_AT_TOP skin options for all users on user pages / user talk pages.

* Languages icon is moved to overflow menu

* Remove $userPageHelper param from UserNamespaceOverflowBuilder as
it isn't using it and it is confusing to pass it in

Bug: T232653
Bug: T235681
Depends-On: I2138472e68d8cab1c50cbb42807bd5b79e7e2749
Change-Id: I940e5cf7638ff38686eeca3d41554b8a22d35615
2019-12-13 14:10:43 -08:00
Piotr Miazga e703f00655 Add History icon and Article/Talk tabs to default loggedin experience
Additional change:
Drop the feature file - no value in having to keep talk.js and talk.feature
in sync

Bug: T232594
Bug: T232652
Change-Id: Id8d05b1358f81845d70142ceebf193d8b192ee0a
2019-12-13 21:04:36 +00:00
Nicholas Ray 2d579183c9 Render talk page as a tab instead of an overlay
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
2019-11-05 09:51:43 -07:00
jenkins-bot 0c3f7bc52d Merge "Use core watchstar code" 2019-10-15 22:56:25 +00:00
jdlrobson bf8d325388 Use core watchstar code
Apply the mediawiki core watchstar to the
Minerva skin. Note, watchstars in search and other locations will
continue to be provided by the MobileFrontend library (see
follow up patch I7b748dc87089389400b0035c62a3b9a00c2e43f9)

Bug: T234970
Change-Id: I11bbe976412b50dba76a55f37887e4c9235d0be1
2019-10-15 15:33:25 -07:00
Edward Tadros b9af3c8844 Temporarily fixed waitForPropogation.
Replaced waitForPropagation code with a browser.pause because the
time delta computation was not working propertly. This will be changed
with a more dynamic sync operation in the future.

Bug: T224947
Change-Id: I30bd7969e4c2c691622fd63c6f88aadadb8065e9
2019-10-11 16:12:53 -07:00
jdlrobson ab61dbb173 Echo is removed from Minerva
Managing the transition from old implementation to new:
* A version number is exported from skins.minerva.scripts to
tell dormant code added to Echo in I09c27a084100b223662f84de6cbe01bebe1fe774
to begin running.
* A skinStyle is added for the new `ext.echo.mobile` module.
`mobile.notifications.overlay` will soon cease to exist but is kept registered for
backwards compatibility reasons
- Drop ev.preventDefault call from onSkinClick - it is no longer necessary and will ensure
notifications overlay closes when shield is clicked while it is open.

Integration:
* A server side hook SkinMinervaReplaceNotificationsBadge allows Echo to replace
the current Minerva notification badge
* A to-be-created client side hook is subscribed to to deal with the navigations drawer
like functionality using the mainMenu code
* id and class names are added to the container for the NotificationBadge for compatibility with
ext.echo.init in Minerva's desktop mode (it will work like Vector)

See I09c27a084100b223662f84de6cbe01bebe1fe774 for understanding the bigger
picture.

Depends-On:  I09c27a084100b223662f84de6cbe01bebe1fe774
Bug: T221007
Change-Id: I4c11f1b241d629e1b294ebaec17472fbf944f8c7
2019-10-08 23:21:12 +00:00
Ed Sanders d54798ec6b build: Update eslint-config-wikimedia
Change-Id: Id14552b5663340ffc1e2ae02599a1df99685e464
2019-10-04 15:28:49 +00:00