Commit graph

51 commits

Author SHA1 Message Date
Željko Filipin 1dbc2915f6 selenium: Use @wdio/spec-reporter
Dot reporter provides no information on which tests suites and tests are
executed. Spec reporter is more verbose but it also provides much more
information that is useful in general, but especially when debugging.
For example, which tests are executed and which tests are skipped.

Bug: T280331
Change-Id: If50b811df856abc555904ecab298077215b2621d
2022-05-24 14:46:02 +02:00
Jon Robson 2665e3c319 Add TypeScript support
For now it is limited to a single file RelatedPagesGateway.js
For now @types/jquery is requirement due to use of
wikimedia/mw-node-qunit and usage of MediaWiki core methods
and OOUI that use jQuery.

Change-Id: I370826bb3f521dcb5a68491990571ee1c87117ae
2022-04-27 19:11:10 +00:00
Jon Robson b528100f3d Add jest testing infrastructure
Adds a test for  resources/ext.relatedArticles.readMore/index.js

Change-Id: Icf8a5afca2489308e2bcaa611c0fe27ed9f46f3a
2022-04-19 18:51:58 +00:00
osamaahmed17 078cfb2347 selenium: Refactor WebdriverIO tests from sync to async mode
WebdriverIO has dropped support of sync mode due to breaking changes in Chromium, hence all tests have been changed to async.

Update npm packages: @wdio/*, wdio-mediawiki and webdriverio
because async mode needs at least webdriverio v7.9.

Remove npm package: @wdio/sync.

Bug: T300797
Change-Id: Ia2a857eb46dbd613a10f48c686bcf6b2fdc3e202
2022-02-09 16:15:05 +00:00
libraryupgrader 07e7b5bb0b build: Updating npm dependencies
* @wdio/mocha-framework: 7.4.6 → 7.13.2
  * https://npmjs.com/advisories/5197 (CVE-2021-3807)
* ansi-regex: 5.0.0 → 5.0.1
  * https://npmjs.com/advisories/5197 (CVE-2021-3807)

Additional changes:
* composer.json: Updated phpcs command in composer test (T280592).
* composer.json: Added phpcs command to scripts (T280592).

Change-Id: I9bac58167708f2a07337d9d0350a11422753208e
2021-10-05 07:35:01 +00:00
libraryupgrader e9179d5577 build: Updating stylelint-config-wikimedia to 0.11.1
Change-Id: I122553868da7515bd46d8115549fa5a116ac660f
2021-09-04 21:51:08 +00:00
acald d9dccf23fd RelatedArticles uses Grunt. This package is unecessary and inconsistent with other repositories.
Uninstalled the following packages: grunt, grunt-eslint, grunt-stylelint

Removed Gruntfile.js since Gruntfile is not longer necessary

Bug: T286832
Change-Id: I4fe5ee2db080f1a2be9607f302704c8c3bf5a233
2021-08-02 20:12:04 +00:00
sahil 0512e508db 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: I35a7b000de1f0b55d8e797e0ff35b0b3590460e7
2021-06-21 20:46:30 +05:30
sahil 3a2f197a9e selenium: Upgrade WebdriverIO to v7
Update npm packages: @wdio/* and webdriverio.

Bug: T274579
Change-Id: I2efdb705cba8515963143d6ce025396f5c0672b8
2021-06-17 21:50:01 +05:30
libraryupgrader 64282bce15 build: Updating dependencies
composer:
* mediawiki/mediawiki-codesniffer: 35.0.0 → 36.0.0
* php-parallel-lint/php-parallel-lint: 1.2.0 → 1.3.0

npm:
* grunt: 1.3.0 → 1.4.0
* lodash: 4.17.19 → 4.17.21
  * https://npmjs.com/advisories/1673 (CVE-2021-23337)
* hosted-git-info: 2.8.8 → 3.0.8
  * https://npmjs.com/advisories/1677 (CVE-2021-23362)
* ua-parser-js: 0.7.21 → 0.7.28
  * https://npmjs.com/advisories/1679 (CVE-2021-27292)
* postcss: 7.0.35 → 8.2.15
  * https://npmjs.com/advisories/1693 (CVE-2021-23368)

Change-Id: Ie00a61524a48d62913c31f344e9aeb7e631aec5c
2021-05-13 04:31:19 +00:00
Željko Filipin edeb38fc58 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-RelatedArticles
job.

Bug: T214686
Change-Id: I6d950630a85def4987118d107c15f7c7f309488c
2021-04-29 17:02:37 +02:00
libraryupgrader 5bf0e2906b build: Updating eslint-config-wikimedia to 0.20.0
Change-Id: I1a618cead385aa1825146844763307a1dd4c30b1
2021-04-14 03:08:32 +00:00
libraryupgrader b2121295bd build: Updating eslint-config-wikimedia to 0.19.0
Additional changes:
* eslint: Renamed `wikimedia/client` profile to `client-es5` (T277085).

Change-Id: I526783f28521561ee0b86f45777debc2e90d22aa
2021-03-14 11:21:13 +00:00
libraryupgrader 10578329de build: Updating eslint-config-wikimedia to 0.18.2
Change-Id: I94e98946d08d5dd6b00a7d8290b0d296d3865b3f
2021-03-07 18:53:35 +00:00
libraryupgrader 7cf2c9513e build: Updating dependencies
composer:
* mediawiki/mediawiki-codesniffer: 34.0.0 → 35.0.0
* mediawiki/minus-x: 1.1.0 → 1.1.1

npm:
* eslint-config-wikimedia: 0.17.0 → 0.18.1
  The following rules are failing and were disabled:
  * compat/compat

Additional changes:
* Added the "composer phan" command to conveniently run phan.

Change-Id: Ifc15b65a8f6e5c4d47522d76c31912508dff4bb4
2021-01-30 09:13:04 +00:00
libraryupgrader e9fa5131db build: Updating npm dependencies
* grunt-stylelint: 0.15.0 → 0.16.0
* stylelint-config-wikimedia: 0.10.1 → 0.10.3

Change-Id: Ife8334ee95cced50c45f1417c90e225b7ef753de
2020-11-22 09:20:03 +00:00
libraryupgrader 70417dee7a build: Updating npm dependencies
* eslint-config-wikimedia: 0.16.2 → 0.17.0
* grunt: 1.2.1 → 1.3.0

Change-Id: I667a6483d8c3eb3cf38964b6aff80ac872c5db77
2020-09-04 16:46:32 +00:00
libraryupgrader 1d8e6d7504 build: Updating grunt to 1.2.1
Change-Id: I0627eee756b345903e51d99abbe21eab3ec400ee
2020-07-18 22:09:24 +00:00
Željko Filipin 75faab3cf4 Selenium: run only 'ReadMore is present in Minerva' test when targeting the Beta Cluster
'ReadMore is not present on Vector' test works fine in CI but it is failing when targeting the Beta Cluster.

Bug: T255053
Change-Id: I80d35829601ade7df9d2cd886df6320a05430e44
2020-07-14 11:55:27 +02:00
Ed Sanders ebecd9c144 build: Update eslint-config-wikimedia to 0.16.2
Change-Id: Ib6681e7d5fb03f4fa54823bf0d37e16d37be3416
2020-06-23 20:30:43 +01:00
vidhi-mody a7591f2a06 Selenium: Update to WebdriverIO v6
Update NPM packages: @wdio/* and webdriverio.

Bug: T250685
Change-Id: I19e82b1bcdaec4c4dc95fdbf01a1b50858ecd94a
2020-06-06 00:46:23 +05:30
vidhi-mody e4f2b070c1 Selenium: Update to WebdriverIO v5
Update NPM packages: webdriverio, wdio-mediawiki.
Update ESlint configuration.

Replace NPM packages:
- wdio-mocha-framework with @wdio/mocha-framework.
- wdio-spec-reporter with @wdio/spec-reporter.

New NPM packages: @wdio/cli, @wdio/local-runner, @wdio/sync.

Replace:
- `browser.element` with `$`.
- `chromeOptions` with `'goog:chromeOptions'`.
- `password` with `mwPwd`.
- `username` with `mwUser`.
- `isVisible()` with `isDisplayed()`.

Bug: T250685
Change-Id: Ic8b49974c05f88a2010c118198b49ee10c175c68
2020-05-27 23:05:51 +05:30
libraryupgrader afc946ec53 build: Updating dependencies
composer:
* mediawiki/mediawiki-codesniffer: 29.0.0 → 30.0.0

npm:
* eslint-config-wikimedia: 0.15.0 → 0.15.3
* grunt-stylelint: 0.14.0 → 0.15.0
* stylelint-config-wikimedia: 0.9.0 → 0.10.1

Change-Id: I28ffb62778358450b7518db4035bc22d6440ccb8
2020-04-24 20:36:36 +00:00
libraryupgrader 8f2ca71895 build: Updating grunt-banana-checker to 0.9.0
Change-Id: If701c5f54293631f9a851fd202ef5689e8d2117d
2020-04-20 06:50:08 +00:00
libraryupgrader 4dcb784214 build: Updating minimist to 1.2.5
* https://npmjs.com/advisories/1179

Change-Id: I2871d645bf28f041b902e0553339713f8747aa42
2020-03-19 08:36:43 +00:00
libraryupgrader d0bad44456 build: Updating npm dependencies
* grunt-stylelint: 0.13.0 → 0.14.0
* stylelint-config-wikimedia: 0.8.0 → 0.9.0

Change-Id: I52b724d6d5b1c8ae803f2935d12f465af07c5309
2020-02-21 01:47:50 +00:00
libraryupgrader dfb3995a90 build: Updating dependencies
composer:
* mediawiki/mediawiki-codesniffer: 28.0.0 → 29.0.0
  The following sniffs are failing and were disabled:
  * MediaWiki.Commenting.FunctionComment.MissingParamTag

npm:
* eslint-config-wikimedia: 0.11.0 → 0.15.0
  The following rules are failing and were disabled:
  * no-jquery/no-parse-html-literal

* grunt-eslint: 21.0.0 → 22.0.0
* grunt-stylelint: 0.10.1 → 0.13.0
* stylelint-config-wikimedia: 0.6.0 → 0.8.0

Additional changes:
* Also sorted "composer fix" command to run phpcbf last.
* Removing manual reportUnusedDisableDirectives for eslint.

Change-Id: Iab538420d73bbbebfd05cf815ab06773f16da8da
2020-01-15 06:11:54 +00:00
libraryupgrader 9d8e96fb19 build: Updating grunt-banana-checker to 0.8.1
Additional changes:
* Added .eslintcache to .gitignore.

Change-Id: I8b1838ee78fe78f96f6cbb3d0a1584f035aa66c6
2019-12-18 04:05:21 +00:00
libraryupgrader b7c1979278 build: Updating wdio-mediawiki to 0.4.0
Change-Id: I3eb03f459cc1fe36c120a0ae40240eaaa2b57752
2019-08-03 04:28:52 +00:00
libraryupgrader 4cdb540f75 build: Updating dependencies
composer:
* mediawiki/mediawiki-codesniffer: 24.0.0 → 26.0.0
* mediawiki/minus-x: 0.3.1 → 0.3.2

npm:
* lodash: 4.17.11 → 4.17.15
  * https://npmjs.com/advisories/1065
  * CVE-2019-10744
* set-value: 2.0.0 → 2.0.1
  * https://npmjs.com/advisories/1012
  * CVE-2019-10747
* union-value: 1.0.0 → 1.0.1
  * https://npmjs.com/advisories/1012
  * CVE-2019-10747
* mixin-deep: 1.3.1 → 1.3.2
  * https://npmjs.com/advisories/1013
  * CVE-2019-10746
* grunt-banana-checker: 0.7.0 → 0.7.1

Change-Id: I9728f2441f195fd1473f0eb8bc0cbaf28c505cfc
2019-07-19 11:57:33 -07:00
libraryupgrader b42020a033 build: Updating npm dependencies for security issues
* Updated grunt to 1.0.4, addressing:
  * https://npmjs.com/advisories/788
  * https://npmjs.com/advisories/813
* Updated stylelint-config-wikimedia to 0.6.0, addressing:
  * https://npmjs.com/advisories/786

Committed package-lock.json (T179229) too.

Change-Id: I6a32ed8cb552826053f9439b7a62a9e74f17b881
2019-06-08 19:32:41 +00:00
James D. Forrester 431e218ac8 build: Upgrade wdio-mocha-framework to be node10 compatible
Change-Id: Ie0176c0bd97488ea6c23e666035787cf7dfe7bb1
2019-06-03 14:54:40 -07:00
James D. Forrester 2066d438ae build: Upgrade eslint-config-wikimedia from 0.10.1 to 0.11.0
Change-Id: Ie1f3e5f9ead8f69da554fb9a3260fa44b1c91f4e
2019-04-03 16:21:00 -07:00
Ed Sanders 26b15d19b9 build: Update eslint-config-wikimedia to 0.10.1
Change-Id: I01388bfdda108e9e80b32d68983e1d826d0db784
2019-02-10 16:46:48 +00:00
Volker E 9a5d59caee build: Update 'stylelint-config-wikimedia' to v0.5.0 and make pass
Also enabling 'no-descending-specificity' rule and the same time
simplify VE hidden rule.

Change-Id: Idad811e7fca681883fccbc961c70f49e2b356c02
2019-01-16 19:26:36 -08:00
Ed Sanders 7b0c26ba59 build: Update devDependencies
eslint-config-wikimedia      0.5.0  →   0.8.1
 grunt-eslint                20.1.0  →  21.0.0
 grunt-stylelint              0.9.0  →  0.10.1
 stylelint                    8.2.0  →   9.2.0
 stylelint-config-wikimedia   0.4.2  →   0.4.3

Add "eslint-plugin-qunit"

Change-Id: I4761b12a9c3d4cb35bb891a7f999a84be46f543e
2018-11-12 22:24:07 +00:00
libraryupgrader bb1c52f03e build: Updating npm dependencies for security issues
* Updated grunt to 1.0.3, addressing:
  * https://npmjs.com/advisories/577
  * CVE-2018-3721

Change-Id: Ie9eab8555af9470b46fcca24260bbae9d5ab570e
2018-10-11 10:37:05 +00:00
Željko Filipin 937980a9b0 Selenium: Simplify selenium-daily NPM script
selenium-daily now just calls selenium-test. Environment variables are set up in
the Jenkins job, so they are removed.
selenium-daily might seem redundant, but it provides flexibility. In case a
repository does not want to run all tests daily, that's easily fixed by updating the
selenium-daily script.

Bug: T188742
Change-Id: If0d3b508fb9a711afdfd1d18086071ed4c9cb0ed
2018-09-03 17:29:37 +02:00
Željko Filipin 5c8571317b Selenium: add selenium-daily NPM script
The script is needed to run the new Docker-based Jenkins job that runs daily and targets beta cluster.
selenium-test script, NPM packages and wdio.conf.js files are dependencies.

Change-Id: Ic0fb26cfdd07225260b6ef70ce81a49ee73af331
Job: RelatedArticles-npm-browser-run-selenium-daily-node-6-docker
Bug: T188742
2018-08-10 08:32:24 -05:00
jdlrobson 993c4e227e Use wdio-mediawiki in selenium tests
Change-Id: If48e0a885acdf4bca73ec2a9d613fe2f0403dd61
2018-06-20 10:23:11 -05:00
Ed Sanders 1c7676da81 build: Update linters
Change-Id: Ifa6756f5a5f1d4ea77e15d61e0219c2b97ecb7ae
2018-02-04 22:09:55 +00:00
Ed Sanders 10de1deaf4 build: Update eslint and stylelint
Change-Id: I82bfb5fbfea4997f3048305574d2ff7d28ecd1b8
2017-10-09 15:37:28 +01:00
Ed Sanders 96fe734e7c build: Update linters
Change-Id: I524c23c92d2d356ba1ce9552c7a0028c670e054f
2017-05-05 15:30:01 +00:00
Umherirrender 627c254157 Add stylelint for less files
Fixed the following rules:
string-quotes
declaration-property-value-blacklist
number-leading-zero

Change-Id: I7c8021070b69cd60ac010e90b3bc13a033d695e2
2017-04-18 18:20:50 +02:00
jdlrobson 298790a944 Upgrade to eslint
We're going to want to use a newer version of JSHint
anyway to support use of ES6 in our browser tests so now
seems a good time to do this.

Bug: T149202
Change-Id: I5526b020cfc12c0e065ad15ed711a0e3a7bff1bc
2017-04-10 14:12:25 +02:00
Kunal Mehta a191109027 build: Updating development dependencies
* grunt-jsonlint: 1.0.6 → 1.0.7

Change-Id: Id9f788c6927912e826bd4fa491f4218708f1c054
2015-12-29 21:06:31 +00:00
Paladox 8a73239abf Update packages
Update grunt-jscs to 2.4.0

Update grunt-jsonlint to 1.0.6

Change-Id: I34b1f23469a35e64345ee42a183dd74679e50b81
2015-12-07 21:00:56 +00:00
Timo Tijhof 529b798198 build: Simplify Grunt configuration
* Remove file pattern whitelist for JSHint and JSCS. Instead,
  use the ignore list (which we need to specify anyway to avoid
  errors when using IDE plugins and/or running these from the
  command-line directly.

* Remove redundant '*.json' pattern for banana. '**/*.json' covers
  this already as '**' is recursive from the current directory,
  otherwise it would be '*/**'.

* Remove redundant 'name' and 'version' property. These were likely
  added to suppress warnings by npm-install. However those warnings
  are intended for packages published to npmjs.org. For local build
  tools, adding private:true also suppress these warnings. For
  extensions, name and versions are already maintained in other files
  such as extension.json and others.

* Remove redundant '$' entry in jshintrc. There's no need to tolerate
  use of global variable '$'. The convention is to use 'jQuery' and
  alias it locally, which this extension already does everywhere.

* Set 'jQuery' to false instead of true in jshint globals. True
  means it allows and expects this package to assign or expose
  the 'jQuery' identifier. However that is not the case. If this
  code overwrites jQuery, that should probably trigger a warning,
  thus set to false, which means read-only global.

Change-Id: I0b159b6d684f67933e0dae506db1eb3800a6f192
2015-11-10 18:07:15 +00:00
Kunal Mehta 1ab33e4886 build: Updating development dependencies
* grunt-banana-checker: 0.2.2 → 0.4.0

Change-Id: I94a118adc53612636eb362cd47da16049f9f4caf
2015-10-11 11:57:09 -04:00
Sam Smith cd055fde89 Add extension boilerplate
Copypasta the following files from the BoilerPlate extension [0]:

* package.json
* Gruntfile.js
* .jscsrc
* .jshintrc
* .jshintignore
* composer.json
* phpcs.xml

Add the following supporting files:

* .gitignore
* composer.lock

Finally, fix the existing coding standard violations.

[0] https://github.com/wikimedia/mediawiki-extensions-BoilerPlate

Change-Id: I30c6cf9e0a637bab5d8f47790b9af57183b6e6fb
2015-10-07 15:48:26 +01:00