diff --git a/package.json b/package.json index 06dfb4cdfe387..3eaa1fb05e906 100644 --- a/package.json +++ b/package.json @@ -259,7 +259,7 @@ "reselect": "^4.0.0", "resize-observer-polyfill": "^1.5.0", "rison-node": "1.0.2", - "rxjs": "^6.5.3", + "rxjs": "^6.5.5", "script-loader": "0.7.2", "seedrandom": "^3.0.5", "semver": "^5.5.0", @@ -346,7 +346,7 @@ "@types/history": "^4.7.3", "@types/hoek": "^4.1.3", "@types/inert": "^5.1.2", - "@types/jest": "24.0.19", + "@types/jest": "^25.2.3", "@types/joi": "^13.4.2", "@types/jquery": "^3.3.31", "@types/js-yaml": "^3.11.1", @@ -391,6 +391,7 @@ "@types/supertest-as-promised": "^2.0.38", "@types/tar": "^4.0.3", "@types/testing-library__dom": "^6.10.0", + "@types/testing-library__jest-dom": "^5.7.0", "@types/testing-library__react": "^9.1.2", "@types/testing-library__react-hooks": "^3.1.0", "@types/type-detect": "^4.0.1", @@ -403,7 +404,7 @@ "archiver": "^3.1.1", "axe-core": "^3.4.1", "babel-eslint": "^10.0.3", - "babel-jest": "^24.9.0", + "babel-jest": "^25.5.1", "babel-plugin-istanbul": "^6.0.0", "backport": "5.4.1", "chai": "3.5.0", @@ -423,7 +424,7 @@ "eslint-plugin-ban": "^1.4.0", "eslint-plugin-cypress": "^2.8.1", "eslint-plugin-import": "^2.19.1", - "eslint-plugin-jest": "^23.3.0", + "eslint-plugin-jest": "^23.10.0", "eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-mocha": "^6.2.2", "eslint-plugin-no-unsanitized": "^3.0.2", @@ -452,8 +453,10 @@ "intl-messageformat-parser": "^1.4.0", "is-path-inside": "^2.1.0", "istanbul-instrumenter-loader": "3.0.1", - "jest": "^24.9.0", - "jest-cli": "^24.9.0", + "jest": "^25.5.4", + "jest-environment-jsdom-thirteen": "^1.0.1", + "jest-circus": "^25.5.4", + "jest-cli": "^25.5.4", "jest-raw-loader": "^1.0.1", "jimp": "^0.9.6", "json5": "^1.0.1", diff --git a/packages/eslint-config-kibana/package.json b/packages/eslint-config-kibana/package.json index 9bc8ed3019e54..e14423d681a4e 100644 --- a/packages/eslint-config-kibana/package.json +++ b/packages/eslint-config-kibana/package.json @@ -23,7 +23,7 @@ "eslint-plugin-ban": "^1.4.0", "eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-import": "^2.19.1", - "eslint-plugin-jest": "^23.3.0", + "eslint-plugin-jest": "^23.10.0", "eslint-plugin-mocha": "^6.2.2", "eslint-plugin-no-unsanitized": "^3.0.2", "eslint-plugin-prefer-object-spread": "^1.2.1", diff --git a/packages/kbn-dev-utils/package.json b/packages/kbn-dev-utils/package.json index dedc2707f5b5b..d95cd1d404a1b 100644 --- a/packages/kbn-dev-utils/package.json +++ b/packages/kbn-dev-utils/package.json @@ -18,7 +18,7 @@ "getopts": "^2.2.5", "load-json-file": "^6.2.0", "moment": "^2.24.0", - "rxjs": "^6.5.3", + "rxjs": "^6.5.5", "tree-kill": "^1.2.2", "tslib": "^2.0.0" }, diff --git a/packages/kbn-dev-utils/src/serializers/absolute_path_serializer.ts b/packages/kbn-dev-utils/src/serializers/absolute_path_serializer.ts index 9edc63dd7d842..af55622c76198 100644 --- a/packages/kbn-dev-utils/src/serializers/absolute_path_serializer.ts +++ b/packages/kbn-dev-utils/src/serializers/absolute_path_serializer.ts @@ -21,7 +21,7 @@ import { REPO_ROOT } from '../repo_root'; export function createAbsolutePathSerializer(rootPath: string = REPO_ROOT) { return { - print: (value: string) => value.replace(rootPath, '').replace(/\\/g, '/'), + serialize: (value: string) => value.replace(rootPath, '').replace(/\\/g, '/'), test: (value: any) => typeof value === 'string' && value.startsWith(rootPath), }; } diff --git a/packages/kbn-optimizer/package.json b/packages/kbn-optimizer/package.json index c7bf1dd60985d..c11bd1b646933 100644 --- a/packages/kbn-optimizer/package.json +++ b/packages/kbn-optimizer/package.json @@ -31,7 +31,7 @@ "execa": "^4.0.2", "file-loader": "^4.2.0", "istanbul-instrumenter-loader": "^3.0.1", - "jest-diff": "^25.1.0", + "jest-diff": "^25.5.0", "json-stable-stringify": "^1.0.1", "loader-utils": "^1.2.3", "node-sass": "^4.13.0", @@ -39,7 +39,7 @@ "postcss-loader": "^3.0.0", "raw-loader": "^3.1.0", "resolve-url-loader": "^3.1.1", - "rxjs": "^6.5.3", + "rxjs": "^6.5.5", "sass-loader": "^8.0.2", "style-loader": "^1.1.3", "terser-webpack-plugin": "^2.1.2", diff --git a/packages/kbn-optimizer/src/integration_tests/basic_optimization.test.ts b/packages/kbn-optimizer/src/integration_tests/basic_optimization.test.ts index 4de1eedd5fc7b..7966a522d6809 100644 --- a/packages/kbn-optimizer/src/integration_tests/basic_optimization.test.ts +++ b/packages/kbn-optimizer/src/integration_tests/basic_optimization.test.ts @@ -33,7 +33,7 @@ const MOCK_REPO_SRC = Path.resolve(__dirname, '../__fixtures__/mock_repo'); const MOCK_REPO_DIR = Path.resolve(TMP_DIR, 'mock_repo'); expect.addSnapshotSerializer({ - print: (value: string) => value.split(REPO_ROOT).join('').replace(/\\/g, '/'), + serialize: (value: string) => value.split(REPO_ROOT).join('').replace(/\\/g, '/'), test: (value: any) => typeof value === 'string' && value.includes(REPO_ROOT), }); diff --git a/packages/kbn-pm/dist/index.js b/packages/kbn-pm/dist/index.js index f6d008c9bf9be..69611ed3f5c5e 100644 --- a/packages/kbn-pm/dist/index.js +++ b/packages/kbn-pm/dist/index.js @@ -986,10 +986,10 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _internal_util_pipe__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(24); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pipe", function() { return _internal_util_pipe__WEBPACK_IMPORTED_MODULE_17__["pipe"]; }); -/* harmony import */ var _internal_util_noop__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(25); +/* harmony import */ var _internal_util_noop__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(60); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "noop", function() { return _internal_util_noop__WEBPACK_IMPORTED_MODULE_18__["noop"]; }); -/* harmony import */ var _internal_util_identity__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(60); +/* harmony import */ var _internal_util_identity__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(25); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "identity", function() { return _internal_util_identity__WEBPACK_IMPORTED_MODULE_19__["identity"]; }); /* harmony import */ var _internal_util_isObservable__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(61); @@ -2163,8 +2163,8 @@ var observable = /*@__PURE__*/ (function () { return typeof Symbol === 'function __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pipe", function() { return pipe; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pipeFromArray", function() { return pipeFromArray; }); -/* harmony import */ var _noop__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25); -/** PURE_IMPORTS_START _noop PURE_IMPORTS_END */ +/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25); +/** PURE_IMPORTS_START _identity PURE_IMPORTS_END */ function pipe() { var fns = []; @@ -2174,8 +2174,8 @@ function pipe() { return pipeFromArray(fns); } function pipeFromArray(fns) { - if (!fns) { - return _noop__WEBPACK_IMPORTED_MODULE_0__["noop"]; + if (fns.length === 0) { + return _identity__WEBPACK_IMPORTED_MODULE_0__["identity"]; } if (fns.length === 1) { return fns[0]; @@ -2193,10 +2193,12 @@ function pipeFromArray(fns) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "noop", function() { return noop; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "identity", function() { return identity; }); /** PURE_IMPORTS_START PURE_IMPORTS_END */ -function noop() { } -//# sourceMappingURL=noop.js.map +function identity(x) { + return x; +} +//# sourceMappingURL=identity.js.map /***/ }), @@ -3848,26 +3850,34 @@ var AsapAction = /*@__PURE__*/ (function (_super) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Immediate", function() { return Immediate; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TestTools", function() { return TestTools; }); /** PURE_IMPORTS_START PURE_IMPORTS_END */ var nextHandle = 1; -var tasksByHandle = {}; -function runIfPresent(handle) { - var cb = tasksByHandle[handle]; - if (cb) { - cb(); +var RESOLVED = /*@__PURE__*/ (function () { return /*@__PURE__*/ Promise.resolve(); })(); +var activeHandles = {}; +function findAndClearHandle(handle) { + if (handle in activeHandles) { + delete activeHandles[handle]; + return true; } + return false; } var Immediate = { setImmediate: function (cb) { var handle = nextHandle++; - tasksByHandle[handle] = cb; - Promise.resolve().then(function () { return runIfPresent(handle); }); + activeHandles[handle] = true; + RESOLVED.then(function () { return findAndClearHandle(handle) && cb(); }); return handle; }, clearImmediate: function (handle) { - delete tasksByHandle[handle]; + findAndClearHandle(handle); }, }; +var TestTools = { + pending: function () { + return Object.keys(activeHandles).length; + } +}; //# sourceMappingURL=Immediate.js.map @@ -4169,12 +4179,10 @@ var VirtualAction = /*@__PURE__*/ (function (_super) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "identity", function() { return identity; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "noop", function() { return noop; }); /** PURE_IMPORTS_START PURE_IMPORTS_END */ -function identity(x) { - return x; -} -//# sourceMappingURL=identity.js.map +function noop() { } +//# sourceMappingURL=noop.js.map /***/ }), @@ -4728,17 +4736,17 @@ __webpack_require__.r(__webpack_exports__); -function subscribeToResult(outerSubscriber, result, outerValue, outerIndex, destination) { - if (destination === void 0) { - destination = new _InnerSubscriber__WEBPACK_IMPORTED_MODULE_0__["InnerSubscriber"](outerSubscriber, outerValue, outerIndex); +function subscribeToResult(outerSubscriber, result, outerValue, outerIndex, innerSubscriber) { + if (innerSubscriber === void 0) { + innerSubscriber = new _InnerSubscriber__WEBPACK_IMPORTED_MODULE_0__["InnerSubscriber"](outerSubscriber, outerValue, outerIndex); } - if (destination.closed) { + if (innerSubscriber.closed) { return undefined; } if (result instanceof _Observable__WEBPACK_IMPORTED_MODULE_2__["Observable"]) { - return result.subscribe(destination); + return result.subscribe(innerSubscriber); } - return Object(_subscribeTo__WEBPACK_IMPORTED_MODULE_1__["subscribeTo"])(result)(destination); + return Object(_subscribeTo__WEBPACK_IMPORTED_MODULE_1__["subscribeTo"])(result)(innerSubscriber); } //# sourceMappingURL=subscribeToResult.js.map @@ -5010,7 +5018,7 @@ function concatAll() { __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeAll", function() { return mergeAll; }); /* harmony import */ var _mergeMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82); -/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(60); +/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(25); /** PURE_IMPORTS_START _mergeMap,_util_identity PURE_IMPORTS_END */ @@ -5108,10 +5116,13 @@ var MergeMapSubscriber = /*@__PURE__*/ (function (_super) { this._innerSub(result, value, index); }; MergeMapSubscriber.prototype._innerSub = function (ish, value, index) { - var innerSubscriber = new _InnerSubscriber__WEBPACK_IMPORTED_MODULE_3__["InnerSubscriber"](this, undefined, undefined); + var innerSubscriber = new _InnerSubscriber__WEBPACK_IMPORTED_MODULE_3__["InnerSubscriber"](this, value, index); var destination = this.destination; destination.add(innerSubscriber); - Object(_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_1__["subscribeToResult"])(this, ish, value, index, innerSubscriber); + var innerSubscription = Object(_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_1__["subscribeToResult"])(this, ish, undefined, undefined, innerSubscriber); + if (innerSubscription !== innerSubscriber) { + destination.add(innerSubscription); + } }; MergeMapSubscriber.prototype._complete = function () { this.hasCompleted = true; @@ -5607,7 +5618,7 @@ function fromEventPattern(addHandler, removeHandler, resultSelector) { __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "generate", function() { return generate; }); /* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9); -/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(60); +/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(25); /* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45); /** PURE_IMPORTS_START _Observable,_util_identity,_util_isScheduler PURE_IMPORTS_END */ @@ -5866,7 +5877,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "NEVER", function() { return NEVER; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "never", function() { return never; }); /* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9); -/* harmony import */ var _util_noop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(25); +/* harmony import */ var _util_noop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(60); /** PURE_IMPORTS_START _Observable,_util_noop PURE_IMPORTS_END */ @@ -51184,7 +51195,10 @@ var CatchSubscriber = /*@__PURE__*/ (function (_super) { this._unsubscribeAndRecycle(); var innerSubscriber = new _InnerSubscriber__WEBPACK_IMPORTED_MODULE_2__["InnerSubscriber"](this, undefined, undefined); this.add(innerSubscriber); - Object(_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_3__["subscribeToResult"])(this, result, undefined, undefined, innerSubscriber); + var innerSubscription = Object(_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_3__["subscribeToResult"])(this, result, undefined, undefined, innerSubscriber); + if (innerSubscription !== innerSubscriber) { + this.add(innerSubscription); + } } }; return CatchSubscriber; @@ -52408,10 +52422,13 @@ var ExhaustMapSubscriber = /*@__PURE__*/ (function (_super) { this._innerSub(result, value, index); }; ExhaustMapSubscriber.prototype._innerSub = function (result, value, index) { - var innerSubscriber = new _InnerSubscriber__WEBPACK_IMPORTED_MODULE_2__["InnerSubscriber"](this, undefined, undefined); + var innerSubscriber = new _InnerSubscriber__WEBPACK_IMPORTED_MODULE_2__["InnerSubscriber"](this, value, index); var destination = this.destination; destination.add(innerSubscriber); - Object(_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_3__["subscribeToResult"])(this, result, value, index, innerSubscriber); + var innerSubscription = Object(_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_3__["subscribeToResult"])(this, result, undefined, undefined, innerSubscriber); + if (innerSubscription !== innerSubscriber) { + destination.add(innerSubscription); + } }; ExhaustMapSubscriber.prototype._complete = function () { this.hasCompleted = true; @@ -52696,7 +52713,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(419); /* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(409); /* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(418); -/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(60); +/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(25); /** PURE_IMPORTS_START _util_EmptyError,_filter,_take,_defaultIfEmpty,_throwIfEmpty,_util_identity PURE_IMPORTS_END */ @@ -52804,7 +52821,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(432); /* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(418); /* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(409); -/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(60); +/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(25); /** PURE_IMPORTS_START _util_EmptyError,_filter,_takeLast,_throwIfEmpty,_defaultIfEmpty,_util_identity PURE_IMPORTS_END */ @@ -53230,10 +53247,13 @@ var MergeScanSubscriber = /*@__PURE__*/ (function (_super) { } }; MergeScanSubscriber.prototype._innerSub = function (ish, value, index) { - var innerSubscriber = new _InnerSubscriber__WEBPACK_IMPORTED_MODULE_3__["InnerSubscriber"](this, undefined, undefined); + var innerSubscriber = new _InnerSubscriber__WEBPACK_IMPORTED_MODULE_3__["InnerSubscriber"](this, value, index); var destination = this.destination; destination.add(innerSubscriber); - Object(_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_1__["subscribeToResult"])(this, ish, value, index, innerSubscriber); + var innerSubscription = Object(_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_1__["subscribeToResult"])(this, ish, undefined, undefined, innerSubscriber); + if (innerSubscription !== innerSubscriber) { + destination.add(innerSubscription); + } }; MergeScanSubscriber.prototype._complete = function () { this.hasCompleted = true; @@ -53420,7 +53440,10 @@ var OnErrorResumeNextSubscriber = /*@__PURE__*/ (function (_super) { var innerSubscriber = new _InnerSubscriber__WEBPACK_IMPORTED_MODULE_4__["InnerSubscriber"](this, undefined, undefined); var destination = this.destination; destination.add(innerSubscriber); - Object(_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_5__["subscribeToResult"])(this, next, undefined, undefined, innerSubscriber); + var innerSubscription = Object(_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_5__["subscribeToResult"])(this, next, undefined, undefined, innerSubscriber); + if (innerSubscription !== innerSubscriber) { + destination.add(innerSubscription); + } } else { this.destination.complete(); @@ -54258,6 +54281,7 @@ function shareReplayOperator(_a) { }, complete: function () { isComplete = true; + subscription = undefined; subject.complete(); }, }); @@ -54497,7 +54521,11 @@ var SkipUntilSubscriber = /*@__PURE__*/ (function (_super) { var innerSubscriber = new _InnerSubscriber__WEBPACK_IMPORTED_MODULE_2__["InnerSubscriber"](_this, undefined, undefined); _this.add(innerSubscriber); _this.innerSubscription = innerSubscriber; - Object(_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_3__["subscribeToResult"])(_this, notifier, undefined, undefined, innerSubscriber); + var innerSubscription = Object(_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_3__["subscribeToResult"])(_this, notifier, undefined, undefined, innerSubscriber); + if (innerSubscription !== innerSubscriber) { + _this.add(innerSubscription); + _this.innerSubscription = innerSubscription; + } return _this; } SkipUntilSubscriber.prototype._next = function (value) { @@ -54706,7 +54734,7 @@ var SubscribeOnObservable = /*@__PURE__*/ (function (_super) { __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "switchAll", function() { return switchAll; }); /* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(470); -/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(60); +/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(25); /** PURE_IMPORTS_START _switchMap,_util_identity PURE_IMPORTS_END */ @@ -54776,10 +54804,13 @@ var SwitchMapSubscriber = /*@__PURE__*/ (function (_super) { if (innerSubscription) { innerSubscription.unsubscribe(); } - var innerSubscriber = new _InnerSubscriber__WEBPACK_IMPORTED_MODULE_2__["InnerSubscriber"](this, undefined, undefined); + var innerSubscriber = new _InnerSubscriber__WEBPACK_IMPORTED_MODULE_2__["InnerSubscriber"](this, value, index); var destination = this.destination; destination.add(innerSubscriber); - this.innerSubscription = Object(_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_3__["subscribeToResult"])(this, result, value, index, innerSubscriber); + this.innerSubscription = Object(_util_subscribeToResult__WEBPACK_IMPORTED_MODULE_3__["subscribeToResult"])(this, result, undefined, undefined, innerSubscriber); + if (this.innerSubscription !== innerSubscriber) { + destination.add(this.innerSubscription); + } }; SwitchMapSubscriber.prototype._complete = function () { var innerSubscription = this.innerSubscription; @@ -54950,7 +54981,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "tap", function() { return tap; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); /* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11); -/* harmony import */ var _util_noop__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(25); +/* harmony import */ var _util_noop__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60); /* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(13); /** PURE_IMPORTS_START tslib,_Subscriber,_util_noop,_util_isFunction PURE_IMPORTS_END */ diff --git a/packages/kbn-pm/package.json b/packages/kbn-pm/package.json index d9ff0be55bde5..3e7ed49c61314 100644 --- a/packages/kbn-pm/package.json +++ b/packages/kbn-pm/package.json @@ -53,7 +53,7 @@ "ora": "^1.4.0", "prettier": "^2.0.5", "read-pkg": "^5.2.0", - "rxjs": "^6.5.3", + "rxjs": "^6.5.5", "spawn-sync": "^1.0.15", "string-replace-loader": "^2.2.0", "strip-ansi": "^4.0.0", diff --git a/packages/kbn-pm/src/commands/bootstrap.test.ts b/packages/kbn-pm/src/commands/bootstrap.test.ts index c69427e8b3c74..97505a66a1fff 100644 --- a/packages/kbn-pm/src/commands/bootstrap.test.ts +++ b/packages/kbn-pm/src/commands/bootstrap.test.ts @@ -127,13 +127,13 @@ test('handles dependencies of dependencies', async () => { expect(mockInstallInDir.mock.calls).toMatchSnapshot('install in dir'); expect(logWriter.messages).toMatchInlineSnapshot(` Array [ - " info [kibana] running yarn", + info [kibana] running yarn, "", "", - " info [bar] running yarn", + info [bar] running yarn, "", "", - " info [foo] running yarn", + info [foo] running yarn, "", "", ] @@ -174,7 +174,7 @@ test('does not run installer if no deps in package', async () => { expect(mockInstallInDir.mock.calls).toMatchSnapshot('install in dir'); expect(logWriter.messages).toMatchInlineSnapshot(` Array [ - " info [kibana] running yarn", + info [kibana] running yarn, "", "", ] diff --git a/packages/kbn-pm/src/test_helpers/strip_ansi_snapshot_serializer.ts b/packages/kbn-pm/src/test_helpers/strip_ansi_snapshot_serializer.ts index bf8bd129c0bbf..d5b73dfd4d5ee 100644 --- a/packages/kbn-pm/src/test_helpers/strip_ansi_snapshot_serializer.ts +++ b/packages/kbn-pm/src/test_helpers/strip_ansi_snapshot_serializer.ts @@ -20,9 +20,9 @@ import hasAnsi from 'has-ansi'; import stripAnsi from 'strip-ansi'; -export const stripAnsiSnapshotSerializer = { - print(value: string, serialize: (val: string) => string) { - return serialize(stripAnsi(value)); +export const stripAnsiSnapshotSerializer: jest.SnapshotSerializerPlugin = { + serialize(value: string) { + return stripAnsi(value); }, test(value: any) { diff --git a/packages/kbn-pm/src/utils/__snapshots__/projects_tree.test.ts.snap b/packages/kbn-pm/src/utils/__snapshots__/projects_tree.test.ts.snap index 12cbc704b4803..9993e2eaf377a 100644 --- a/packages/kbn-pm/src/utils/__snapshots__/projects_tree.test.ts.snap +++ b/packages/kbn-pm/src/utils/__snapshots__/projects_tree.test.ts.snap @@ -1,29 +1,29 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`handles projects outside root folder 1`] = ` -"kibana +kibana ├── packages │ ├── bar │ └── foo └── ../plugins ├── baz ├── quux - └── zorge" + └── zorge `; exports[`handles projects with root folder 1`] = ` -"kibana +kibana └── packages ├── bar - └── foo" + └── foo `; exports[`handles projects within projects outside root folder 1`] = ` -"kibana +kibana ├── packages │ ├── bar │ └── foo └── ../kibana-extra/additional_projects (with-additional-projects) ├── packages/baz - └── plugins/quux" + └── plugins/quux `; diff --git a/packages/kbn-pm/src/utils/link_project_executables.test.ts b/packages/kbn-pm/src/utils/link_project_executables.test.ts index f5c19d569f6b8..a98d2caa30343 100644 --- a/packages/kbn-pm/src/utils/link_project_executables.test.ts +++ b/packages/kbn-pm/src/utils/link_project_executables.test.ts @@ -115,9 +115,9 @@ describe('bin script points to a file', () => { expect(getFsMockCalls()).toMatchSnapshot('fs module calls'); expect(logWriter.messages).toMatchInlineSnapshot(` Array [ - " debg Linking package executables", - " debg [foo] bar -> ../bar/bin/bar.js", - " debg [baz] bar -> ../bar/bin/bar.js", + debg Linking package executables, + debg [foo] bar -> ../bar/bin/bar.js, + debg [baz] bar -> ../bar/bin/bar.js, ] `); }); diff --git a/packages/kbn-spec-to-console/package.json b/packages/kbn-spec-to-console/package.json index ebbf244eb2e10..5423bc3fd4ecd 100644 --- a/packages/kbn-spec-to-console/package.json +++ b/packages/kbn-spec-to-console/package.json @@ -17,7 +17,7 @@ }, "homepage": "https://github.com/jbudz/spec-to-console#readme", "devDependencies": { - "jest": "^24.9.0", + "jest": "^25.5.4", "prettier": "^2.0.5" }, "dependencies": { diff --git a/packages/kbn-storybook/package.json b/packages/kbn-storybook/package.json index 72308fa31287f..4f035c3334b86 100644 --- a/packages/kbn-storybook/package.json +++ b/packages/kbn-storybook/package.json @@ -23,7 +23,7 @@ "mini-css-extract-plugin": "0.7.0", "normalize-path": "3.0.0", "react-docgen-typescript-loader": "3.1.0", - "rxjs": "6.5.2", + "rxjs": "6.5.5", "serve-static": "1.14.1", "styled-components": "^5.1.0", "webpack": "^4.41.5" diff --git a/packages/kbn-test/package.json b/packages/kbn-test/package.json index fa30a88b79b08..042de2617565e 100644 --- a/packages/kbn-test/package.json +++ b/packages/kbn-test/package.json @@ -30,7 +30,7 @@ "joi": "^13.5.2", "parse-link-header": "^1.0.1", "puppeteer": "^3.3.0", - "rxjs": "^6.5.3", + "rxjs": "^6.5.5", "strip-ansi": "^5.2.0", "tar-fs": "^1.16.3", "tmp": "^0.1.0", diff --git a/packages/kbn-test/src/failed_tests_reporter/add_messages_to_report.test.ts b/packages/kbn-test/src/failed_tests_reporter/add_messages_to_report.test.ts index 7cbeb18a5ebd4..f8f279151e07f 100644 --- a/packages/kbn-test/src/failed_tests_reporter/add_messages_to_report.test.ts +++ b/packages/kbn-test/src/failed_tests_reporter/add_messages_to_report.test.ts @@ -26,7 +26,7 @@ import { createPatch } from 'diff'; // turns out Jest can't encode xml diffs in their JUnit reports... expect.addSnapshotSerializer({ test: (v) => typeof v === 'string' && (v.includes('<') || v.includes('>')), - print: (v) => v.replace(//g, '›').replace(/^\s+$/gm, ''), + serialize: (v) => v.replace(//g, '›').replace(/^\s+$/gm, ''), }); jest.mock('fs', () => { diff --git a/packages/kbn-ui-framework/src/components/form/text_input/text_input.test.js b/packages/kbn-ui-framework/src/components/form/text_input/text_input.test.js index 41d3726582fb5..2e614c3f17611 100644 --- a/packages/kbn-ui-framework/src/components/form/text_input/text_input.test.js +++ b/packages/kbn-ui-framework/src/components/form/text_input/text_input.test.js @@ -45,18 +45,34 @@ describe('KuiTextInput', () => { }); describe('autoFocus', () => { + /* eslint-disable no-console */ + // Silence until enzyme fixed https://github.com/enzymejs/enzyme/issues/2337 + const originalError = console.error; + beforeAll(() => { + console.error = jest.fn(); + }); + afterAll(() => { + console.error = originalError; + }); + /* eslint-enable no-console */ + test('sets focus on the element', () => { const component = mount( - {}} data-test-subj="input" /> + {}} data-test-subj="input" />, + { attachTo: document.body } ); expect(findTestSubject(component, 'input').getDOMNode()).toBe(document.activeElement); + component.unmount(); }); test('does not focus the element by default', () => { - const component = mount( {}} data-test-subj="input" />); + const component = mount( {}} data-test-subj="input" />, { + attachTo: document.body, + }); expect(findTestSubject(component, 'input').getDOMNode()).not.toBe(document.activeElement); + component.unmount(); }); }); diff --git a/packages/kbn-ui-shared-deps/package.json b/packages/kbn-ui-shared-deps/package.json index ffe40a8fe1c10..1cc04afad5669 100644 --- a/packages/kbn-ui-shared-deps/package.json +++ b/packages/kbn-ui-shared-deps/package.json @@ -29,7 +29,7 @@ "react-router": "^5.1.2", "react-router-dom": "^5.1.2", "regenerator-runtime": "^0.13.3", - "rxjs": "^6.5.3", + "rxjs": "^6.5.5", "symbol-observable": "^1.2.0", "whatwg-fetch": "^3.0.0" }, diff --git a/src/core/public/application/application_service.test.mocks.ts b/src/core/public/application/application_service.test.mocks.ts index 727295237d741..11c69c1971fd1 100644 --- a/src/core/public/application/application_service.test.mocks.ts +++ b/src/core/public/application/application_service.test.mocks.ts @@ -37,7 +37,11 @@ jest.doMock('history', () => ({ })); export const parseAppUrlMock = jest.fn(); -jest.doMock('./utils', () => ({ - ...jest.requireActual('./utils'), - parseAppUrl: parseAppUrlMock, -})); +jest.doMock('./utils', () => { + const original = jest.requireActual('./utils'); + + return { + ...original, + parseAppUrl: parseAppUrlMock, + }; +}); diff --git a/src/core/public/application/integration_tests/application_service.test.tsx b/src/core/public/application/integration_tests/application_service.test.tsx index e3cd0761c3244..b0419d276dfa1 100644 --- a/src/core/public/application/integration_tests/application_service.test.tsx +++ b/src/core/public/application/integration_tests/application_service.test.tsx @@ -147,44 +147,52 @@ describe('ApplicationService', () => { }); }); - it('redirects to full path when navigating to legacy app', async () => { - const redirectTo = jest.fn(); - const reloadSpy = jest.spyOn(window.location, 'reload').mockImplementation(() => {}); - - // In the real application, we use a BrowserHistory instance configured with `basename`. However, in tests we must - // use MemoryHistory which does not support `basename`. In order to emulate this behavior, we will wrap this - // instance with a ScopedHistory configured with a basepath. - history.push(setupDeps.http.basePath.get()); // ScopedHistory constructor will fail if underlying history is not currently at basePath. - const { register, registerLegacyApp } = service.setup({ - ...setupDeps, - redirectTo, - history: new ScopedHistory(history, setupDeps.http.basePath.get()), + describe('redirects', () => { + beforeAll(() => { + Object.defineProperty(window, 'location', { + value: { + reload: jest.fn(), + }, + }); }); - register(Symbol(), { - id: 'app1', - title: 'App1', - mount: ({ onAppLeave }: AppMountParameters) => { - onAppLeave((actions) => actions.default()); - return () => undefined; - }, - }); - registerLegacyApp({ - id: 'myLegacyTestApp', - appUrl: '/app/myLegacyTestApp', - title: 'My Legacy Test App', - }); + it('to full path when navigating to legacy app', async () => { + const redirectTo = jest.fn(); + + // In the real application, we use a BrowserHistory instance configured with `basename`. However, in tests we must + // use MemoryHistory which does not support `basename`. In order to emulate this behavior, we will wrap this + // instance with a ScopedHistory configured with a basepath. + history.push(setupDeps.http.basePath.get()); // ScopedHistory constructor will fail if underlying history is not currently at basePath. + const { register, registerLegacyApp } = service.setup({ + ...setupDeps, + redirectTo, + history: new ScopedHistory(history, setupDeps.http.basePath.get()), + }); + + register(Symbol(), { + id: 'app1', + title: 'App1', + mount: ({ onAppLeave }: AppMountParameters) => { + onAppLeave((actions) => actions.default()); + return () => undefined; + }, + }); + registerLegacyApp({ + id: 'myLegacyTestApp', + appUrl: '/app/myLegacyTestApp', + title: 'My Legacy Test App', + }); - const { navigateToApp, getComponent } = await service.start(startDeps); + const { navigateToApp, getComponent } = await service.start(startDeps); - update = createRenderer(getComponent()); + update = createRenderer(getComponent()); - await navigate('/test/app/app1'); - await act(() => navigateToApp('myLegacyTestApp', { path: '#/some-path' })); + await navigate('/test/app/app1'); + await act(() => navigateToApp('myLegacyTestApp', { path: '#/some-path' })); - expect(redirectTo).toHaveBeenCalledWith('/test/app/myLegacyTestApp#/some-path'); - expect(reloadSpy).toHaveBeenCalled(); - reloadSpy.mockRestore(); + expect(redirectTo).toHaveBeenCalledWith('/test/app/myLegacyTestApp#/some-path'); + expect(window.location.reload).toHaveBeenCalled(); + }); }); describe('leaving an application that registered an app leave handler', () => { diff --git a/src/core/public/chrome/ui/header/__snapshots__/collapsible_nav.test.tsx.snap b/src/core/public/chrome/ui/header/__snapshots__/collapsible_nav.test.tsx.snap index 60963c0acb990..9239811df2065 100644 --- a/src/core/public/chrome/ui/header/__snapshots__/collapsible_nav.test.tsx.snap +++ b/src/core/public/chrome/ui/header/__snapshots__/collapsible_nav.test.tsx.snap @@ -410,6 +410,7 @@ exports[`CollapsibleNav renders links grouped by category 1`] = ` >
- + } className="euiCollapsibleNavGroup euiCollapsibleNavGroup--light euiCollapsibleNavGroup--withHeading" data-test-subj="collapsibleNavGroup-recentlyViewed" @@ -2054,7 +2056,7 @@ exports[`CollapsibleNav renders links grouped by category 1`] = ` arrowDisplay="right" buttonClassName="euiCollapsibleNavGroup__heading" buttonContent={ - - + } className="euiCollapsibleNavGroup euiCollapsibleNavGroup--withHeading" data-test-subj="collapsibleNavGroup-kibana" @@ -2341,7 +2343,7 @@ exports[`CollapsibleNav renders links grouped by category 1`] = ` arrowDisplay="right" buttonClassName="euiCollapsibleNavGroup__heading" buttonContent={ - - + } className="euiCollapsibleNavGroup euiCollapsibleNavGroup--withHeading" data-test-subj="collapsibleNavGroup-observability" @@ -2589,7 +2591,7 @@ exports[`CollapsibleNav renders links grouped by category 1`] = ` arrowDisplay="right" buttonClassName="euiCollapsibleNavGroup__heading" buttonContent={ - - + } className="euiCollapsibleNavGroup euiCollapsibleNavGroup--withHeading" data-test-subj="collapsibleNavGroup-security" @@ -2797,7 +2799,7 @@ exports[`CollapsibleNav renders links grouped by category 1`] = ` arrowDisplay="right" buttonClassName="euiCollapsibleNavGroup__heading" buttonContent={ - - + } className="euiCollapsibleNavGroup euiCollapsibleNavGroup--withHeading" data-test-subj="collapsibleNavGroup-management" @@ -3783,7 +3785,7 @@ exports[`CollapsibleNav renders the default nav 2`] = ` arrowDisplay="right" buttonClassName="euiCollapsibleNavGroup__heading" buttonContent={ - - + } className="euiCollapsibleNavGroup euiCollapsibleNavGroup--light euiCollapsibleNavGroup--withHeading" data-test-subj="collapsibleNavGroup-recentlyViewed" @@ -4377,6 +4379,7 @@ exports[`CollapsibleNav renders the default nav 3`] = ` >
- + } className="euiCollapsibleNavGroup euiCollapsibleNavGroup--light euiCollapsibleNavGroup--withHeading" data-test-subj="collapsibleNavGroup-recentlyViewed" diff --git a/src/core/public/chrome/ui/header/__snapshots__/header.test.tsx.snap b/src/core/public/chrome/ui/header/__snapshots__/header.test.tsx.snap index 41f1ece34c415..455921ba38a86 100644 --- a/src/core/public/chrome/ui/header/__snapshots__/header.test.tsx.snap +++ b/src/core/public/chrome/ui/header/__snapshots__/header.test.tsx.snap @@ -4302,7 +4302,7 @@ exports[`Header renders 2`] = ` - + } closePopover={[Function]} data-test-subj="helpMenuButton" @@ -8405,7 +8405,7 @@ exports[`Header renders 3`] = ` - + } closePopover={[Function]} data-test-subj="helpMenuButton" @@ -8849,6 +8849,7 @@ exports[`Header renders 3`] = ` >
- + } className="euiCollapsibleNavGroup euiCollapsibleNavGroup--light euiCollapsibleNavGroup--withHeading" data-test-subj="collapsibleNavGroup-recentlyViewed" @@ -13579,7 +13581,7 @@ exports[`Header renders 4`] = ` - + } closePopover={[Function]} data-test-subj="helpMenuButton" diff --git a/src/core/public/core_app/errors/url_overflow.test.ts b/src/core/public/core_app/errors/url_overflow.test.ts index 115bf53aa2a84..3d21c4817be03 100644 --- a/src/core/public/core_app/errors/url_overflow.test.ts +++ b/src/core/public/core_app/errors/url_overflow.test.ts @@ -35,7 +35,6 @@ describe('url overflow detection', () => { let history: History; let toasts: jest.Mocked; let uiSettings: jest.Mocked; - let assignSpy: jest.SpyInstance; let unlisten: any; beforeEach(() => { @@ -44,8 +43,11 @@ describe('url overflow detection', () => { toasts = notificationServiceMock.createStartContract().toasts; uiSettings = uiSettingsServiceMock.createStartContract(); - // No-op mock impl to avoid jsdom warning about navigation not being implemented - assignSpy = jest.spyOn(window.location, 'assign').mockImplementation(() => {}); + Object.defineProperty(window, 'location', { + value: { + assign: jest.fn(), + }, + }); unlisten = setupUrlOverflowDetection({ basePath, @@ -57,19 +59,19 @@ describe('url overflow detection', () => { afterEach(() => { unlisten(); - assignSpy.mockRestore(); + jest.clearAllMocks(); }); it('redirects to error page when URL is too long', () => { history.push(longUrl); - expect(assignSpy).toHaveBeenCalledWith('/app/error?errorType=urlOverflow'); + expect(window.location.assign).toHaveBeenCalledWith('/app/error?errorType=urlOverflow'); }); it('displays a toast if URL exceeds warning threshold', () => { const warningUrl = '/' + 'a'.repeat(URL_WARNING_LENGTH); history.push(warningUrl); expect(history.location.pathname).toEqual(warningUrl); - expect(assignSpy).not.toHaveBeenCalled(); + expect(window.location.assign).not.toHaveBeenCalled(); expect(toasts.addWarning).toHaveBeenCalledWith( expect.objectContaining({ title: 'The URL is big and Kibana might stop working', @@ -102,7 +104,7 @@ describe('url overflow detection', () => { it('does not redirect or show warning if URL is not too long', () => { history.push('/regular-length-url'); expect(history.location.pathname).toEqual('/regular-length-url'); - expect(assignSpy).not.toHaveBeenCalled(); + expect(window.location.assign).not.toHaveBeenCalled(); expect(toasts.addWarning).not.toHaveBeenCalled(); }); @@ -110,7 +112,7 @@ describe('url overflow detection', () => { uiSettings.get.mockReturnValue(true); history.push(longUrl); expect(history.location.pathname).toEqual(longUrl); - expect(assignSpy).not.toHaveBeenCalled(); + expect(window.location.assign).not.toHaveBeenCalled(); expect(toasts.addWarning).not.toHaveBeenCalled(); }); @@ -121,7 +123,7 @@ describe('url overflow detection', () => { history.push(longErrorUrl); expect(history.location.pathname).toEqual('/app/error'); expect(history.location.search).toEqual(`?q=${longQueryParam}`); - expect(assignSpy).not.toHaveBeenCalled(); + expect(window.location.assign).not.toHaveBeenCalled(); expect(toasts.addWarning).not.toHaveBeenCalled(); }); }); diff --git a/src/core/public/fatal_errors/__snapshots__/fatal_errors_screen.test.tsx.snap b/src/core/public/fatal_errors/__snapshots__/fatal_errors_screen.test.tsx.snap index b9a4f775c2b56..7b7debc128fb1 100644 --- a/src/core/public/fatal_errors/__snapshots__/fatal_errors_screen.test.tsx.snap +++ b/src/core/public/fatal_errors/__snapshots__/fatal_errors_screen.test.tsx.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`rendering render matches snapshot 1`] = ` +exports[`FatalErrorsScreen rendering render matches snapshot 1`] = ` { - // noop -}; - -afterEach(() => { - jest.restoreAllMocks(); -}); - -describe('reloading', () => { - it('refreshes the page if a `hashchange` event is emitted', () => { - const addEventListenerSpy = jest.spyOn(window, 'addEventListener'); - - const locationReloadSpy = jest.spyOn(window.location, 'reload').mockImplementation(noop); +describe('FatalErrorsScreen', () => { + const errorInfoFoo = { + message: 'foo', + stack: 'Error: foo\n stack...foo.js:1:1', + }; + const errorInfoBar = { + message: 'bar', + stack: 'Error: bar\n stack...bar.js:1:1', + }; + + const defaultProps = { + buildNumber: 123, + kibanaVersion: 'bar', + errorInfo$: Rx.of(errorInfoFoo, errorInfoBar), + }; + + const noop = () => { + // noop + }; - shallowWithIntl(); - expect(addEventListenerSpy).toHaveBeenCalledTimes(1); - expect(addEventListenerSpy).toHaveBeenCalledWith('hashchange', expect.any(Function), undefined); - - expect(locationReloadSpy).not.toHaveBeenCalled(); - const [, handler] = addEventListenerSpy.mock.calls[0]; - (handler as jest.Mock)(); - expect(locationReloadSpy).toHaveBeenCalledTimes(1); + beforeAll(() => { + Object.defineProperty(window, 'location', { + value: { + reload: jest.fn(), + }, + }); }); -}); -describe('rendering', () => { - it('render matches snapshot', () => { - expect(shallowWithIntl()).toMatchSnapshot(); + describe('reloading', () => { + it('refreshes the page if a `hashchange` event is emitted', () => { + const addEventListenerSpy = jest.spyOn(window, 'addEventListener'); + + shallowWithIntl(); + expect(addEventListenerSpy).toHaveBeenCalledTimes(1); + expect(addEventListenerSpy).toHaveBeenCalledWith( + 'hashchange', + expect.any(Function), + undefined + ); + + expect(window.location.reload).not.toHaveBeenCalled(); + const [, handler] = (window as any).addEventListener.mock.calls[0]; + (handler as jest.Mock)(); + expect(window.location.reload).toHaveBeenCalledTimes(1); + }); }); - it('rerenders when errorInfo$ emits more errors', () => { - const errorInfo$ = new Rx.ReplaySubject(); + describe('rendering', () => { + it('render matches snapshot', () => { + expect(shallowWithIntl()).toMatchSnapshot(); + }); + + it('rerenders when errorInfo$ emits more errors', () => { + const errorInfo$ = new Rx.ReplaySubject(); - const el = shallowWithIntl(); + const el = shallowWithIntl(); - expect(el.find(EuiCallOut)).toHaveLength(0); + expect(el.find(EuiCallOut)).toHaveLength(0); - errorInfo$.next(errorInfoFoo); - el.update(); // allow setState() to cause a render + errorInfo$.next(errorInfoFoo); + el.update(); // allow setState() to cause a render - expect(el.find(EuiCallOut)).toHaveLength(1); + expect(el.find(EuiCallOut)).toHaveLength(1); - errorInfo$.next(errorInfoBar); - el.update(); // allow setState() to cause a render + errorInfo$.next(errorInfoBar); + el.update(); // allow setState() to cause a render - expect(el.find(EuiCallOut)).toHaveLength(2); + expect(el.find(EuiCallOut)).toHaveLength(2); + }); }); -}); -describe('buttons', () => { - beforeAll(() => { - Object.assign(window, { - localStorage: { - clear: jest.fn(), - }, - sessionStorage: { - clear: jest.fn(), - }, + describe('buttons', () => { + beforeAll(() => { + delete (window as any).localStorage; + delete (window as any).sessionStorage; + + Object.assign(window, { + localStorage: { + clear: jest.fn(), + }, + sessionStorage: { + clear: jest.fn(), + }, + }); }); - }); - afterAll(() => { - delete (window as any).localStorage; - delete (window as any).sessionStorage; - }); + afterAll(() => { + delete (window as any).localStorage; + delete (window as any).sessionStorage; + }); - describe('"Clear your session"', () => { - it('clears localStorage, sessionStorage, the location.hash, and reloads the page', () => { - window.location.hash = '/foo/bar'; - jest.spyOn(window.location, 'reload').mockImplementation(noop); + describe('"Clear your session"', () => { + it('clears localStorage, sessionStorage, the location.hash, and reloads the page', () => { + window.location.hash = '/foo/bar'; + jest.spyOn(window.location, 'reload').mockImplementation(noop); - const el = mountWithIntl(); - const button = el.find('button').find(testSubjSelector('clearSession')); - button.simulate('click'); + const el = mountWithIntl(); + const button = el.find('button').find(testSubjSelector('clearSession')); + button.simulate('click'); - expect(window.localStorage.clear).toHaveBeenCalled(); - expect(window.sessionStorage.clear).toHaveBeenCalled(); - expect(window.location.reload).toHaveBeenCalled(); - expect(window.location.hash).toBe(''); + expect(window.localStorage.clear).toHaveBeenCalled(); + expect(window.sessionStorage.clear).toHaveBeenCalled(); + expect(window.location.reload).toHaveBeenCalled(); + expect(window.location.hash).toBe(''); + }); }); - }); - describe('"Go back"', () => { - it('calls window.history.back()', () => { - jest.spyOn(window.history, 'back').mockImplementation(noop); + describe('"Go back"', () => { + it('calls window.history.back()', () => { + jest.spyOn(window.history, 'back').mockImplementation(noop); - const el = mountWithIntl(); - const button = el.find('button').find(testSubjSelector('goBack')); - button.simulate('click'); + const el = mountWithIntl(); + const button = el.find('button').find(testSubjSelector('goBack')); + button.simulate('click'); - expect(window.history.back).toHaveBeenCalled(); + expect(window.history.back).toHaveBeenCalled(); + }); }); }); }); diff --git a/src/core/server/elasticsearch/cluster_client.test.mocks.ts b/src/core/server/elasticsearch/cluster_client.test.mocks.ts index 4a8553d1d5f99..6873117aecc35 100644 --- a/src/core/server/elasticsearch/cluster_client.test.mocks.ts +++ b/src/core/server/elasticsearch/cluster_client.test.mocks.ts @@ -18,11 +18,14 @@ */ export const MockClient = jest.fn(); -jest.mock('elasticsearch', () => ({ - // Jest types don't include `requireActual` right now. - ...jest.requireActual('elasticsearch'), - Client: MockClient, -})); +jest.mock('elasticsearch', () => { + const original = jest.requireActual('elasticsearch'); + + return { + ...original, + Client: MockClient, + }; +}); export const MockScopedClusterClient = jest.fn(); jest.mock('./scoped_cluster_client', () => ({ diff --git a/src/core/server/elasticsearch/version_check/ensure_es_version.test.ts b/src/core/server/elasticsearch/version_check/ensure_es_version.test.ts index a4cf0ffd58088..a2090ed111ca1 100644 --- a/src/core/server/elasticsearch/version_check/ensure_es_version.test.ts +++ b/src/core/server/elasticsearch/version_check/ensure_es_version.test.ts @@ -118,7 +118,7 @@ describe('pollEsNodesVersion', () => { }); beforeEach(() => { - callWithInternalUser.mockClear(); + callWithInternalUser.mockReset(); }); it('returns iscCompatible=false and keeps polling when a poll request throws', (done) => { diff --git a/src/core/server/http/http_config.test.ts b/src/core/server/http/http_config.test.ts index 0976bfd56682e..eaf66219d08dc 100644 --- a/src/core/server/http/http_config.test.ts +++ b/src/core/server/http/http_config.test.ts @@ -24,10 +24,14 @@ import { CspConfig } from '../csp'; const validHostnames = ['www.example.com', '8.8.8.8', '::1', 'localhost']; const invalidHostname = 'asdf$%^'; -jest.mock('os', () => ({ - ...jest.requireActual('os'), - hostname: () => 'kibana-hostname', -})); +jest.mock('os', () => { + const original = jest.requireActual('os'); + + return { + ...original, + hostname: () => 'kibana-hostname', + }; +}); test('has defaults for config', () => { const httpSchema = config.schema; diff --git a/src/core/server/http/http_tools.test.ts b/src/core/server/http/http_tools.test.ts index 79a1e32d1b51e..7d5a7277a767a 100644 --- a/src/core/server/http/http_tools.test.ts +++ b/src/core/server/http/http_tools.test.ts @@ -17,11 +17,14 @@ * under the License. */ -jest.mock('fs', () => ({ - // Hapi Inert patches native methods - ...jest.requireActual('fs'), - readFileSync: jest.fn(), -})); +jest.mock('fs', () => { + const original = jest.requireActual('fs'); + return { + // Hapi Inert patches native methods + ...original, + readFileSync: jest.fn(), + }; +}); import supertest from 'supertest'; import { Request, ResponseToolkit } from 'hapi'; diff --git a/src/core/server/logging/layouts/__snapshots__/pattern_layout.test.ts.snap b/src/core/server/logging/layouts/__snapshots__/pattern_layout.test.ts.snap index 1bf13204873a6..8988f3019d509 100644 --- a/src/core/server/logging/layouts/__snapshots__/pattern_layout.test.ts.snap +++ b/src/core/server/logging/layouts/__snapshots__/pattern_layout.test.ts.snap @@ -24,17 +24,17 @@ exports[`\`format()\` correctly formats record with full pattern. 5`] = `"[2012- exports[`\`format()\` correctly formats record with full pattern. 6`] = `"[2012-02-01T14:30:22.011Z][TRACE][context-6] message-6"`; -exports[`\`format()\` correctly formats record with highlighting. 1`] = `"[2012-02-01T14:30:22.011Z][FATAL][context-1] Some error stack"`; +exports[`\`format()\` correctly formats record with highlighting. 1`] = `[2012-02-01T14:30:22.011Z][FATAL][context-1] Some error stack`; -exports[`\`format()\` correctly formats record with highlighting. 2`] = `"[2012-02-01T14:30:22.011Z][ERROR][context-2] message-2"`; +exports[`\`format()\` correctly formats record with highlighting. 2`] = `[2012-02-01T14:30:22.011Z][ERROR][context-2] message-2`; -exports[`\`format()\` correctly formats record with highlighting. 3`] = `"[2012-02-01T14:30:22.011Z][WARN ][context-3] message-3"`; +exports[`\`format()\` correctly formats record with highlighting. 3`] = `[2012-02-01T14:30:22.011Z][WARN ][context-3] message-3`; -exports[`\`format()\` correctly formats record with highlighting. 4`] = `"[2012-02-01T14:30:22.011Z][DEBUG][context-4] message-4"`; +exports[`\`format()\` correctly formats record with highlighting. 4`] = `[2012-02-01T14:30:22.011Z][DEBUG][context-4] message-4`; -exports[`\`format()\` correctly formats record with highlighting. 5`] = `"[2012-02-01T14:30:22.011Z][INFO ][context-5] message-5"`; +exports[`\`format()\` correctly formats record with highlighting. 5`] = `[2012-02-01T14:30:22.011Z][INFO ][context-5] message-5`; -exports[`\`format()\` correctly formats record with highlighting. 6`] = `"[2012-02-01T14:30:22.011Z][TRACE][context-6] message-6"`; +exports[`\`format()\` correctly formats record with highlighting. 6`] = `[2012-02-01T14:30:22.011Z][TRACE][context-6] message-6`; exports[`allows specifying the PID in custom pattern 1`] = `"5355-context-1-Some error stack"`; diff --git a/src/core/server/saved_objects/import/validate_references.test.ts b/src/core/server/saved_objects/import/validate_references.test.ts index 6642cf149eda9..a9dce65b97d72 100644 --- a/src/core/server/saved_objects/import/validate_references.test.ts +++ b/src/core/server/saved_objects/import/validate_references.test.ts @@ -87,31 +87,31 @@ describe('getNonExistingReferenceAsKeys()', () => { const result = await getNonExistingReferenceAsKeys(savedObjects, savedObjectsClient); expect(result).toEqual([]); expect(savedObjectsClient.bulkGet).toMatchInlineSnapshot(` -[MockFunction] { - "calls": Array [ - Array [ - Array [ - Object { - "fields": Array [ - "id", + [MockFunction] { + "calls": Array [ + Array [ + Array [ + Object { + "fields": Array [ + "id", + ], + "id": "1", + "type": "index-pattern", + }, + ], + Object { + "namespace": undefined, + }, ], - "id": "1", - "type": "index-pattern", - }, - ], - Object { - "namespace": undefined, - }, - ], - ], - "results": Array [ - Object { - "type": "return", - "value": Promise {}, - }, - ], -} -`); + ], + "results": Array [ + Object { + "type": "return", + "value": Promise {}, + }, + ], + } + `); }); test(`doesn't handle saved object types outside of ENFORCED_TYPES`, async () => { @@ -186,38 +186,38 @@ describe('getNonExistingReferenceAsKeys()', () => { const result = await getNonExistingReferenceAsKeys(savedObjects, savedObjectsClient); expect(result).toEqual(['index-pattern:1', 'search:3']); expect(savedObjectsClient.bulkGet).toMatchInlineSnapshot(` -[MockFunction] { - "calls": Array [ - Array [ - Array [ - Object { - "fields": Array [ - "id", + [MockFunction] { + "calls": Array [ + Array [ + Array [ + Object { + "fields": Array [ + "id", + ], + "id": "1", + "type": "index-pattern", + }, + Object { + "fields": Array [ + "id", + ], + "id": "3", + "type": "search", + }, + ], + Object { + "namespace": undefined, + }, ], - "id": "1", - "type": "index-pattern", - }, - Object { - "fields": Array [ - "id", - ], - "id": "3", - "type": "search", - }, - ], - Object { - "namespace": undefined, - }, - ], - ], - "results": Array [ - Object { - "type": "return", - "value": Promise {}, - }, - ], -} -`); + ], + "results": Array [ + Object { + "type": "return", + "value": Promise {}, + }, + ], + } + `); }); }); @@ -231,11 +231,11 @@ describe('validateReferences()', () => { test('returns empty when no objects are passed in', async () => { const result = await validateReferences([], savedObjectsClient); expect(result).toMatchInlineSnapshot(` -Object { - "errors": Array [], - "filteredObjects": Array [], -} -`); + Object { + "errors": Array [], + "filteredObjects": Array [], + } + `); expect(savedObjectsClient.bulkGet).toHaveBeenCalledTimes(0); }); @@ -343,111 +343,111 @@ Object { ]; const result = await validateReferences(savedObjects, savedObjectsClient); expect(result).toMatchInlineSnapshot(` -Object { - "errors": Array [ - Object { - "error": Object { - "blocking": Array [], - "references": Array [ + Object { + "errors": Array [ Object { - "id": "3", - "type": "index-pattern", + "error": Object { + "blocking": Array [], + "references": Array [ + Object { + "id": "3", + "type": "index-pattern", + }, + ], + "type": "missing_references", + }, + "id": "2", + "title": "My Visualization 2", + "type": "visualization", }, - ], - "type": "missing_references", - }, - "id": "2", - "title": "My Visualization 2", - "type": "visualization", - }, - Object { - "error": Object { - "blocking": Array [], - "references": Array [ Object { - "id": "5", - "type": "index-pattern", - }, - Object { - "id": "6", - "type": "index-pattern", + "error": Object { + "blocking": Array [], + "references": Array [ + Object { + "id": "5", + "type": "index-pattern", + }, + Object { + "id": "6", + "type": "index-pattern", + }, + Object { + "id": "7", + "type": "search", + }, + ], + "type": "missing_references", + }, + "id": "4", + "title": "My Visualization 4", + "type": "visualization", }, + ], + "filteredObjects": Array [ Object { - "id": "7", - "type": "search", + "attributes": Object {}, + "id": "1", + "references": Array [], + "type": "visualization", }, ], - "type": "missing_references", - }, - "id": "4", - "title": "My Visualization 4", - "type": "visualization", - }, - ], - "filteredObjects": Array [ - Object { - "attributes": Object {}, - "id": "1", - "references": Array [], - "type": "visualization", - }, - ], -} -`); + } + `); expect(savedObjectsClient.bulkGet).toMatchInlineSnapshot(` -[MockFunction] { - "calls": Array [ - Array [ - Array [ - Object { - "fields": Array [ - "id", - ], - "id": "3", - "type": "index-pattern", - }, - Object { - "fields": Array [ - "id", - ], - "id": "5", - "type": "index-pattern", - }, - Object { - "fields": Array [ - "id", + [MockFunction] { + "calls": Array [ + Array [ + Array [ + Object { + "fields": Array [ + "id", + ], + "id": "3", + "type": "index-pattern", + }, + Object { + "fields": Array [ + "id", + ], + "id": "5", + "type": "index-pattern", + }, + Object { + "fields": Array [ + "id", + ], + "id": "6", + "type": "index-pattern", + }, + Object { + "fields": Array [ + "id", + ], + "id": "7", + "type": "search", + }, + Object { + "fields": Array [ + "id", + ], + "id": "8", + "type": "search", + }, + ], + Object { + "namespace": undefined, + }, ], - "id": "6", - "type": "index-pattern", - }, - Object { - "fields": Array [ - "id", - ], - "id": "7", - "type": "search", - }, - Object { - "fields": Array [ - "id", - ], - "id": "8", - "type": "search", - }, - ], - Object { - "namespace": undefined, - }, - ], - ], - "results": Array [ - Object { - "type": "return", - "value": Promise {}, - }, - ], -} -`); + ], + "results": Array [ + Object { + "type": "return", + "value": Promise {}, + }, + ], + } + `); }); test(`doesn't return errors when references exist in Elasticsearch`, async () => { @@ -477,24 +477,24 @@ Object { ]; const result = await validateReferences(savedObjects, savedObjectsClient); expect(result).toMatchInlineSnapshot(` -Object { - "errors": Array [], - "filteredObjects": Array [ - Object { - "attributes": Object {}, - "id": "2", - "references": Array [ - Object { - "id": "1", - "name": "ref_0", - "type": "index-pattern", - }, - ], - "type": "visualization", - }, - ], -} -`); + Object { + "errors": Array [], + "filteredObjects": Array [ + Object { + "attributes": Object {}, + "id": "2", + "references": Array [ + Object { + "id": "1", + "name": "ref_0", + "type": "index-pattern", + }, + ], + "type": "visualization", + }, + ], + } + `); expect(savedObjectsClient.bulkGet).toHaveBeenCalledTimes(1); }); @@ -521,30 +521,30 @@ Object { ]; const result = await validateReferences(savedObjects, savedObjectsClient); expect(result).toMatchInlineSnapshot(` -Object { - "errors": Array [], - "filteredObjects": Array [ - Object { - "attributes": Object {}, - "id": "1", - "references": Array [], - "type": "index-pattern", - }, - Object { - "attributes": Object {}, - "id": "2", - "references": Array [ - Object { - "id": "1", - "name": "ref_0", - "type": "index-pattern", - }, - ], - "type": "visualization", - }, - ], -} -`); + Object { + "errors": Array [], + "filteredObjects": Array [ + Object { + "attributes": Object {}, + "id": "1", + "references": Array [], + "type": "index-pattern", + }, + Object { + "attributes": Object {}, + "id": "2", + "references": Array [ + Object { + "id": "1", + "name": "ref_0", + "type": "index-pattern", + }, + ], + "type": "visualization", + }, + ], + } + `); expect(savedObjectsClient.bulkGet).toHaveBeenCalledTimes(0); }); @@ -570,29 +570,29 @@ Object { ]; const result = await validateReferences(savedObjects, savedObjectsClient); expect(result).toMatchInlineSnapshot(` -Object { - "errors": Array [], - "filteredObjects": Array [ - Object { - "attributes": Object {}, - "id": "1", - "references": Array [ - Object { - "id": "2", - "name": "ref_0", - "type": "visualization", - }, - Object { - "id": "3", - "name": "ref_1", - "type": "other-type", - }, - ], - "type": "dashboard", - }, - ], -} -`); + Object { + "errors": Array [], + "filteredObjects": Array [ + Object { + "attributes": Object {}, + "id": "1", + "references": Array [ + Object { + "id": "2", + "name": "ref_0", + "type": "visualization", + }, + Object { + "id": "3", + "name": "ref_1", + "type": "other-type", + }, + ], + "type": "dashboard", + }, + ], + } + `); expect(savedObjectsClient.bulkGet).toHaveBeenCalledTimes(0); }); diff --git a/src/core/server/status/test_utils.ts b/src/core/server/status/test_utils.ts index 765fa8771f375..737b34e2128b2 100644 --- a/src/core/server/status/test_utils.ts +++ b/src/core/server/status/test_utils.ts @@ -21,5 +21,5 @@ import { ServiceStatusLevels, ServiceStatusLevel } from './types'; export const ServiceStatusLevelSnapshotSerializer: jest.SnapshotSerializerPlugin = { test: (val: any) => Object.values(ServiceStatusLevels).includes(val), - print: (val: ServiceStatusLevel) => val.toString(), + serialize: (val: ServiceStatusLevel) => val.toString(), }; diff --git a/src/core/server/ui_settings/create_or_upgrade_saved_config/integration_tests/create_or_upgrade.test.ts b/src/core/server/ui_settings/create_or_upgrade_saved_config/integration_tests/create_or_upgrade.test.ts index 49d8137a65d39..adf36e4491b79 100644 --- a/src/core/server/ui_settings/create_or_upgrade_saved_config/integration_tests/create_or_upgrade.test.ts +++ b/src/core/server/ui_settings/create_or_upgrade_saved_config/integration_tests/create_or_upgrade.test.ts @@ -87,7 +87,6 @@ describe('createOrUpgradeSavedConfig()', () => { }, 30000); it('upgrades the previous version on each increment', async function () { - jest.setTimeout(30000); // ------------------------------------ // upgrade to 5.4.0 await createOrUpgradeSavedConfig({ @@ -211,5 +210,5 @@ describe('createOrUpgradeSavedConfig()', () => { '5.4.0': true, '5.4.0-rc1': true, }); - }); + }, 30000); }); diff --git a/src/core/test_helpers/strip_ansi_snapshot_serializer.ts b/src/core/test_helpers/strip_ansi_snapshot_serializer.ts index bf8bd129c0bbf..d5b73dfd4d5ee 100644 --- a/src/core/test_helpers/strip_ansi_snapshot_serializer.ts +++ b/src/core/test_helpers/strip_ansi_snapshot_serializer.ts @@ -20,9 +20,9 @@ import hasAnsi from 'has-ansi'; import stripAnsi from 'strip-ansi'; -export const stripAnsiSnapshotSerializer = { - print(value: string, serialize: (val: string) => string) { - return serialize(stripAnsi(value)); +export const stripAnsiSnapshotSerializer: jest.SnapshotSerializerPlugin = { + serialize(value: string) { + return stripAnsi(value); }, test(value: any) { diff --git a/src/dev/jest/cli.js b/src/dev/jest/cli.js index 1d63bb143fe16..40627c4bece74 100644 --- a/src/dev/jest/cli.js +++ b/src/dev/jest/cli.js @@ -17,6 +17,6 @@ * under the License. */ -import jest from 'jest'; +import { run } from 'jest'; -jest.run(process.argv.slice(2)); +run(process.argv.slice(2)); diff --git a/src/dev/jest/config.js b/src/dev/jest/config.js index 04b07748c4052..18fc7ebaa2af4 100644 --- a/src/dev/jest/config.js +++ b/src/dev/jest/config.js @@ -81,6 +81,7 @@ export default { coverageReporters: !!process.env.CODE_COVERAGE ? ['json'] : ['html', 'text'], moduleFileExtensions: ['js', 'json', 'ts', 'tsx', 'node'], modulePathIgnorePatterns: ['__fixtures__/', 'target/'], + testEnvironment: 'jest-environment-jsdom-thirteen', testMatch: ['**/*.test.{js,ts,tsx}'], testPathIgnorePatterns: [ '/packages/kbn-ui-framework/(dist|doc_site|generator-kui)/', diff --git a/src/dev/jest/setup/react_testing_library.js b/src/dev/jest/setup/react_testing_library.js index 879292b540ba6..41f58354844a3 100644 --- a/src/dev/jest/setup/react_testing_library.js +++ b/src/dev/jest/setup/react_testing_library.js @@ -17,7 +17,7 @@ * under the License. */ -import '@testing-library/jest-dom/extend-expect'; +import '@testing-library/jest-dom'; /** * Have to import "/pure" here to not register afterEach() hook clean up * in the very beginning. There are couple tests which fail with clean up hook. diff --git a/src/legacy/utils/streams/filter_stream.test.ts b/src/legacy/utils/streams/filter_stream.test.ts index 7f4901f31c173..28b7f2588628e 100644 --- a/src/legacy/utils/streams/filter_stream.test.ts +++ b/src/legacy/utils/streams/filter_stream.test.ts @@ -31,34 +31,34 @@ describe('createFilterStream()', () => { await createPromiseFromStreams([createListStream(['a', 'b', 'c']), createFilterStream(filter)]); expect(filter).toMatchInlineSnapshot(` -[MockFunction] { - "calls": Array [ - Array [ - "a", - ], - Array [ - "b", - ], - Array [ - "c", - ], - ], - "results": Array [ - Object { - "type": "return", - "value": true, - }, - Object { - "type": "return", - "value": true, - }, - Object { - "type": "return", - "value": true, - }, - ], -} -`); + [MockFunction] { + "calls": Array [ + Array [ + "a", + ], + Array [ + "b", + ], + Array [ + "c", + ], + ], + "results": Array [ + Object { + "type": "return", + "value": true, + }, + Object { + "type": "return", + "value": true, + }, + Object { + "type": "return", + "value": true, + }, + ], + } + `); }); test('send the filtered values on the output stream', async () => { @@ -69,9 +69,9 @@ describe('createFilterStream()', () => { ]); expect(result).toMatchInlineSnapshot(` -Array [ - 2, -] -`); + Array [ + 2, + ] + `); }); }); diff --git a/src/plugins/advanced_settings/public/management_app/components/field/__snapshots__/field.test.tsx.snap b/src/plugins/advanced_settings/public/management_app/components/field/__snapshots__/field.test.tsx.snap index 88f30e03df052..da18eb70e5874 100644 --- a/src/plugins/advanced_settings/public/management_app/components/field/__snapshots__/field.test.tsx.snap +++ b/src/plugins/advanced_settings/public/management_app/components/field/__snapshots__/field.test.tsx.snap @@ -381,7 +381,7 @@ exports[`Field for array setting should render user value if there is user value helpText={ - - +     @@ -818,7 +818,7 @@ exports[`Field for boolean setting should render user value if there is user val helpText={ - - +     @@ -1236,7 +1236,7 @@ exports[`Field for image setting should render user value if there is user value helpText={ - - +     - - + } @@ -1620,7 +1620,7 @@ exports[`Field for json setting should render default value if there is no user helpText={ - - +     @@ -1831,7 +1831,7 @@ exports[`Field for json setting should render user value if there is user value helpText={ - - +     @@ -2358,7 +2358,7 @@ exports[`Field for markdown setting should render user value if there is user va helpText={ - - +     @@ -2785,7 +2785,7 @@ exports[`Field for number setting should render user value if there is user valu helpText={ - - +     @@ -3272,7 +3272,7 @@ exports[`Field for select setting should render user value if there is user valu helpText={ - - +     @@ -3695,7 +3695,7 @@ exports[`Field for string setting should render user value if there is user valu helpText={ - - +     @@ -4102,7 +4102,7 @@ exports[`Field for stringWithValidation setting should render user value if ther helpText={ - - +     diff --git a/src/plugins/advanced_settings/public/management_app/components/form/__snapshots__/form.test.tsx.snap b/src/plugins/advanced_settings/public/management_app/components/form/__snapshots__/form.test.tsx.snap index bce9cb67537db..e38ccb6866ab6 100644 --- a/src/plugins/advanced_settings/public/management_app/components/form/__snapshots__/form.test.tsx.snap +++ b/src/plugins/advanced_settings/public/management_app/components/form/__snapshots__/form.test.tsx.snap @@ -155,7 +155,7 @@ exports[`Form should not render no settings message when instructed not to 1`] = id="advancedSettings.form.searchResultText" values={ Object { - "clearSearch": @@ -165,7 +165,7 @@ exports[`Form should not render no settings message when instructed not to 1`] = values={Object {}} /> - , + , "settingsCount": 9, } } @@ -367,7 +367,7 @@ exports[`Form should render no settings message when there are no settings 1`] = id="advancedSettings.form.searchResultText" values={ Object { - "clearSearch": @@ -377,7 +377,7 @@ exports[`Form should render no settings message when there are no settings 1`] = values={Object {}} /> - , + , "settingsCount": 9, } } @@ -579,7 +579,7 @@ exports[`Form should render normally 1`] = ` id="advancedSettings.form.searchResultText" values={ Object { - "clearSearch": @@ -589,7 +589,7 @@ exports[`Form should render normally 1`] = ` values={Object {}} /> - , + , "settingsCount": 9, } } @@ -791,7 +791,7 @@ exports[`Form should render read-only when saving is disabled 1`] = ` id="advancedSettings.form.searchResultText" values={ Object { - "clearSearch": @@ -801,7 +801,7 @@ exports[`Form should render read-only when saving is disabled 1`] = ` values={Object {}} /> - , + , "settingsCount": 9, } } diff --git a/src/plugins/dashboard/public/application/listing/__snapshots__/dashboard_listing.test.js.snap b/src/plugins/dashboard/public/application/listing/__snapshots__/dashboard_listing.test.js.snap index 54da8e383b47a..7985d34b117f5 100644 --- a/src/plugins/dashboard/public/application/listing/__snapshots__/dashboard_listing.test.js.snap +++ b/src/plugins/dashboard/public/application/listing/__snapshots__/dashboard_listing.test.js.snap @@ -101,7 +101,7 @@ exports[`after fetch initialFilter 1`] = ` id="dashboard.listing.createNewDashboard.newToKibanaDescription" values={ Object { - "sampleDataInstallLink": - , + , } } /> @@ -202,7 +202,7 @@ exports[`after fetch renders call to action when no dashboards exist 1`] = ` id="dashboard.listing.createNewDashboard.newToKibanaDescription" values={ Object { - "sampleDataInstallLink": - , + , } } /> @@ -303,7 +303,7 @@ exports[`after fetch renders table rows 1`] = ` id="dashboard.listing.createNewDashboard.newToKibanaDescription" values={ Object { - "sampleDataInstallLink": - , + , } } /> @@ -404,7 +404,7 @@ exports[`after fetch renders warning when listingLimit is exceeded 1`] = ` id="dashboard.listing.createNewDashboard.newToKibanaDescription" values={ Object { - "sampleDataInstallLink": - , + , } } /> @@ -505,7 +505,7 @@ exports[`renders empty page in before initial fetch to avoid flickering 1`] = ` id="dashboard.listing.createNewDashboard.newToKibanaDescription" values={ Object { - "sampleDataInstallLink": - , + , } } /> diff --git a/src/plugins/embeddable/public/lib/embeddables/embeddable_renderer.test.tsx b/src/plugins/embeddable/public/lib/embeddables/embeddable_renderer.test.tsx index 18d064601eaed..51213288e47a7 100644 --- a/src/plugins/embeddable/public/lib/embeddables/embeddable_renderer.test.tsx +++ b/src/plugins/embeddable/public/lib/embeddables/embeddable_renderer.test.tsx @@ -20,7 +20,6 @@ import React from 'react'; import { wait } from '@testing-library/dom'; import { cleanup, render } from '@testing-library/react/pure'; -import '@testing-library/jest-dom/extend-expect'; import { HelloWorldEmbeddable, HelloWorldEmbeddableFactoryDefinition, diff --git a/src/plugins/home/public/application/components/tutorial/__snapshots__/instruction_set.test.js.snap b/src/plugins/home/public/application/components/tutorial/__snapshots__/instruction_set.test.js.snap index 9409963ff95aa..a9f9823047c0b 100644 --- a/src/plugins/home/public/application/components/tutorial/__snapshots__/instruction_set.test.js.snap +++ b/src/plugins/home/public/application/components/tutorial/__snapshots__/instruction_set.test.js.snap @@ -150,7 +150,7 @@ exports[`statusCheckState checking status 1`] = ` }, Object { "children": - @@ -169,7 +169,7 @@ exports[`statusCheckState checking status 1`] = ` custom btn label - + @@ -257,7 +257,7 @@ exports[`statusCheckState failed status check - error 1`] = ` }, Object { "children": - @@ -276,7 +276,7 @@ exports[`statusCheckState failed status check - error 1`] = ` custom btn label - + @@ -368,7 +368,7 @@ exports[`statusCheckState failed status check - no data 1`] = ` }, Object { "children": - @@ -387,7 +387,7 @@ exports[`statusCheckState failed status check - no data 1`] = ` custom btn label - + @@ -479,7 +479,7 @@ exports[`statusCheckState initial state - no check has been attempted 1`] = ` }, Object { "children": - @@ -498,7 +498,7 @@ exports[`statusCheckState initial state - no check has been attempted 1`] = ` custom btn label - + @@ -586,7 +586,7 @@ exports[`statusCheckState successful status check 1`] = ` }, Object { "children": - @@ -605,7 +605,7 @@ exports[`statusCheckState successful status check 1`] = ` custom btn label - + diff --git a/src/plugins/home/public/application/components/tutorial/__snapshots__/saved_objects_installer.test.js.snap b/src/plugins/home/public/application/components/tutorial/__snapshots__/saved_objects_installer.test.js.snap index 595ad14bb0fe3..1e7b3d5c6284c 100644 --- a/src/plugins/home/public/application/components/tutorial/__snapshots__/saved_objects_installer.test.js.snap +++ b/src/plugins/home/public/application/components/tutorial/__snapshots__/saved_objects_installer.test.js.snap @@ -120,7 +120,7 @@ exports[`bulkCreate should display error message when bulkCreate request fails 1 Array [ Object { "children": - @@ -142,7 +142,7 @@ exports[`bulkCreate should display error message when bulkCreate request fails 1 Load Kibana objects - + @@ -421,7 +421,7 @@ exports[`bulkCreate should display success message when bulkCreate is successful Array [ Object { "children": - @@ -443,7 +443,7 @@ exports[`bulkCreate should display success message when bulkCreate is successful Load Kibana objects - + @@ -627,7 +627,7 @@ exports[`renders 1`] = ` Array [ Object { "children": - @@ -649,7 +649,7 @@ exports[`renders 1`] = ` Load Kibana objects - + diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/empty_state/__snapshots__/empty_state.test.tsx.snap b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/empty_state/__snapshots__/empty_state.test.tsx.snap index 4ebb5db05753b..bb94a7aa0b4de 100644 --- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/empty_state/__snapshots__/empty_state.test.tsx.snap +++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/empty_state/__snapshots__/empty_state.test.tsx.snap @@ -18,7 +18,7 @@ exports[`EmptyState should render normally 1`] = ` id="indexPatternManagement.createIndexPattern.emptyStateLabel.emptyStateDetail" values={ Object { - "getStartedLink": - , - "learnHowLink": , + "learnHowLink": - , + , "needToIndex": diff --git a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/time_field/__snapshots__/time_field.test.tsx.snap b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/time_field/__snapshots__/time_field.test.tsx.snap index 7d056433f55df..886a4ccad39cc 100644 --- a/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/time_field/__snapshots__/time_field.test.tsx.snap +++ b/src/plugins/index_pattern_management/public/components/create_index_pattern_wizard/components/step_time_field/components/time_field/__snapshots__/time_field.test.tsx.snap @@ -27,7 +27,7 @@ exports[`TimeField should render a loading state 1`] = `
} label={ - - + } labelType="label" > @@ -98,7 +98,7 @@ exports[`TimeField should render a selected time field 1`] = `
} label={ - - @@ -126,9 +126,9 @@ exports[`TimeField should render a selected time field 1`] = ` id="indexPatternManagement.createIndexPattern.stepTime.refreshButton" values={Object {}} /> - + - + } labelType="label" > @@ -179,7 +179,7 @@ exports[`TimeField should render normally 1`] = `
} label={ - - @@ -207,9 +207,9 @@ exports[`TimeField should render normally 1`] = ` id="indexPatternManagement.createIndexPattern.stepTime.refreshButton" values={Object {}} /> - + - + } labelType="label" > diff --git a/src/plugins/index_pattern_management/public/components/edit_index_pattern/scripted_fields_table/components/call_outs/__snapshots__/call_outs.test.tsx.snap b/src/plugins/index_pattern_management/public/components/edit_index_pattern/scripted_fields_table/components/call_outs/__snapshots__/call_outs.test.tsx.snap index 75ed855123524..5671ee173c8b0 100644 --- a/src/plugins/index_pattern_management/public/components/edit_index_pattern/scripted_fields_table/components/call_outs/__snapshots__/call_outs.test.tsx.snap +++ b/src/plugins/index_pattern_management/public/components/edit_index_pattern/scripted_fields_table/components/call_outs/__snapshots__/call_outs.test.tsx.snap @@ -20,7 +20,7 @@ exports[`CallOuts should render normally 1`] = ` values={ Object { "deprecatedLangsInUse": "php", - "link": - , + , } } /> diff --git a/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/bytes/__snapshots__/bytes.test.tsx.snap b/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/bytes/__snapshots__/bytes.test.tsx.snap index f3e529a8a1e1b..69ea6c481d49b 100644 --- a/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/bytes/__snapshots__/bytes.test.tsx.snap +++ b/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/bytes/__snapshots__/bytes.test.tsx.snap @@ -10,7 +10,7 @@ exports[`BytesFormatEditor should render normally 1`] = ` hasEmptyLabelSpace={false} helpText={ - @@ -23,7 +23,7 @@ exports[`BytesFormatEditor should render normally 1`] = ` - + } isInvalid={false} diff --git a/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/date/__snapshots__/date.test.tsx.snap b/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/date/__snapshots__/date.test.tsx.snap index a4d780c59ca74..48a7c3e013b1a 100644 --- a/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/date/__snapshots__/date.test.tsx.snap +++ b/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/date/__snapshots__/date.test.tsx.snap @@ -10,7 +10,7 @@ exports[`DateFormatEditor should render normally 1`] = ` hasEmptyLabelSpace={false} helpText={ - @@ -23,7 +23,7 @@ exports[`DateFormatEditor should render normally 1`] = ` - + } isInvalid={false} diff --git a/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/date_nanos/__snapshots__/date_nanos.test.tsx.snap b/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/date_nanos/__snapshots__/date_nanos.test.tsx.snap index 8c6397ea3adeb..540c8ece9e35b 100644 --- a/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/date_nanos/__snapshots__/date_nanos.test.tsx.snap +++ b/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/date_nanos/__snapshots__/date_nanos.test.tsx.snap @@ -10,7 +10,7 @@ exports[`DateFormatEditor should render normally 1`] = ` hasEmptyLabelSpace={false} helpText={ - @@ -23,7 +23,7 @@ exports[`DateFormatEditor should render normally 1`] = ` - + } isInvalid={false} diff --git a/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/number/__snapshots__/number.test.tsx.snap b/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/number/__snapshots__/number.test.tsx.snap index 42c2323e56979..c73b5e7186547 100644 --- a/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/number/__snapshots__/number.test.tsx.snap +++ b/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/number/__snapshots__/number.test.tsx.snap @@ -10,7 +10,7 @@ exports[`NumberFormatEditor should render normally 1`] = ` hasEmptyLabelSpace={false} helpText={ - @@ -23,7 +23,7 @@ exports[`NumberFormatEditor should render normally 1`] = ` - + } isInvalid={false} diff --git a/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/percent/__snapshots__/percent.test.tsx.snap b/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/percent/__snapshots__/percent.test.tsx.snap index ac512402b4d41..16ce8ca9643ef 100644 --- a/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/percent/__snapshots__/percent.test.tsx.snap +++ b/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/percent/__snapshots__/percent.test.tsx.snap @@ -10,7 +10,7 @@ exports[`PercentFormatEditor should render normally 1`] = ` hasEmptyLabelSpace={false} helpText={ - @@ -23,7 +23,7 @@ exports[`PercentFormatEditor should render normally 1`] = ` - + } isInvalid={false} diff --git a/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/url/__snapshots__/url.test.tsx.snap b/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/url/__snapshots__/url.test.tsx.snap index aa69b8da6cf60..f862d0ebe8477 100644 --- a/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/url/__snapshots__/url.test.tsx.snap +++ b/src/plugins/index_pattern_management/public/components/field_editor/components/field_format_editor/editors/url/__snapshots__/url.test.tsx.snap @@ -53,7 +53,7 @@ exports[`UrlFormatEditor should render label template help 1`] = ` hasChildLabel={true} hasEmptyLabelSpace={false} helpText={ - - + } isInvalid={false} label={ @@ -86,7 +86,7 @@ exports[`UrlFormatEditor should render label template help 1`] = ` hasChildLabel={true} hasEmptyLabelSpace={false} helpText={ - - + } isInvalid={false} label={ @@ -172,7 +172,7 @@ exports[`UrlFormatEditor should render normally 1`] = ` hasChildLabel={true} hasEmptyLabelSpace={false} helpText={ - - + } isInvalid={false} label={ @@ -205,7 +205,7 @@ exports[`UrlFormatEditor should render normally 1`] = ` hasChildLabel={true} hasEmptyLabelSpace={false} helpText={ - - + } isInvalid={false} label={ @@ -291,7 +291,7 @@ exports[`UrlFormatEditor should render url template help 1`] = ` hasChildLabel={true} hasEmptyLabelSpace={false} helpText={ - - + } isInvalid={false} label={ @@ -324,7 +324,7 @@ exports[`UrlFormatEditor should render url template help 1`] = ` hasChildLabel={true} hasEmptyLabelSpace={false} helpText={ - - + } isInvalid={false} label={ @@ -411,7 +411,7 @@ exports[`UrlFormatEditor should render width and height fields if image 1`] = ` hasChildLabel={true} hasEmptyLabelSpace={false} helpText={ - - + } isInvalid={false} label={ @@ -444,7 +444,7 @@ exports[`UrlFormatEditor should render width and height fields if image 1`] = ` hasChildLabel={true} hasEmptyLabelSpace={false} helpText={ - - + } isInvalid={false} label={ diff --git a/src/plugins/index_pattern_management/public/components/field_editor/components/scripting_call_outs/__snapshots__/warning_call_out.test.tsx.snap b/src/plugins/index_pattern_management/public/components/field_editor/components/scripting_call_outs/__snapshots__/warning_call_out.test.tsx.snap index 2652e6b8ddd04..f63fb0709f6b3 100644 --- a/src/plugins/index_pattern_management/public/components/field_editor/components/scripting_call_outs/__snapshots__/warning_call_out.test.tsx.snap +++ b/src/plugins/index_pattern_management/public/components/field_editor/components/scripting_call_outs/__snapshots__/warning_call_out.test.tsx.snap @@ -60,7 +60,7 @@ exports[`ScriptingWarningCallOut should render normally 1`] = ` id="indexPatternManagement.warningCallOutLabel.callOutDetail" values={ Object { - "scripFields": @@ -73,8 +73,8 @@ exports[`ScriptingWarningCallOut should render normally 1`] = ` - , - "scriptsInAggregation": , + "scriptsInAggregation": @@ -87,7 +87,7 @@ exports[`ScriptingWarningCallOut should render normally 1`] = ` - , + , } } > diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/flyout.test.tsx.snap b/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/flyout.test.tsx.snap index b7bd9368e8b1c..9f43ecdf0673a 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/flyout.test.tsx.snap +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/flyout.test.tsx.snap @@ -43,7 +43,7 @@ exports[`Flyout conflicts should allow conflict resolution 1`] = ` id="savedObjectsManagement.objectsTable.flyout.indexPatternConflictsDescription" values={ Object { - "indexPatternLink": - , + , } } /> @@ -383,7 +383,7 @@ exports[`Flyout legacy conflicts should allow conflict resolution 1`] = ` id="savedObjectsManagement.objectsTable.flyout.indexPatternConflictsDescription" values={ Object { - "indexPatternLink": - , + , } } /> @@ -545,7 +545,7 @@ Array [ id="savedObjectsManagement.objectsTable.flyout.indexPatternConflictsDescription" values={ Object { - "indexPatternLink": - , + , } } /> diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.mocks.ts b/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.mocks.ts index 6b4659a6b5a13..97120fe7dc6b8 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.mocks.ts +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.test.mocks.ts @@ -22,15 +22,19 @@ jest.doMock('@elastic/filesaver', () => ({ saveAs: saveAsMock, })); -jest.doMock('lodash', () => ({ - ...jest.requireActual('lodash'), - debounce: (func: Function) => { - function debounced(this: any, ...args: any[]) { - return func.apply(this, args); - } - return debounced; - }, -})); +jest.doMock('lodash', () => { + const original = jest.requireActual('lodash'); + + return { + ...original, + debounce: (func: Function) => { + function debounced(this: any, ...args: any[]) { + return func.apply(this, args); + } + return debounced; + }, + }; +}); export const findObjectsMock = jest.fn(); jest.doMock('../../lib/find_objects', () => ({ diff --git a/src/plugins/share/public/components/__snapshots__/url_panel_content.test.tsx.snap b/src/plugins/share/public/components/__snapshots__/url_panel_content.test.tsx.snap index cae7aa96a7c0e..9a7191519131c 100644 --- a/src/plugins/share/public/components/__snapshots__/url_panel_content.test.tsx.snap +++ b/src/plugins/share/public/components/__snapshots__/url_panel_content.test.tsx.snap @@ -40,7 +40,7 @@ exports[`share url panel content render 1`] = ` Object { "data-test-subj": "exportAsSnapshot", "id": "snapshot", - "label": @@ -71,13 +71,13 @@ exports[`share url panel content render 1`] = ` position="bottom" /> - , + , }, Object { "data-test-subj": "exportAsSavedObject", "disabled": true, "id": "savedObject", - "label": @@ -108,7 +108,7 @@ exports[`share url panel content render 1`] = ` position="bottom" /> - , + , }, ] } @@ -202,7 +202,7 @@ exports[`share url panel content should enable saved object export option when o Object { "data-test-subj": "exportAsSnapshot", "id": "snapshot", - "label": @@ -233,13 +233,13 @@ exports[`share url panel content should enable saved object export option when o position="bottom" /> - , + , }, Object { "data-test-subj": "exportAsSavedObject", "disabled": false, "id": "savedObject", - "label": @@ -270,7 +270,7 @@ exports[`share url panel content should enable saved object export option when o position="bottom" /> - , + , }, ] } @@ -364,7 +364,7 @@ exports[`share url panel content should hide short url section when allowShortUr Object { "data-test-subj": "exportAsSnapshot", "id": "snapshot", - "label": @@ -395,13 +395,13 @@ exports[`share url panel content should hide short url section when allowShortUr position="bottom" /> - , + , }, Object { "data-test-subj": "exportAsSavedObject", "disabled": false, "id": "savedObject", - "label": @@ -432,7 +432,7 @@ exports[`share url panel content should hide short url section when allowShortUr position="bottom" /> - , + , }, ] } @@ -481,7 +481,7 @@ exports[`should show url param extensions 1`] = ` Object { "data-test-subj": "exportAsSnapshot", "id": "snapshot", - "label": @@ -512,13 +512,13 @@ exports[`should show url param extensions 1`] = ` position="bottom" /> - , + , }, Object { "data-test-subj": "exportAsSavedObject", "disabled": false, "id": "savedObject", - "label": @@ -549,7 +549,7 @@ exports[`should show url param extensions 1`] = ` position="bottom" /> - , + , }, ] } diff --git a/src/plugins/telemetry/public/components/__snapshots__/opt_in_message.test.tsx.snap b/src/plugins/telemetry/public/components/__snapshots__/opt_in_message.test.tsx.snap index 7fa69a7409c6a..4c151e44cbfea 100644 --- a/src/plugins/telemetry/public/components/__snapshots__/opt_in_message.test.tsx.snap +++ b/src/plugins/telemetry/public/components/__snapshots__/opt_in_message.test.tsx.snap @@ -7,7 +7,7 @@ exports[`OptInMessage renders as expected 1`] = ` id="telemetry.telemetryBannerDescription" values={ Object { - "privacyStatementLink": - , + , } } /> diff --git a/src/plugins/telemetry/public/components/__snapshots__/opted_in_notice_banner.test.tsx.snap b/src/plugins/telemetry/public/components/__snapshots__/opted_in_notice_banner.test.tsx.snap index dd774d956dc10..62998da73d6f9 100644 --- a/src/plugins/telemetry/public/components/__snapshots__/opted_in_notice_banner.test.tsx.snap +++ b/src/plugins/telemetry/public/components/__snapshots__/opted_in_notice_banner.test.tsx.snap @@ -9,7 +9,7 @@ exports[`OptInDetailsComponent renders as expected 1`] = ` id="telemetry.telemetryOptedInNoticeDescription" values={ Object { - "disableLink": @@ -18,8 +18,8 @@ exports[`OptInDetailsComponent renders as expected 1`] = ` id="telemetry.telemetryOptedInDisableUsage" values={Object {}} /> - , - "privacyStatementLink": , + "privacyStatementLink": - , + , } } /> diff --git a/src/plugins/telemetry/public/services/telemetry_sender.test.ts b/src/plugins/telemetry/public/services/telemetry_sender.test.ts index e9f5765c10412..9d052254c46cf 100644 --- a/src/plugins/telemetry/public/services/telemetry_sender.test.ts +++ b/src/plugins/telemetry/public/services/telemetry_sender.test.ts @@ -26,18 +26,22 @@ class LocalStorageMock implements Partial { getItem = jest.fn(); setItem = jest.fn(); } +const mockLocalStorage = new LocalStorageMock(); +const originalLocalStorage = window.localStorage; +Object.defineProperty(window, 'localStorage', { + value: mockLocalStorage, +}); describe('TelemetrySender', () => { - let originalLocalStorage: Storage; - let mockLocalStorage: LocalStorageMock; - beforeAll(() => { - originalLocalStorage = window.localStorage; + beforeEach(() => { + mockLocalStorage.getItem.mockClear(); + mockLocalStorage.setItem.mockClear(); }); - - // @ts-ignore - beforeEach(() => (window.localStorage = mockLocalStorage = new LocalStorageMock())); - // @ts-ignore - afterAll(() => (window.localStorage = originalLocalStorage)); + afterAll(() => + Object.defineProperty(window, 'localStorage', { + value: originalLocalStorage, + }) + ); describe('constructor', () => { it('defaults lastReport if unset', () => { diff --git a/src/plugins/telemetry_management_section/public/components/__snapshots__/telemetry_management_section.test.tsx.snap b/src/plugins/telemetry_management_section/public/components/__snapshots__/telemetry_management_section.test.tsx.snap index c392d8ce64205..dd4ee61fd1148 100644 --- a/src/plugins/telemetry_management_section/public/components/__snapshots__/telemetry_management_section.test.tsx.snap +++ b/src/plugins/telemetry_management_section/public/components/__snapshots__/telemetry_management_section.test.tsx.snap @@ -65,7 +65,7 @@ exports[`TelemetryManagementSectionComponent renders as expected 1`] = ` id="telemetry.telemetryConfigAndLinkDescription" values={ Object { - "privacyStatementLink": @@ -74,13 +74,13 @@ exports[`TelemetryManagementSectionComponent renders as expected 1`] = ` id="telemetry.readOurUsageDataPrivacyStatementLinkText" values={Object {}} /> - , + , } } />

- - +

, "displayName": "Provide usage statistics", diff --git a/src/plugins/vis_type_vislib/public/vislib/components/legend/legend.test.tsx b/src/plugins/vis_type_vislib/public/vislib/components/legend/legend.test.tsx index c203642f353c5..65d148cfc5ef4 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/legend/legend.test.tsx +++ b/src/plugins/vis_type_vislib/public/vislib/components/legend/legend.test.tsx @@ -26,10 +26,14 @@ import { EuiButtonGroup } from '@elastic/eui'; import { VisLegend, VisLegendProps } from './legend'; import { legendColors } from './models'; -jest.mock('@elastic/eui', () => ({ - ...jest.requireActual('@elastic/eui'), - htmlIdGenerator: jest.fn().mockReturnValue(() => 'legendId'), -})); +jest.mock('@elastic/eui', () => { + const original = jest.requireActual('@elastic/eui'); + + return { + ...original, + htmlIdGenerator: jest.fn().mockReturnValue(() => 'legendId'), + }; +}); jest.mock('../../../services', () => ({ getDataActions: () => ({ diff --git a/src/plugins/visualizations/public/wizard/new_vis_modal.test.tsx b/src/plugins/visualizations/public/wizard/new_vis_modal.test.tsx index eb64f84ca59c4..57e30631becbc 100644 --- a/src/plugins/visualizations/public/wizard/new_vis_modal.test.tsx +++ b/src/plugins/visualizations/public/wizard/new_vis_modal.test.tsx @@ -24,7 +24,6 @@ import { NewVisModal } from './new_vis_modal'; import { ApplicationStart, SavedObjectsStart } from '../../../../core/public'; describe('NewVisModal', () => { - const { location } = window; const defaultVisTypeParams = { hidden: false, visualization: class Controller { @@ -65,12 +64,16 @@ describe('NewVisModal', () => { const settingsGet = jest.fn(); const uiSettings: any = { get: settingsGet }; - beforeEach(() => { - jest.clearAllMocks(); + beforeAll(() => { + Object.defineProperty(window, 'location', { + value: { + assign: jest.fn(), + }, + }); }); - afterAll(() => { - window.location = location; + beforeEach(() => { + jest.clearAllMocks(); }); it('should render as expected', () => { @@ -105,7 +108,6 @@ describe('NewVisModal', () => { describe('open editor', () => { it('should open the editor for visualizations without search', () => { - window.location.assign = jest.fn(); const wrapper = mountWithIntl( { }); it('passes through editor params to the editor URL', () => { - window.location.assign = jest.fn(); const wrapper = mountWithIntl( { * For the you need to mock it like this * ```typescript - jest.mock('@elastic/eui', () => ({ - ...jest.requireActual('@elastic/eui'), + jest.mock('@elastic/eui', () => { + const original = jest.requireActual('@elastic/eui'); + + return { + ...original, EuiSuperSelect: (props: any) => ( { + onChange={(e) => { props.onChange(e.target.value); }} /> ), - })); + }; + }); ``` * @param select The form select. Can either be a data-test-subj or a reactWrapper (can be a nested path. e.g. "myForm.myInput"). * @param value The value to set diff --git a/tsconfig.json b/tsconfig.json index 811b05abeb648..66906fb18bb80 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -53,7 +53,9 @@ "node", "jest", "react", - "flot" + "flot", + "jest-styled-components", + "@testing-library/jest-dom" ] }, "include": [ diff --git a/x-pack/dev-tools/jest/create_jest_config.js b/x-pack/dev-tools/jest/create_jest_config.js index 4bf03828bb461..5e0062fc3a6c6 100644 --- a/x-pack/dev-tools/jest/create_jest_config.js +++ b/x-pack/dev-tools/jest/create_jest_config.js @@ -58,7 +58,9 @@ export function createJestConfig({ kibanaDirectory, rootDir, xPackKibanaDirector `${kibanaDirectory}/src/dev/jest/setup/mocks.js`, `${kibanaDirectory}/src/dev/jest/setup/react_testing_library.js`, ], + testEnvironment: 'jest-environment-jsdom-thirteen', testMatch: ['**/*.test.{js,ts,tsx}'], + testRunner: 'jest-circus/runner', transform: { '^.+\\.(js|tsx?)$': `${kibanaDirectory}/src/dev/jest/babel_transform.js`, '^.+\\.html?$': 'jest-raw-loader', diff --git a/x-pack/dev-tools/jest/index.js b/x-pack/dev-tools/jest/index.js index 2f831e33cdd11..c22f8625c5778 100644 --- a/x-pack/dev-tools/jest/index.js +++ b/x-pack/dev-tools/jest/index.js @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import jest from 'jest'; +import { run } from 'jest'; import { resolve } from 'path'; import { createJestConfig } from './create_jest_config'; @@ -21,5 +21,5 @@ export function runJest() { const argv = [...process.argv.slice(2), '--config', config]; - return jest.run(argv); + return run(argv); } diff --git a/x-pack/dev-tools/jest/setup/setup_test.js b/x-pack/dev-tools/jest/setup/setup_test.js index 533ea58a561ac..0f044717ac789 100644 --- a/x-pack/dev-tools/jest/setup/setup_test.js +++ b/x-pack/dev-tools/jest/setup/setup_test.js @@ -10,3 +10,4 @@ */ import 'jest-styled-components'; +import '@testing-library/jest-dom'; diff --git a/x-pack/package.json b/x-pack/package.json index b40a1e4364251..ad8c12d41000c 100644 --- a/x-pack/package.json +++ b/x-pack/package.json @@ -47,7 +47,7 @@ "@storybook/theming": "^5.2.6", "@testing-library/react": "^9.3.2", "@testing-library/react-hooks": "^3.2.1", - "@testing-library/jest-dom": "4.2.0", + "@testing-library/jest-dom": "^5.8.0", "@types/angular": "^1.6.56", "@types/archiver": "^3.0.0", "@types/base64-js": "^1.2.5", @@ -74,11 +74,11 @@ "@types/hapi__wreck": "^15.0.1", "@types/hoist-non-react-statics": "^3.3.1", "@types/history": "^4.7.3", - "@types/jest": "24.0.19", + "@types/jest": "^25.2.3", "@types/joi": "^13.4.2", "@types/js-search": "^1.4.0", "@types/js-yaml": "^3.11.1", - "@types/jsdom": "^12.2.4", + "@types/jsdom": "^16.2.3", "@types/json-stable-stringify": "^1.0.32", "@types/jsonwebtoken": "^7.2.8", "@types/lodash": "^3.10.1", @@ -111,6 +111,7 @@ "@types/styled-components": "^5.1.0", "@types/supertest": "^2.0.5", "@types/tar-fs": "^1.16.1", + "@types/testing-library__jest-dom": "^5.7.0", "@types/tinycolor2": "^1.4.1", "@types/use-resize-observer": "^6.0.0", "@types/uuid": "^3.4.4", @@ -121,10 +122,11 @@ "@welldone-software/why-did-you-render": "^4.0.0", "abab": "^1.0.4", "axios": "^0.19.0", - "babel-jest": "^24.9.0", + "babel-jest": "^25.5.1", "babel-plugin-require-context-hook": "npm:babel-plugin-require-context-hook-babel7@1.0.0", "base64-js": "^1.3.1", "base64url": "^3.0.1", + "canvas": "^2.6.1", "chalk": "^2.4.2", "chance": "1.0.18", "cheerio": "0.22.0", @@ -149,10 +151,11 @@ "gulp": "4.0.2", "hapi": "^17.5.3", "hoist-non-react-statics": "^3.3.2", - "jest": "^24.9.0", - "jest-cli": "^24.9.0", + "jest": "^25.5.4", + "jest-circus": "^25.5.4", + "jest-cli": "^25.5.4", "jest-styled-components": "^7.0.2", - "jsdom": "^15.2.1", + "jsdom": "13.1.0", "loader-utils": "^1.2.3", "madge": "3.4.4", "marge": "^1.0.1", @@ -168,7 +171,7 @@ "proxyquire": "1.8.0", "react-docgen-typescript-loader": "^3.1.1", "react-test-renderer": "^16.12.0", - "rxjs-marbles": "^5.0.3", + "rxjs-marbles": "^5.0.6", "sass-loader": "^8.0.2", "sass-resources-loader": "^2.0.1", "simple-git": "1.116.0", @@ -347,7 +350,7 @@ "reselect": "^4.0.0", "resize-observer-polyfill": "^1.5.0", "rison-node": "0.3.1", - "rxjs": "^6.5.3", + "rxjs": "^6.5.5", "semver": "5.7.0", "set-value": "^3.0.2", "squel": "^5.13.0", diff --git a/x-pack/plugins/apm/public/components/app/APMIndicesPermission/index.test.tsx b/x-pack/plugins/apm/public/components/app/APMIndicesPermission/index.test.tsx index f42ae4596c3a9..f5d3edf98662e 100644 --- a/x-pack/plugins/apm/public/components/app/APMIndicesPermission/index.test.tsx +++ b/x-pack/plugins/apm/public/components/app/APMIndicesPermission/index.test.tsx @@ -17,21 +17,23 @@ import { MockApmPluginContextWrapper } from '../../../context/ApmPluginContext/M describe('APMIndicesPermission', () => { it('returns empty component when api status is loading', () => { - spyOn(hooks, 'useFetcher').and.returnValue({ + jest.spyOn(hooks, 'useFetcher').mockReturnValue({ status: hooks.FETCH_STATUS.LOADING, + refetch: jest.fn(), }); const component = shallow(); expect(component.isEmptyRender()).toBeTruthy(); }); it('returns empty component when api status is pending', () => { - spyOn(hooks, 'useFetcher').and.returnValue({ + jest.spyOn(hooks, 'useFetcher').mockReturnValue({ status: hooks.FETCH_STATUS.PENDING, + refetch: jest.fn(), }); const component = shallow(); expect(component.isEmptyRender()).toBeTruthy(); }); it('renders missing permission page', () => { - spyOn(hooks, 'useFetcher').and.returnValue({ + jest.spyOn(hooks, 'useFetcher').mockReturnValue({ status: hooks.FETCH_STATUS.SUCCESS, data: { has_all_requested: false, @@ -39,6 +41,7 @@ describe('APMIndicesPermission', () => { 'apm-*': { read: false }, }, }, + refetch: jest.fn(), }); const component = render( @@ -53,12 +56,13 @@ describe('APMIndicesPermission', () => { }); it('shows children component when no index is returned', () => { - spyOn(hooks, 'useFetcher').and.returnValue({ + jest.spyOn(hooks, 'useFetcher').mockReturnValue({ status: hooks.FETCH_STATUS.SUCCESS, data: { has_all_requested: false, index: {}, }, + refetch: jest.fn(), }); const component = render( @@ -72,12 +76,13 @@ describe('APMIndicesPermission', () => { }); it('shows children component when indices have read privileges', () => { - spyOn(hooks, 'useFetcher').and.returnValue({ + jest.spyOn(hooks, 'useFetcher').mockReturnValue({ status: hooks.FETCH_STATUS.SUCCESS, data: { has_all_requested: true, index: {}, }, + refetch: jest.fn(), }); const component = render( @@ -91,7 +96,7 @@ describe('APMIndicesPermission', () => { }); it('dismesses the warning by clicking on the escape hatch', () => { - spyOn(hooks, 'useFetcher').and.returnValue({ + jest.spyOn(hooks, 'useFetcher').mockReturnValue({ status: hooks.FETCH_STATUS.SUCCESS, data: { has_all_requested: false, @@ -102,6 +107,7 @@ describe('APMIndicesPermission', () => { 'apm-span-*': { read: true }, }, }, + refetch: jest.fn(), }); const component = render( @@ -122,7 +128,10 @@ describe('APMIndicesPermission', () => { }); it("shows children component when api doesn't return value", () => { - spyOn(hooks, 'useFetcher').and.returnValue({}); + jest.spyOn(hooks, 'useFetcher').mockReturnValue({ + status: hooks.FETCH_STATUS.SUCCESS, + refetch: jest.fn(), + }); const component = render( diff --git a/x-pack/plugins/apm/public/components/app/ServiceOverview/ServiceList/__test__/__snapshots__/List.test.js.snap b/x-pack/plugins/apm/public/components/app/ServiceOverview/ServiceList/__test__/__snapshots__/List.test.js.snap index 904e16f92f4a0..146f6f58031bb 100644 --- a/x-pack/plugins/apm/public/components/app/ServiceOverview/ServiceList/__test__/__snapshots__/List.test.js.snap +++ b/x-pack/plugins/apm/public/components/app/ServiceOverview/ServiceList/__test__/__snapshots__/List.test.js.snap @@ -7,11 +7,11 @@ exports[`ServiceOverview -> List should render columns correctly 1`] = ` id="service-name-tooltip" position="top" > - opbeans-python - + `; diff --git a/x-pack/plugins/apm/public/components/app/ServiceOverview/__test__/ServiceOverview.test.tsx b/x-pack/plugins/apm/public/components/app/ServiceOverview/__test__/ServiceOverview.test.tsx index 949efa2b8dfc0..78d78c6909c57 100644 --- a/x-pack/plugins/apm/public/components/app/ServiceOverview/__test__/ServiceOverview.test.tsx +++ b/x-pack/plugins/apm/public/components/app/ServiceOverview/__test__/ServiceOverview.test.tsx @@ -59,11 +59,13 @@ describe('Service Overview -> View', () => { global.sessionStorage = new SessionStorageMock(); // mock urlParams - spyOn(urlParamsHooks, 'useUrlParams').and.returnValue({ + jest.spyOn(urlParamsHooks, 'useUrlParams').mockReturnValue({ urlParams: { start: 'myStart', end: 'myEnd', }, + refreshTimeRange: jest.fn(), + uiFilters: {}, }); jest.spyOn(useLocalUIFilters, 'useLocalUIFilters').mockReturnValue({ diff --git a/x-pack/plugins/apm/public/components/app/Settings/ApmIndices/index.test.tsx b/x-pack/plugins/apm/public/components/app/Settings/ApmIndices/index.test.tsx index b1c7ab3d19889..68e75d595363d 100644 --- a/x-pack/plugins/apm/public/components/app/Settings/ApmIndices/index.test.tsx +++ b/x-pack/plugins/apm/public/components/app/Settings/ApmIndices/index.test.tsx @@ -12,9 +12,10 @@ import { MockApmPluginContextWrapper } from '../../../../context/ApmPluginContex describe('ApmIndices', () => { it('should not get stuck in infinite loop', () => { - const spy = spyOn(hooks, 'useFetcher').and.returnValue({ + const spy = jest.spyOn(hooks, 'useFetcher').mockReturnValue({ data: undefined, - status: 'loading', + status: hooks.FETCH_STATUS.LOADING, + refetch: jest.fn(), }); const { getByText } = render( diff --git a/x-pack/plugins/apm/public/components/app/Settings/CustomizeUI/CustomLink/CustomLinkFlyout/LinkPreview.test.tsx b/x-pack/plugins/apm/public/components/app/Settings/CustomizeUI/CustomLink/CustomLinkFlyout/LinkPreview.test.tsx index 7b98f978f0f2f..62aa08c223bde 100644 --- a/x-pack/plugins/apm/public/components/app/Settings/CustomizeUI/CustomLink/CustomLinkFlyout/LinkPreview.test.tsx +++ b/x-pack/plugins/apm/public/components/app/Settings/CustomizeUI/CustomLink/CustomLinkFlyout/LinkPreview.test.tsx @@ -15,9 +15,9 @@ import { import * as apmApi from '../../../../../../services/rest/createCallApmApi'; describe('LinkPreview', () => { - let callApmApiSpy: jasmine.Spy; + let callApmApiSpy: jest.SpyInstance; beforeAll(() => { - callApmApiSpy = spyOn(apmApi, 'callApmApi').and.returnValue({ + callApmApiSpy = jest.spyOn(apmApi, 'callApmApi').mockReturnValue({ transaction: { id: 'foo' }, }); }); diff --git a/x-pack/plugins/apm/public/components/app/Settings/CustomizeUI/CustomLink/index.test.tsx b/x-pack/plugins/apm/public/components/app/Settings/CustomizeUI/CustomLink/index.test.tsx index 6b27fbdaaf66b..d633d466b6614 100644 --- a/x-pack/plugins/apm/public/components/app/Settings/CustomizeUI/CustomLink/index.test.tsx +++ b/x-pack/plugins/apm/public/components/app/Settings/CustomizeUI/CustomLink/index.test.tsx @@ -35,9 +35,9 @@ const data = [ ]; describe('CustomLink', () => { - let callApmApiSpy: jasmine.Spy; + let callApmApiSpy: jest.SpyInstance; beforeAll(() => { - callApmApiSpy = spyOn(apmApi, 'callApmApi').and.returnValue({}); + callApmApiSpy = jest.spyOn(apmApi, 'callApmApi').mockReturnValue({}); }); afterAll(() => { jest.resetAllMocks(); @@ -54,9 +54,10 @@ describe('CustomLink', () => { }); describe('empty prompt', () => { beforeAll(() => { - spyOn(hooks, 'useFetcher').and.returnValue({ + jest.spyOn(hooks, 'useFetcher').mockReturnValue({ data: [], - status: 'success', + status: hooks.FETCH_STATUS.SUCCESS, + refetch: jest.fn(), }); }); @@ -75,9 +76,10 @@ describe('CustomLink', () => { describe('overview', () => { beforeAll(() => { - spyOn(hooks, 'useFetcher').and.returnValue({ + jest.spyOn(hooks, 'useFetcher').mockReturnValue({ data, - status: 'success', + status: hooks.FETCH_STATUS.SUCCESS, + refetch: jest.fn(), }); }); @@ -120,18 +122,16 @@ describe('CustomLink', () => { describe('Flyout', () => { const refetch = jest.fn(); - let saveCustomLinkSpy: Function; + let saveCustomLinkSpy: jest.SpyInstance; + beforeAll(() => { - saveCustomLinkSpy = spyOn(saveCustomLink, 'saveCustomLink'); - spyOn(hooks, 'useFetcher').and.returnValue({ + saveCustomLinkSpy = jest.spyOn(saveCustomLink, 'saveCustomLink'); + jest.spyOn(hooks, 'useFetcher').mockReturnValue({ data, - status: 'success', + status: hooks.FETCH_STATUS.SUCCESS, refetch, }); }); - afterEach(() => { - jest.resetAllMocks(); - }); const openFlyout = async () => { const component = render( @@ -268,9 +268,10 @@ describe('CustomLink', () => { describe('invalid license', () => { beforeAll(() => { - spyOn(hooks, 'useFetcher').and.returnValue({ + jest.spyOn(hooks, 'useFetcher').mockReturnValue({ data: [], - status: 'success', + status: hooks.FETCH_STATUS.SUCCESS, + refetch: jest.fn(), }); }); it('shows license prompt when user has a basic license', () => { diff --git a/x-pack/plugins/apm/public/components/app/TraceLink/__test__/TraceLink.test.tsx b/x-pack/plugins/apm/public/components/app/TraceLink/__test__/TraceLink.test.tsx index 0488815308aab..bbaf6340e18f7 100644 --- a/x-pack/plugins/apm/public/components/app/TraceLink/__test__/TraceLink.test.tsx +++ b/x-pack/plugins/apm/public/components/app/TraceLink/__test__/TraceLink.test.tsx @@ -36,16 +36,19 @@ describe('TraceLink', () => { }); it('renders trace page when transaction is not found', () => { - spyOn(urlParamsHooks, 'useUrlParams').and.returnValue({ + jest.spyOn(urlParamsHooks, 'useUrlParams').mockReturnValue({ urlParams: { traceIdLink: '123', rangeFrom: 'now-24h', rangeTo: 'now', }, + refreshTimeRange: jest.fn(), + uiFilters: {}, }); - spyOn(hooks, 'useFetcher').and.returnValue({ + jest.spyOn(hooks, 'useFetcher').mockReturnValue({ data: { transaction: undefined }, - status: 'success', + status: hooks.FETCH_STATUS.SUCCESS, + refetch: jest.fn(), }); const component = shallow(); @@ -56,12 +59,14 @@ describe('TraceLink', () => { describe('transaction page', () => { beforeAll(() => { - spyOn(urlParamsHooks, 'useUrlParams').and.returnValue({ + jest.spyOn(urlParamsHooks, 'useUrlParams').mockReturnValue({ urlParams: { traceIdLink: '123', rangeFrom: 'now-24h', rangeTo: 'now', }, + refreshTimeRange: jest.fn(), + uiFilters: {}, }); }); it('renders with date range params', () => { @@ -74,9 +79,10 @@ describe('TraceLink', () => { }, trace: { id: 123 }, }; - spyOn(hooks, 'useFetcher').and.returnValue({ + jest.spyOn(hooks, 'useFetcher').mockReturnValue({ data: { transaction }, - status: 'success', + status: hooks.FETCH_STATUS.SUCCESS, + refetch: jest.fn(), }); const component = shallow(); expect(component.prop('to')).toEqual( diff --git a/x-pack/plugins/apm/public/components/shared/StickyProperties/__snapshots__/StickyProperties.test.js.snap b/x-pack/plugins/apm/public/components/shared/StickyProperties/__snapshots__/StickyProperties.test.js.snap index 82c3d8dc3ccb0..020d5952c03e4 100644 --- a/x-pack/plugins/apm/public/components/shared/StickyProperties/__snapshots__/StickyProperties.test.js.snap +++ b/x-pack/plugins/apm/public/components/shared/StickyProperties/__snapshots__/StickyProperties.test.js.snap @@ -24,9 +24,9 @@ exports[`StickyProperties should render entire component 1`] = ` + url.full - + } delay="regular" position="top" @@ -59,9 +59,9 @@ exports[`StickyProperties should render entire component 1`] = ` + http.request.method - + } delay="regular" position="top" @@ -88,9 +88,9 @@ exports[`StickyProperties should render entire component 1`] = ` + error.exception.handled - + } delay="regular" position="top" @@ -117,9 +117,9 @@ exports[`StickyProperties should render entire component 1`] = ` + user.id - + } delay="regular" position="top" diff --git a/x-pack/plugins/apm/public/components/shared/TransactionActionMenu/__test__/TransactionActionMenu.test.tsx b/x-pack/plugins/apm/public/components/shared/TransactionActionMenu/__test__/TransactionActionMenu.test.tsx index bad9292f3e768..ec546b5c6280f 100644 --- a/x-pack/plugins/apm/public/components/shared/TransactionActionMenu/__test__/TransactionActionMenu.test.tsx +++ b/x-pack/plugins/apm/public/components/shared/TransactionActionMenu/__test__/TransactionActionMenu.test.tsx @@ -63,9 +63,10 @@ const renderTransaction = async ( describe('TransactionActionMenu component', () => { beforeAll(() => { - spyOn(hooks, 'useFetcher').and.returnValue({ + jest.spyOn(hooks, 'useFetcher').mockReturnValue({ data: [], - status: 'success', + status: hooks.FETCH_STATUS.SUCCESS, + refetch: jest.fn(), }); }); afterAll(() => { @@ -257,7 +258,7 @@ describe('TransactionActionMenu component', () => { describe('Custom links', () => { beforeAll(() => { // Mocks callApmAPI because it's going to be used to fecth the transaction in the custom links flyout. - spyOn(apmApi, 'callApmApi').and.returnValue({}); + jest.spyOn(apmApi, 'callApmApi').mockReturnValue({}); }); afterAll(() => { jest.resetAllMocks(); diff --git a/x-pack/plugins/apm/public/components/shared/charts/CustomPlot/test/__snapshots__/CustomPlot.test.js.snap b/x-pack/plugins/apm/public/components/shared/charts/CustomPlot/test/__snapshots__/CustomPlot.test.js.snap index 6c5a200fb6f27..8101b01a83b08 100644 --- a/x-pack/plugins/apm/public/components/shared/charts/CustomPlot/test/__snapshots__/CustomPlot.test.js.snap +++ b/x-pack/plugins/apm/public/components/shared/charts/CustomPlot/test/__snapshots__/CustomPlot.test.js.snap @@ -6,28 +6,28 @@ Array [ "color": "#6092c0", "disabled": undefined, "onClick": [Function], - "text": + "text": Avg. - + 468 ms - - , + + , }, Object { "color": "#d6bf57", "disabled": undefined, "onClick": [Function], - "text": + "text": 95th percentile - , + , }, Object { "color": "#da8b45", "disabled": undefined, "onClick": [Function], - "text": + "text": 99th percentile - , + , }, ] `; diff --git a/x-pack/plugins/apm/public/utils/testHelpers.tsx b/x-pack/plugins/apm/public/utils/testHelpers.tsx index e660ccbf17d3c..8e7f987966783 100644 --- a/x-pack/plugins/apm/public/utils/testHelpers.tsx +++ b/x-pack/plugins/apm/public/utils/testHelpers.tsx @@ -13,7 +13,6 @@ import { Location } from 'history'; import moment from 'moment'; import { Moment } from 'moment-timezone'; import { render, waitForElement } from '@testing-library/react'; -import '@testing-library/jest-dom/extend-expect'; import { MemoryRouter } from 'react-router-dom'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { APMConfig } from '../../server'; diff --git a/x-pack/plugins/canvas/public/components/shape_picker/__examples__/__snapshots__/shape_picker.stories.storyshot b/x-pack/plugins/canvas/public/components/shape_picker/__examples__/__snapshots__/shape_picker.stories.storyshot index 0297566738463..93e80450de40f 100644 --- a/x-pack/plugins/canvas/public/components/shape_picker/__examples__/__snapshots__/shape_picker.stories.storyshot +++ b/x-pack/plugins/canvas/public/components/shape_picker/__examples__/__snapshots__/shape_picker.stories.storyshot @@ -17,7 +17,7 @@ exports[`Storyshots components/Shapes/ShapePicker default 1`] = ` dangerouslySetInnerHTML={ Object { "__html": " - + ", } } @@ -37,7 +37,7 @@ exports[`Storyshots components/Shapes/ShapePicker default 1`] = ` dangerouslySetInnerHTML={ Object { "__html": " - + ", } } diff --git a/x-pack/plugins/canvas/public/components/shape_picker_popover/__examples__/__snapshots__/shape_picker_popover.stories.storyshot b/x-pack/plugins/canvas/public/components/shape_picker_popover/__examples__/__snapshots__/shape_picker_popover.stories.storyshot index a23452a43ae1e..939440750c288 100644 --- a/x-pack/plugins/canvas/public/components/shape_picker_popover/__examples__/__snapshots__/shape_picker_popover.stories.storyshot +++ b/x-pack/plugins/canvas/public/components/shape_picker_popover/__examples__/__snapshots__/shape_picker_popover.stories.storyshot @@ -66,7 +66,7 @@ exports[`Storyshots components/Shapes/ShapePickerPopover interactive 1`] = ` dangerouslySetInnerHTML={ Object { "__html": " - + ", } } @@ -108,7 +108,7 @@ exports[`Storyshots components/Shapes/ShapePickerPopover shape selected 1`] = ` dangerouslySetInnerHTML={ Object { "__html": " - + ", } } diff --git a/x-pack/plugins/canvas/public/components/shape_preview/__examples__/__snapshots__/shape_preview.stories.storyshot b/x-pack/plugins/canvas/public/components/shape_preview/__examples__/__snapshots__/shape_preview.stories.storyshot index 602353a187ca9..8c7ff2e92b86d 100644 --- a/x-pack/plugins/canvas/public/components/shape_preview/__examples__/__snapshots__/shape_preview.stories.storyshot +++ b/x-pack/plugins/canvas/public/components/shape_preview/__examples__/__snapshots__/shape_preview.stories.storyshot @@ -6,7 +6,7 @@ exports[`Storyshots components/Shapes/ShapePreview arrow 1`] = ` dangerouslySetInnerHTML={ Object { "__html": " - + ", } } @@ -19,7 +19,7 @@ exports[`Storyshots components/Shapes/ShapePreview square 1`] = ` dangerouslySetInnerHTML={ Object { "__html": " - + ", } } diff --git a/x-pack/plugins/canvas/shareable_runtime/api/__tests__/__snapshots__/shareable.test.tsx.snap b/x-pack/plugins/canvas/shareable_runtime/api/__tests__/__snapshots__/shareable.test.tsx.snap index 0b55f2c322761..9de76f984e453 100644 --- a/x-pack/plugins/canvas/shareable_runtime/api/__tests__/__snapshots__/shareable.test.tsx.snap +++ b/x-pack/plugins/canvas/shareable_runtime/api/__tests__/__snapshots__/shareable.test.tsx.snap @@ -3,59 +3,59 @@ exports[`Canvas Shareable Workpad API Placed successfully with default properties 1`] = `"
"`; exports[`Canvas Shareable Workpad API Placed successfully with default properties 2`] = ` -"
markdown mock
markdown mock
markdown mock
My Canvas Workpad
" +
markdown mock
My Canvas Workpad
" `; exports[`Canvas Shareable Workpad API Placed successfully with height specified 1`] = `"
"`; exports[`Canvas Shareable Workpad API Placed successfully with height specified 2`] = ` -"
markdown mock
markdown mock
markdown mock
My Canvas Workpad
" +
markdown mock
My Canvas Workpad
" `; exports[`Canvas Shareable Workpad API Placed successfully with page specified 1`] = `"
"`; exports[`Canvas Shareable Workpad API Placed successfully with page specified 2`] = ` -"
markdown mock
markdown mock
markdown mock
My Canvas Workpad
" +
markdown mock
My Canvas Workpad
" `; exports[`Canvas Shareable Workpad API Placed successfully with width and height specified 1`] = `"
"`; exports[`Canvas Shareable Workpad API Placed successfully with width and height specified 2`] = ` -"
markdown mock
markdown mock
markdown mock
My Canvas Workpad
" +
markdown mock
My Canvas Workpad
" `; exports[`Canvas Shareable Workpad API Placed successfully with width specified 1`] = `"
"`; exports[`Canvas Shareable Workpad API Placed successfully with width specified 2`] = ` -"
markdown mock
markdown mock
markdown mock
My Canvas Workpad
" +
markdown mock
My Canvas Workpad
" `; diff --git a/x-pack/plugins/canvas/shareable_runtime/components/__tests__/__snapshots__/app.test.tsx.snap b/x-pack/plugins/canvas/shareable_runtime/components/__tests__/__snapshots__/app.test.tsx.snap index 6de8ad9f38baf..991d5d6ce42f0 100644 --- a/x-pack/plugins/canvas/shareable_runtime/components/__tests__/__snapshots__/app.test.tsx.snap +++ b/x-pack/plugins/canvas/shareable_runtime/components/__tests__/__snapshots__/app.test.tsx.snap @@ -1,11 +1,11 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[` App renders properly 1`] = ` -"
markdown mock
markdown mock
markdown mock
My Canvas Workpad
" +
markdown mock
My Canvas Workpad
" `; diff --git a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/mocks/breadcrumbs.mock.ts b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/mocks/breadcrumbs.mock.ts index 60a196254d408..0c5a7ca79e272 100644 --- a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/mocks/breadcrumbs.mock.ts +++ b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/mocks/breadcrumbs.mock.ts @@ -4,7 +4,11 @@ * you may not use this file except in compliance with the Elastic License. */ -jest.mock('../../../app/services/breadcrumbs', () => ({ - ...jest.requireActual('../../../app/services/breadcrumbs'), - setBreadcrumbs: jest.fn(), -})); +jest.mock('../../../app/services/breadcrumbs', () => { + const original = jest.requireActual('../../../app/services/breadcrumbs'); + + return { + ...original, + setBreadcrumbs: jest.fn(), + }; +}); diff --git a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/mocks/track_ui_metric.mock.ts b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/mocks/track_ui_metric.mock.ts index 5460b482cd579..46cfda8cc6727 100644 --- a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/mocks/track_ui_metric.mock.ts +++ b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/mocks/track_ui_metric.mock.ts @@ -4,10 +4,14 @@ * you may not use this file except in compliance with the Elastic License. */ -jest.mock('../../../app/services/track_ui_metric', () => ({ - ...jest.requireActual('../../../app/services/track_ui_metric'), - trackUiMetric: jest.fn(), - trackUserRequest: (request: Promise) => { - return request.then((response) => response); - }, -})); +jest.mock('../../../app/services/track_ui_metric', () => { + const original = jest.requireActual('../../../app/services/track_ui_metric'); + + return { + ...original, + trackUiMetric: jest.fn(), + trackUserRequest: (request: Promise) => { + return request.then((response) => response); + }, + }; +}); diff --git a/x-pack/plugins/dashboard_enhanced/public/services/drilldowns/actions/flyout_edit_drilldown/menu_item.test.tsx b/x-pack/plugins/dashboard_enhanced/public/services/drilldowns/actions/flyout_edit_drilldown/menu_item.test.tsx index 9a4ecb2d4bfb0..771b15e46ad25 100644 --- a/x-pack/plugins/dashboard_enhanced/public/services/drilldowns/actions/flyout_edit_drilldown/menu_item.test.tsx +++ b/x-pack/plugins/dashboard_enhanced/public/services/drilldowns/actions/flyout_edit_drilldown/menu_item.test.tsx @@ -10,7 +10,6 @@ import { MenuItem } from './menu_item'; import { createStateContainer } from '../../../../../../../../src/plugins/kibana_utils/public'; import { UiActionsEnhancedDynamicActionManager as DynamicActionManager } from '../../../../../../ui_actions_enhanced/public'; import { EnhancedEmbeddable } from '../../../../../../embeddable_enhanced/public'; -import '@testing-library/jest-dom'; afterEach(cleanup); diff --git a/x-pack/plugins/global_search/public/services/search_service.test.mocks.ts b/x-pack/plugins/global_search/public/services/search_service.test.mocks.ts index ce406e27c4a72..1caabd6a1681c 100644 --- a/x-pack/plugins/global_search/public/services/search_service.test.mocks.ts +++ b/x-pack/plugins/global_search/public/services/search_service.test.mocks.ts @@ -10,7 +10,11 @@ jest.doMock('./fetch_server_results', () => ({ })); export const getDefaultPreferenceMock = jest.fn(); -jest.doMock('./utils', () => ({ - ...jest.requireActual('./utils'), - getDefaultPreference: getDefaultPreferenceMock, -})); +jest.doMock('./utils', () => { + const original = jest.requireActual('./utils'); + + return { + ...original, + getDefaultPreference: getDefaultPreferenceMock, + }; +}); diff --git a/x-pack/plugins/index_lifecycle_management/__jest__/__snapshots__/extend_index_management.test.js.snap b/x-pack/plugins/index_lifecycle_management/__jest__/__snapshots__/extend_index_management.test.js.snap index 9441ffd731524..38dd49a286b58 100644 --- a/x-pack/plugins/index_lifecycle_management/__jest__/__snapshots__/extend_index_management.test.js.snap +++ b/x-pack/plugins/index_lifecycle_management/__jest__/__snapshots__/extend_index_management.test.js.snap @@ -495,7 +495,7 @@ exports[`extend index management ilm summary extension should return extension w - + } closePopover={[Function]} display="inlineBlock" diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_clone.test.tsx b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_clone.test.tsx index 6250ef0dc247d..ccb729db44f9b 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_clone.test.tsx +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_clone.test.tsx @@ -14,28 +14,32 @@ import { TEMPLATE_NAME, INDEX_PATTERNS as DEFAULT_INDEX_PATTERNS, MAPPINGS } fro import { setup } from './template_clone.helpers'; import { TemplateFormTestBed } from './template_form.helpers'; -jest.mock('@elastic/eui', () => ({ - ...jest.requireActual('@elastic/eui'), - // Mocking EuiComboBox, as it utilizes "react-virtualized" for rendering search suggestions, - // which does not produce a valid component wrapper - EuiComboBox: (props: any) => ( - { - props.onChange([syntheticEvent['0']]); - }} - /> - ), - // Mocking EuiCodeEditor, which uses React Ace under the hood - EuiCodeEditor: (props: any) => ( - { - props.onChange(syntheticEvent.jsonString); - }} - /> - ), -})); +jest.mock('@elastic/eui', () => { + const original = jest.requireActual('@elastic/eui'); + + return { + ...original, + // Mocking EuiComboBox, as it utilizes "react-virtualized" for rendering search suggestions, + // which does not produce a valid component wrapper + EuiComboBox: (props: any) => ( + { + props.onChange([syntheticEvent['0']]); + }} + /> + ), + // Mocking EuiCodeEditor, which uses React Ace under the hood + EuiCodeEditor: (props: any) => ( + { + props.onChange(syntheticEvent.jsonString); + }} + /> + ), + }; +}); // FLAKY: https://github.com/elastic/kibana/issues/59849 describe.skip('', () => { diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_create.test.tsx b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_create.test.tsx index 50b35fc76721a..07a27e2414aed 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_create.test.tsx +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_create.test.tsx @@ -20,28 +20,32 @@ import { import { setup } from './template_create.helpers'; import { TemplateFormTestBed } from './template_form.helpers'; -jest.mock('@elastic/eui', () => ({ - ...jest.requireActual('@elastic/eui'), - // Mocking EuiComboBox, as it utilizes "react-virtualized" for rendering search suggestions, - // which does not produce a valid component wrapper - EuiComboBox: (props: any) => ( - { - props.onChange([syntheticEvent['0']]); - }} - /> - ), - // Mocking EuiCodeEditor, which uses React Ace under the hood - EuiCodeEditor: (props: any) => ( - { - props.onChange(syntheticEvent.jsonString); - }} - /> - ), -})); +jest.mock('@elastic/eui', () => { + const original = jest.requireActual('@elastic/eui'); + + return { + ...original, + // Mocking EuiComboBox, as it utilizes "react-virtualized" for rendering search suggestions, + // which does not produce a valid component wrapper + EuiComboBox: (props: any) => ( + { + props.onChange([syntheticEvent['0']]); + }} + /> + ), + // Mocking EuiCodeEditor, which uses React Ace under the hood + EuiCodeEditor: (props: any) => ( + { + props.onChange(syntheticEvent.jsonString); + }} + /> + ), + }; +}); const TEXT_MAPPING_FIELD = { name: 'text_datatype', diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_edit.test.tsx b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_edit.test.tsx index 88067d479f7e7..9f0e81454f0af 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_edit.test.tsx +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_edit.test.tsx @@ -25,28 +25,32 @@ const MAPPING = { }, }; -jest.mock('@elastic/eui', () => ({ - ...jest.requireActual('@elastic/eui'), - // Mocking EuiComboBox, as it utilizes "react-virtualized" for rendering search suggestions, - // which does not produce a valid component wrapper - EuiComboBox: (props: any) => ( - { - props.onChange([syntheticEvent['0']]); - }} - /> - ), - // Mocking EuiCodeEditor, which uses React Ace under the hood - EuiCodeEditor: (props: any) => ( - { - props.onChange(syntheticEvent.jsonString); - }} - /> - ), -})); +jest.mock('@elastic/eui', () => { + const origial = jest.requireActual('@elastic/eui'); + + return { + ...origial, + // Mocking EuiComboBox, as it utilizes "react-virtualized" for rendering search suggestions, + // which does not produce a valid component wrapper + EuiComboBox: (props: any) => ( + { + props.onChange([syntheticEvent['0']]); + }} + /> + ), + // Mocking EuiCodeEditor, which uses React Ace under the hood + EuiCodeEditor: (props: any) => ( + { + props.onChange(syntheticEvent.jsonString); + }} + /> + ), + }; +}); // FLAKY: https://github.com/elastic/kibana/issues/65567 describe.skip('', () => { diff --git a/x-pack/plugins/index_management/public/application/components/mappings_editor/__jest__/client_integration/datatypes/text_datatype.test.tsx b/x-pack/plugins/index_management/public/application/components/mappings_editor/__jest__/client_integration/datatypes/text_datatype.test.tsx index 5f6d3a6e7b459..ed60414d198f1 100644 --- a/x-pack/plugins/index_management/public/application/components/mappings_editor/__jest__/client_integration/datatypes/text_datatype.test.tsx +++ b/x-pack/plugins/index_management/public/application/components/mappings_editor/__jest__/client_integration/datatypes/text_datatype.test.tsx @@ -82,7 +82,7 @@ describe.skip('Mappings editor: text datatype', () => { ({ data } = await getMappingsEditorData(component)); expect(data).toEqual(updatedMappings); - }); + }, 10000); test('analyzer parameter: default values', async () => { const defaultMappings = { @@ -210,7 +210,7 @@ describe.skip('Mappings editor: text datatype', () => { expect(indexAnalyzerValue).toBe('standard'); expect(searchAnalyzerValue).toBe('simple'); expect(searchQuoteAnalyzerValue).toBe('whitespace'); - }, 10000); + }, 50000); test('analyzer parameter: custom analyzer (external plugin)', async () => { const defaultMappings = { @@ -303,7 +303,7 @@ describe.skip('Mappings editor: text datatype', () => { }; expect(data).toEqual(updatedMappings); - }); + }, 100000); test('analyzer parameter: custom analyzer (from index settings)', async () => { const indexSettings = { @@ -394,5 +394,5 @@ describe.skip('Mappings editor: text datatype', () => { }; expect(data).toEqual(updatedMappings); - }); + }, 50000); }); diff --git a/x-pack/plugins/index_management/public/application/components/mappings_editor/__jest__/client_integration/edit_field.test.tsx b/x-pack/plugins/index_management/public/application/components/mappings_editor/__jest__/client_integration/edit_field.test.tsx index d6d1510f12005..4f9d8a960a1a2 100644 --- a/x-pack/plugins/index_management/public/application/components/mappings_editor/__jest__/client_integration/edit_field.test.tsx +++ b/x-pack/plugins/index_management/public/application/components/mappings_editor/__jest__/client_integration/edit_field.test.tsx @@ -109,5 +109,5 @@ describe('Mappings editor: edit field', () => { }; expect(data).toEqual(updatedMappings); - }); + }, 50000); }); diff --git a/x-pack/plugins/index_management/public/application/components/mappings_editor/__jest__/client_integration/helpers/mappings_editor.helpers.tsx b/x-pack/plugins/index_management/public/application/components/mappings_editor/__jest__/client_integration/helpers/mappings_editor.helpers.tsx index bef2d5c79be99..638bbfd925ffb 100644 --- a/x-pack/plugins/index_management/public/application/components/mappings_editor/__jest__/client_integration/helpers/mappings_editor.helpers.tsx +++ b/x-pack/plugins/index_management/public/application/components/mappings_editor/__jest__/client_integration/helpers/mappings_editor.helpers.tsx @@ -11,41 +11,45 @@ import { registerTestBed, TestBed } from '../../../../../../../../../test_utils' import { getChildFieldsName } from '../../../lib'; import { MappingsEditor } from '../../../mappings_editor'; -jest.mock('@elastic/eui', () => ({ - ...jest.requireActual('@elastic/eui'), - // Mocking EuiComboBox, as it utilizes "react-virtualized" for rendering search suggestions, - // which does not produce a valid component wrapper - EuiComboBox: (props: any) => ( - { - props.onChange([syntheticEvent['0']]); - }} - /> - ), - // Mocking EuiCodeEditor, which uses React Ace under the hood - EuiCodeEditor: (props: any) => ( - { - props.onChange(e.jsonContent); - }} - /> - ), - // Mocking EuiSuperSelect to be able to easily change its value - // with a `myWrapper.simulate('change', { target: { value: 'someValue' } })` - EuiSuperSelect: (props: any) => ( - { - props.onChange(e.target.value); - }} - /> - ), -})); +jest.mock('@elastic/eui', () => { + const original = jest.requireActual('@elastic/eui'); + + return { + ...original, + // Mocking EuiComboBox, as it utilizes "react-virtualized" for rendering search suggestions, + // which does not produce a valid component wrapper + EuiComboBox: (props: any) => ( + { + props.onChange([syntheticEvent['0']]); + }} + /> + ), + // Mocking EuiCodeEditor, which uses React Ace under the hood + EuiCodeEditor: (props: any) => ( + { + props.onChange(e.jsonContent); + }} + /> + ), + // Mocking EuiSuperSelect to be able to easily change its value + // with a `myWrapper.simulate('change', { target: { value: 'someValue' } })` + EuiSuperSelect: (props: any) => ( + { + props.onChange(e.target.value); + }} + /> + ), + }; +}); export interface DomFields { [key: string]: { diff --git a/x-pack/plugins/index_management/public/application/components/mappings_editor/components/load_mappings/load_mappings_provider.test.tsx b/x-pack/plugins/index_management/public/application/components/mappings_editor/components/load_mappings/load_mappings_provider.test.tsx index 86bc0900f1678..88a7e9252d6dd 100644 --- a/x-pack/plugins/index_management/public/application/components/mappings_editor/components/load_mappings/load_mappings_provider.test.tsx +++ b/x-pack/plugins/index_management/public/application/components/mappings_editor/components/load_mappings/load_mappings_provider.test.tsx @@ -6,23 +6,31 @@ import React from 'react'; import { act } from 'react-dom/test-utils'; -jest.mock('@elastic/eui', () => ({ - ...jest.requireActual('@elastic/eui'), - // Mocking EuiCodeEditor, which uses React Ace under the hood - EuiCodeEditor: (props: any) => ( - { - props.onChange(syntheticEvent.jsonString); - }} - /> - ), -})); +jest.mock('@elastic/eui', () => { + const original = jest.requireActual('@elastic/eui'); -jest.mock('lodash', () => ({ - ...jest.requireActual('lodash'), - debounce: (fn: any) => fn, -})); + return { + ...original, + // Mocking EuiCodeEditor, which uses React Ace under the hood + EuiCodeEditor: (props: any) => ( + { + props.onChange(syntheticEvent.jsonString); + }} + /> + ), + }; +}); + +jest.mock('lodash', () => { + const original = jest.requireActual('lodash'); + + return { + ...original, + debounce: (fn: any) => fn, + }; +}); import { registerTestBed, TestBed } from '../../../../../../../../test_utils'; import { LoadMappingsProvider } from './load_mappings_provider'; diff --git a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_clone.test.tsx b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_clone.test.tsx index 81ee1435be5bd..f8e0030441ba0 100644 --- a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_clone.test.tsx +++ b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_clone.test.tsx @@ -11,18 +11,22 @@ import { PIPELINE_TO_CLONE, PipelinesCloneTestBed } from './helpers/pipelines_cl const { setup } = pageHelpers.pipelinesClone; -jest.mock('@elastic/eui', () => ({ - ...jest.requireActual('@elastic/eui'), - // Mocking EuiCodeEditor, which uses React Ace under the hood - EuiCodeEditor: (props: any) => ( - { - props.onChange(syntheticEvent.jsonString); - }} - /> - ), -})); +jest.mock('@elastic/eui', () => { + const original = jest.requireActual('@elastic/eui'); + + return { + ...original, + // Mocking EuiCodeEditor, which uses React Ace under the hood + EuiCodeEditor: (props: any) => ( + { + props.onChange(syntheticEvent.jsonString); + }} + /> + ), + }; +}); // FLAKY: https://github.com/elastic/kibana/issues/66856 describe.skip('', () => { diff --git a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_create.test.tsx b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_create.test.tsx index 4318062491df8..2cfccbdc6d578 100644 --- a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_create.test.tsx +++ b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_create.test.tsx @@ -11,18 +11,22 @@ import { PipelinesCreateTestBed } from './helpers/pipelines_create.helpers'; const { setup } = pageHelpers.pipelinesCreate; -jest.mock('@elastic/eui', () => ({ - ...jest.requireActual('@elastic/eui'), - // Mocking EuiCodeEditor, which uses React Ace under the hood - EuiCodeEditor: (props: any) => ( - { - props.onChange(syntheticEvent.jsonString); - }} - /> - ), -})); +jest.mock('@elastic/eui', () => { + const original = jest.requireActual('@elastic/eui'); + + return { + ...original, + // Mocking EuiCodeEditor, which uses React Ace under the hood + EuiCodeEditor: (props: any) => ( + { + props.onChange(syntheticEvent.jsonString); + }} + /> + ), + }; +}); describe('', () => { let testBed: PipelinesCreateTestBed; diff --git a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_edit.test.tsx b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_edit.test.tsx index 477eec83f876d..6c89216e34733 100644 --- a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_edit.test.tsx +++ b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_edit.test.tsx @@ -11,18 +11,22 @@ import { PIPELINE_TO_EDIT, PipelinesEditTestBed } from './helpers/pipelines_edit const { setup } = pageHelpers.pipelinesEdit; -jest.mock('@elastic/eui', () => ({ - ...jest.requireActual('@elastic/eui'), - // Mocking EuiCodeEditor, which uses React Ace under the hood - EuiCodeEditor: (props: any) => ( - { - props.onChange(syntheticEvent.jsonString); - }} - /> - ), -})); +jest.mock('@elastic/eui', () => { + const original = jest.requireActual('@elastic/eui'); + + return { + ...original, + // Mocking EuiCodeEditor, which uses React Ace under the hood + EuiCodeEditor: (props: any) => ( + { + props.onChange(syntheticEvent.jsonString); + }} + /> + ), + }; +}); describe('', () => { let testBed: PipelinesEditTestBed; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/__jest__/pipeline_processors_editor.helpers.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/__jest__/pipeline_processors_editor.helpers.tsx index 97c74e0b2231f..320ccd0cbe8c0 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/__jest__/pipeline_processors_editor.helpers.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_processors_editor/__jest__/pipeline_processors_editor.helpers.tsx @@ -8,37 +8,45 @@ import React from 'react'; import { registerTestBed, TestBed } from '../../../../../../../test_utils'; import { PipelineProcessorsEditor, Props } from '../pipeline_processors_editor.container'; -jest.mock('@elastic/eui', () => ({ - ...jest.requireActual('@elastic/eui'), - // Mocking EuiComboBox, as it utilizes "react-virtualized" for rendering search suggestions, - // which does not produce a valid component wrapper - EuiComboBox: (props: any) => ( - { - props.onChange([syntheticEvent['0']]); - }} - /> - ), - // Mocking EuiCodeEditor, which uses React Ace under the hood - EuiCodeEditor: (props: any) => ( - { - props.onChange(e.jsonContent); - }} - /> - ), -})); - -jest.mock('react-virtualized', () => ({ - ...jest.requireActual('react-virtualized'), - AutoSizer: ({ children }: { children: any }) => ( -
{children({ height: 500, width: 500 })}
- ), -})); +jest.mock('@elastic/eui', () => { + const original = jest.requireActual('@elastic/eui'); + + return { + ...original, + // Mocking EuiComboBox, as it utilizes "react-virtualized" for rendering search suggestions, + // which does not produce a valid component wrapper + EuiComboBox: (props: any) => ( + { + props.onChange([syntheticEvent['0']]); + }} + /> + ), + // Mocking EuiCodeEditor, which uses React Ace under the hood + EuiCodeEditor: (props: any) => ( + { + props.onChange(e.jsonContent); + }} + /> + ), + }; +}); + +jest.mock('react-virtualized', () => { + const original = jest.requireActual('react-virtualized'); + + return { + ...original, + AutoSizer: ({ children }: { children: any }) => ( +
{children({ height: 500, width: 500 })}
+ ), + }; +}); const testBedSetup = registerTestBed(PipelineProcessorsEditor, { doMountAsync: false, diff --git a/x-pack/plugins/license_management/__jest__/upload_license.test.tsx b/x-pack/plugins/license_management/__jest__/upload_license.test.tsx index f76376b3fceff..947907c7dcc9c 100644 --- a/x-pack/plugins/license_management/__jest__/upload_license.test.tsx +++ b/x-pack/plugins/license_management/__jest__/upload_license.test.tsx @@ -29,8 +29,6 @@ import { // @ts-ignore } from './api_responses'; -window.location.reload = () => {}; - let store: any = null; let component: any = null; const history = scopedHistoryMock.create(); @@ -60,6 +58,14 @@ const thunkServices = { }; describe('UploadLicense', () => { + beforeAll(() => { + Object.defineProperty(window, 'location', { + value: { + reload: jest.fn(), + }, + }); + }); + beforeEach(() => { store = licenseManagementStore({}, thunkServices); component = ( diff --git a/x-pack/plugins/maps/public/classes/styles/vector/properties/__snapshots__/dynamic_size_property.test.tsx.snap b/x-pack/plugins/maps/public/classes/styles/vector/properties/__snapshots__/dynamic_size_property.test.tsx.snap index 11138bf337043..9dc0e99669c79 100644 --- a/x-pack/plugins/maps/public/classes/styles/vector/properties/__snapshots__/dynamic_size_property.test.tsx.snap +++ b/x-pack/plugins/maps/public/classes/styles/vector/properties/__snapshots__/dynamic_size_property.test.tsx.snap @@ -4,7 +4,7 @@ exports[`renderLegendDetailRow Should render as range 1`] = ` - + } maxLabel="100_format" minLabel="0_format" diff --git a/x-pack/plugins/maps/public/connected_components/layer_panel/__snapshots__/view.test.js.snap b/x-pack/plugins/maps/public/connected_components/layer_panel/__snapshots__/view.test.js.snap index 4aaffef201b35..a9216e4817762 100644 --- a/x-pack/plugins/maps/public/connected_components/layer_panel/__snapshots__/view.test.js.snap +++ b/x-pack/plugins/maps/public/connected_components/layer_panel/__snapshots__/view.test.js.snap @@ -11,7 +11,7 @@ exports[`LayerPanel is rendered 1`] = ` "get": [Function], "remove": [Function], "set": [Function], - "store": undefined, + "store": Storage {}, }, } } diff --git a/x-pack/plugins/ml/public/application/components/rule_editor/__snapshots__/rule_editor_flyout.test.js.snap b/x-pack/plugins/ml/public/application/components/rule_editor/__snapshots__/rule_editor_flyout.test.js.snap index f3acc7074d277..6717e8fa5a51f 100644 --- a/x-pack/plugins/ml/public/application/components/rule_editor/__snapshots__/rule_editor_flyout.test.js.snap +++ b/x-pack/plugins/ml/public/application/components/rule_editor/__snapshots__/rule_editor_flyout.test.js.snap @@ -95,7 +95,7 @@ exports[`RuleEditorFlyout renders the flyout after adding a condition to a rule id="xpack.ml.ruleEditor.ruleEditorFlyout.rulesDescription" values={ Object { - "learnMoreLink": @@ -104,7 +104,7 @@ exports[`RuleEditorFlyout renders the flyout after adding a condition to a rule id="xpack.ml.ruleEditor.ruleEditorFlyout.rulesDescription.learnMoreLinkText" values={Object {}} /> - , + , } } /> @@ -354,7 +354,7 @@ exports[`RuleEditorFlyout renders the flyout after setting the rule to edit 1`] id="xpack.ml.ruleEditor.ruleEditorFlyout.rulesDescription" values={ Object { - "learnMoreLink": @@ -363,7 +363,7 @@ exports[`RuleEditorFlyout renders the flyout after setting the rule to edit 1`] id="xpack.ml.ruleEditor.ruleEditorFlyout.rulesDescription.learnMoreLinkText" values={Object {}} /> - , + , } } /> @@ -599,7 +599,7 @@ exports[`RuleEditorFlyout renders the flyout for creating a rule with conditions id="xpack.ml.ruleEditor.ruleEditorFlyout.rulesDescription" values={ Object { - "learnMoreLink": @@ -608,7 +608,7 @@ exports[`RuleEditorFlyout renders the flyout for creating a rule with conditions id="xpack.ml.ruleEditor.ruleEditorFlyout.rulesDescription.learnMoreLinkText" values={Object {}} /> - , + , } } /> diff --git a/x-pack/plugins/ml/public/application/components/rule_editor/select_rule_action/__snapshots__/rule_action_panel.test.js.snap b/x-pack/plugins/ml/public/application/components/rule_editor/select_rule_action/__snapshots__/rule_action_panel.test.js.snap index b512f6d7c014c..d54f3c710b584 100644 --- a/x-pack/plugins/ml/public/application/components/rule_editor/select_rule_action/__snapshots__/rule_action_panel.test.js.snap +++ b/x-pack/plugins/ml/public/application/components/rule_editor/select_rule_action/__snapshots__/rule_action_panel.test.js.snap @@ -47,7 +47,7 @@ exports[`RuleActionPanel renders panel for rule with a condition 1`] = ` />, }, Object { - "description": - , + , "title": "", }, Object { @@ -101,7 +101,7 @@ exports[`RuleActionPanel renders panel for rule with a condition and scope, valu />, }, Object { - "description": - , + , "title": "", }, Object { @@ -143,7 +143,7 @@ exports[`RuleActionPanel renders panel for rule with scope, value in filter list />, }, Object { - "description": - , + , "title": @@ -68,7 +68,7 @@ exports[`ValidateJob renders button and modal with a message 1`] = ` id="xpack.ml.validateJob.modal.linkToJobTipsText.mlJobTipsLinkText" values={Object {}} /> - , + , } } /> @@ -149,7 +149,7 @@ exports[`ValidateJob renders the button and modal with a success message 1`] = ` id="xpack.ml.validateJob.modal.linkToJobTipsText" values={ Object { - "mlJobTipsLink": @@ -158,7 +158,7 @@ exports[`ValidateJob renders the button and modal with a success message 1`] = ` id="xpack.ml.validateJob.modal.linkToJobTipsText.mlJobTipsLinkText" values={Object {}} /> - , + , } } /> diff --git a/x-pack/plugins/ml/public/application/datavisualizer/file_based/components/edit_flyout/__snapshots__/overrides.test.js.snap b/x-pack/plugins/ml/public/application/datavisualizer/file_based/components/edit_flyout/__snapshots__/overrides.test.js.snap index 59481cb086566..24c9dc85979e7 100644 --- a/x-pack/plugins/ml/public/application/datavisualizer/file_based/components/edit_flyout/__snapshots__/overrides.test.js.snap +++ b/x-pack/plugins/ml/public/application/datavisualizer/file_based/components/edit_flyout/__snapshots__/overrides.test.js.snap @@ -83,12 +83,12 @@ exports[`Overrides render overrides 1`] = ` - See more on accepted formats - + } label={ diff --git a/x-pack/plugins/ml/public/application/explorer/explorer_swimlane.test.tsx b/x-pack/plugins/ml/public/application/explorer/explorer_swimlane.test.tsx index 8a5dbc40db394..df450a33a52df 100644 --- a/x-pack/plugins/ml/public/application/explorer/explorer_swimlane.test.tsx +++ b/x-pack/plugins/ml/public/application/explorer/explorer_swimlane.test.tsx @@ -16,6 +16,17 @@ import { TimeBuckets as TimeBucketsClass } from '../util/time_buckets'; import { ChartTooltipService } from '../components/chart_tooltip'; import { OverallSwimlaneData } from './explorer_utils'; +jest.mock('d3', () => { + const original = jest.requireActual('d3'); + + return { + ...original, + transform: jest.fn().mockReturnValue({ + translate: jest.fn().mockReturnValue(0), + }), + }; +}); + jest.mock('./explorer_dashboard_service', () => ({ dragSelect$: { subscribe: jest.fn(() => ({ diff --git a/x-pack/plugins/ml/public/application/settings/calendars/list/__snapshots__/header.test.js.snap b/x-pack/plugins/ml/public/application/settings/calendars/list/__snapshots__/header.test.js.snap index 0b39841ed61e4..c31ddc173f909 100644 --- a/x-pack/plugins/ml/public/application/settings/calendars/list/__snapshots__/header.test.js.snap +++ b/x-pack/plugins/ml/public/application/settings/calendars/list/__snapshots__/header.test.js.snap @@ -88,7 +88,7 @@ exports[`CalendarListsHeader renders header 1`] = ` values={ Object { "br":
, - "learnMoreLink": @@ -97,7 +97,7 @@ exports[`CalendarListsHeader renders header 1`] = ` id="xpack.ml.settings.calendars.listHeader.calendarsDescription.learnMoreLinkText" values={Object {}} /> - , + , } } /> diff --git a/x-pack/plugins/monitoring/public/components/logs/__snapshots__/logs.test.js.snap b/x-pack/plugins/monitoring/public/components/logs/__snapshots__/logs.test.js.snap index a8eebdaf6aa39..28389ef3c3211 100644 --- a/x-pack/plugins/monitoring/public/components/logs/__snapshots__/logs.test.js.snap +++ b/x-pack/plugins/monitoring/public/components/logs/__snapshots__/logs.test.js.snap @@ -12,11 +12,11 @@ exports[`Logs should render a link to filter by cluster uuid 1`] = ` id="xpack.monitoring.logs.listing.linkText" values={ Object { - "link": Logs - , + , } } /> @@ -36,11 +36,11 @@ exports[`Logs should render a link to filter by cluster uuid and index uuid 1`] id="xpack.monitoring.logs.listing.linkText" values={ Object { - "link": Logs - , + , } } /> @@ -60,11 +60,11 @@ exports[`Logs should render a link to filter by cluster uuid and node uuid 1`] = id="xpack.monitoring.logs.listing.linkText" values={ Object { - "link": Logs - , + , } } /> @@ -286,11 +286,11 @@ exports[`Logs should render normally 1`] = ` id="xpack.monitoring.logs.listing.linkText" values={ Object { - "link": Logs - , + , } } /> diff --git a/x-pack/plugins/monitoring/public/components/logs/__snapshots__/reason.test.js.snap b/x-pack/plugins/monitoring/public/components/logs/__snapshots__/reason.test.js.snap index de4b888a48545..b63fe7047e96c 100644 --- a/x-pack/plugins/monitoring/public/components/logs/__snapshots__/reason.test.js.snap +++ b/x-pack/plugins/monitoring/public/components/logs/__snapshots__/reason.test.js.snap @@ -12,7 +12,7 @@ exports[`Logs should render a default message 1`] = ` id="xpack.monitoring.logs.reason.defaultMessage" values={ Object { - "link": @@ -21,7 +21,7 @@ exports[`Logs should render a default message 1`] = ` id="xpack.monitoring.logs.reason.defaultMessageLink" values={Object {}} /> - , + , } } /> @@ -41,12 +41,12 @@ exports[`Logs should render with a bad indices reason 1`] = ` id="xpack.monitoring.logs.reason.correctIndexNameMessage" values={ Object { - "link": Click here for more information - , + , } } /> @@ -66,12 +66,12 @@ exports[`Logs should render with a no cluster found reason 1`] = ` id="xpack.monitoring.logs.reason.noClusterMessage" values={ Object { - "link": setup - , + , } } /> @@ -91,12 +91,12 @@ exports[`Logs should render with a no index found reason 1`] = ` id="xpack.monitoring.logs.reason.noIndexMessage" values={ Object { - "link": setup - , + , } } /> @@ -116,12 +116,12 @@ exports[`Logs should render with a no index pattern found reason 1`] = ` id="xpack.monitoring.logs.reason.noIndexPatternMessage" values={ Object { - "link": Filebeat - , + , } } /> @@ -141,12 +141,12 @@ exports[`Logs should render with a no node found reason 1`] = ` id="xpack.monitoring.logs.reason.noNodeMessage" values={ Object { - "link": setup - , + , } } /> @@ -166,12 +166,12 @@ exports[`Logs should render with a no structured logs reason 1`] = ` id="xpack.monitoring.logs.reason.notUsingStructuredLogsMessage" values={ Object { - "link": points to JSON logs - , + , "varPaths": var.paths , @@ -194,12 +194,12 @@ exports[`Logs should render with a no type found reason 1`] = ` id="xpack.monitoring.logs.reason.noTypeMessage" values={ Object { - "link": these directions - , + , } } /> diff --git a/x-pack/plugins/monitoring/public/components/metricbeat_migration/flyout/__snapshots__/flyout.test.js.snap b/x-pack/plugins/monitoring/public/components/metricbeat_migration/flyout/__snapshots__/flyout.test.js.snap index a4b2ea8c25020..c5507efb989de 100644 --- a/x-pack/plugins/monitoring/public/components/metricbeat_migration/flyout/__snapshots__/flyout.test.js.snap +++ b/x-pack/plugins/monitoring/public/components/metricbeat_migration/flyout/__snapshots__/flyout.test.js.snap @@ -155,7 +155,7 @@ exports[`Flyout apm part two should show instructions to migrate to metricbeat 1 Object { "children":

- @@ -164,7 +164,7 @@ exports[`Flyout apm part two should show instructions to migrate to metricbeat 1 id="xpack.monitoring.metricbeatMigration.apmInstructions.installMetricbeatLinkText" values={Object {}} /> - +

, "title": "Install Metricbeat on the same server as the APM server", @@ -214,7 +214,7 @@ exports[`Flyout apm part two should show instructions to migrate to metricbeat 1 Object { "link": - @@ -223,7 +223,7 @@ exports[`Flyout apm part two should show instructions to migrate to metricbeat 1 id="xpack.monitoring.metricbeatMigration.securitySetupLinkText" values={Object {}} /> - + , } } @@ -281,7 +281,7 @@ exports[`Flyout apm part two should show instructions to migrate to metricbeat 1 Object { "link": - @@ -290,7 +290,7 @@ exports[`Flyout apm part two should show instructions to migrate to metricbeat 1 id="xpack.monitoring.metricbeatMigration.securitySetupLinkText" values={Object {}} /> - + , } } @@ -305,7 +305,7 @@ exports[`Flyout apm part two should show instructions to migrate to metricbeat 1 Object { "children":

- @@ -314,7 +314,7 @@ exports[`Flyout apm part two should show instructions to migrate to metricbeat 1 id="xpack.monitoring.metricbeatMigration.apmInstructions.startMetricbeatLinkText" values={Object {}} /> - +

, "title": "Start Metricbeat", @@ -494,7 +494,7 @@ exports[`Flyout beats part two should show instructions to migrate to metricbeat Object { "children":

- @@ -503,7 +503,7 @@ exports[`Flyout beats part two should show instructions to migrate to metricbeat id="xpack.monitoring.metricbeatMigration.beatsInstructions.installMetricbeatLinkText" values={Object {}} /> - +

, "title": "Install Metricbeat on the same server as this beat", @@ -553,7 +553,7 @@ exports[`Flyout beats part two should show instructions to migrate to metricbeat values={ Object { "beatType": "beat", - "link": @@ -566,7 +566,7 @@ exports[`Flyout beats part two should show instructions to migrate to metricbeat } } /> - , + , } } /> @@ -590,7 +590,7 @@ exports[`Flyout beats part two should show instructions to migrate to metricbeat Object { "link": - @@ -599,7 +599,7 @@ exports[`Flyout beats part two should show instructions to migrate to metricbeat id="xpack.monitoring.metricbeatMigration.securitySetupLinkText" values={Object {}} /> - + , } } @@ -657,7 +657,7 @@ exports[`Flyout beats part two should show instructions to migrate to metricbeat Object { "link": - @@ -666,7 +666,7 @@ exports[`Flyout beats part two should show instructions to migrate to metricbeat id="xpack.monitoring.metricbeatMigration.securitySetupLinkText" values={Object {}} /> - + , } } @@ -681,7 +681,7 @@ exports[`Flyout beats part two should show instructions to migrate to metricbeat Object { "children":

- @@ -690,7 +690,7 @@ exports[`Flyout beats part two should show instructions to migrate to metricbeat id="xpack.monitoring.metricbeatMigration.beatsInstructions.startMetricbeatLinkText" values={Object {}} /> - +

, "title": "Start Metricbeat", @@ -859,7 +859,7 @@ exports[`Flyout elasticsearch part two should show instructions to migrate to me Object { "children":

- @@ -868,7 +868,7 @@ exports[`Flyout elasticsearch part two should show instructions to migrate to me id="xpack.monitoring.metricbeatMigration.elasticsearchInstructions.installMetricbeatLinkText" values={Object {}} /> - +

, "title": "Install Metricbeat on the same server as Elasticsearch", @@ -926,7 +926,7 @@ exports[`Flyout elasticsearch part two should show instructions to migrate to me Object { "link": - @@ -935,7 +935,7 @@ exports[`Flyout elasticsearch part two should show instructions to migrate to me id="xpack.monitoring.metricbeatMigration.securitySetupLinkText" values={Object {}} /> - + , } } @@ -993,7 +993,7 @@ exports[`Flyout elasticsearch part two should show instructions to migrate to me Object { "link": - @@ -1002,7 +1002,7 @@ exports[`Flyout elasticsearch part two should show instructions to migrate to me id="xpack.monitoring.metricbeatMigration.securitySetupLinkText" values={Object {}} /> - + , } } @@ -1017,7 +1017,7 @@ exports[`Flyout elasticsearch part two should show instructions to migrate to me Object { "children":

- @@ -1026,7 +1026,7 @@ exports[`Flyout elasticsearch part two should show instructions to migrate to me id="xpack.monitoring.metricbeatMigration.elasticsearchInstructions.startMetricbeatLinkText" values={Object {}} /> - +

, "title": "Start Metricbeat", @@ -1210,7 +1210,7 @@ exports[`Flyout kibana part two should show instructions to migrate to metricbea Object { "children":

- @@ -1219,7 +1219,7 @@ exports[`Flyout kibana part two should show instructions to migrate to metricbea id="xpack.monitoring.metricbeatMigration.kibanaInstructions.installMetricbeatLinkText" values={Object {}} /> - +

, "title": "Install Metricbeat on the same server as Kibana", @@ -1269,7 +1269,7 @@ exports[`Flyout kibana part two should show instructions to migrate to metricbea Object { "link": - @@ -1278,7 +1278,7 @@ exports[`Flyout kibana part two should show instructions to migrate to metricbea id="xpack.monitoring.metricbeatMigration.securitySetupLinkText" values={Object {}} /> - + , } } @@ -1336,7 +1336,7 @@ exports[`Flyout kibana part two should show instructions to migrate to metricbea Object { "link": - @@ -1345,7 +1345,7 @@ exports[`Flyout kibana part two should show instructions to migrate to metricbea id="xpack.monitoring.metricbeatMigration.securitySetupLinkText" values={Object {}} /> - + , } } @@ -1360,7 +1360,7 @@ exports[`Flyout kibana part two should show instructions to migrate to metricbea Object { "children":

- @@ -1369,7 +1369,7 @@ exports[`Flyout kibana part two should show instructions to migrate to metricbea id="xpack.monitoring.metricbeatMigration.kibanaInstructions.startMetricbeatLinkText" values={Object {}} /> - +

, "title": "Start Metricbeat", @@ -1544,7 +1544,7 @@ exports[`Flyout logstash part two should show instructions to migrate to metricb Object { "children":

- @@ -1553,7 +1553,7 @@ exports[`Flyout logstash part two should show instructions to migrate to metricb id="xpack.monitoring.metricbeatMigration.logstashInstructions.installMetricbeatLinkText" values={Object {}} /> - +

, "title": "Install Metricbeat on the same server as Logstash", @@ -1603,7 +1603,7 @@ exports[`Flyout logstash part two should show instructions to migrate to metricb Object { "link": - @@ -1612,7 +1612,7 @@ exports[`Flyout logstash part two should show instructions to migrate to metricb id="xpack.monitoring.metricbeatMigration.securitySetupLinkText" values={Object {}} /> - + , } } @@ -1670,7 +1670,7 @@ exports[`Flyout logstash part two should show instructions to migrate to metricb Object { "link": - @@ -1679,7 +1679,7 @@ exports[`Flyout logstash part two should show instructions to migrate to metricb id="xpack.monitoring.metricbeatMigration.securitySetupLinkText" values={Object {}} /> - + , } } @@ -1694,7 +1694,7 @@ exports[`Flyout logstash part two should show instructions to migrate to metricb Object { "children":

- @@ -1703,7 +1703,7 @@ exports[`Flyout logstash part two should show instructions to migrate to metricb id="xpack.monitoring.metricbeatMigration.logstashInstructions.startMetricbeatLinkText" values={Object {}} /> - +

, "title": "Start Metricbeat", @@ -1821,7 +1821,7 @@ exports[`Flyout should render the beat type for beats for the enabling metricbea Object { "children":

- @@ -1830,7 +1830,7 @@ exports[`Flyout should render the beat type for beats for the enabling metricbea id="xpack.monitoring.metricbeatMigration.beatsInstructions.installMetricbeatLinkText" values={Object {}} /> - +

, "title": "Install Metricbeat on the same server as this filebeat", @@ -1880,7 +1880,7 @@ exports[`Flyout should render the beat type for beats for the enabling metricbea values={ Object { "beatType": "filebeat", - "link": @@ -1893,7 +1893,7 @@ exports[`Flyout should render the beat type for beats for the enabling metricbea } } /> - , + , } } /> @@ -1917,7 +1917,7 @@ exports[`Flyout should render the beat type for beats for the enabling metricbea Object { "link": - @@ -1926,7 +1926,7 @@ exports[`Flyout should render the beat type for beats for the enabling metricbea id="xpack.monitoring.metricbeatMigration.securitySetupLinkText" values={Object {}} /> - + , } } @@ -1984,7 +1984,7 @@ exports[`Flyout should render the beat type for beats for the enabling metricbea Object { "link": - @@ -1993,7 +1993,7 @@ exports[`Flyout should render the beat type for beats for the enabling metricbea id="xpack.monitoring.metricbeatMigration.securitySetupLinkText" values={Object {}} /> - + , } } @@ -2008,7 +2008,7 @@ exports[`Flyout should render the beat type for beats for the enabling metricbea Object { "children":

- @@ -2017,7 +2017,7 @@ exports[`Flyout should render the beat type for beats for the enabling metricbea id="xpack.monitoring.metricbeatMigration.beatsInstructions.startMetricbeatLinkText" values={Object {}} /> - +

, "title": "Start Metricbeat", diff --git a/x-pack/plugins/monitoring/server/config.test.ts b/x-pack/plugins/monitoring/server/config.test.ts index 6a57f667312c6..16d52f684109e 100644 --- a/x-pack/plugins/monitoring/server/config.test.ts +++ b/x-pack/plugins/monitoring/server/config.test.ts @@ -4,10 +4,14 @@ * you may not use this file except in compliance with the Elastic License. */ import { createConfig, configSchema } from './config'; -jest.mock('fs', () => ({ - ...jest.requireActual('fs'), - readFileSync: jest.fn().mockImplementation((path: string) => `contents-of-${path}`), -})); +jest.mock('fs', () => { + const original = jest.requireActual('fs'); + + return { + ...original, + readFileSync: jest.fn().mockImplementation((path: string) => `contents-of-${path}`), + }; +}); describe('config schema', () => { it('generates proper defaults', () => { diff --git a/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/__snapshots__/remote_cluster_form.test.js.snap b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/__snapshots__/remote_cluster_form.test.js.snap index bcc9a3f14d48b..e4c8159f59828 100644 --- a/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/__snapshots__/remote_cluster_form.test.js.snap +++ b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/__snapshots__/remote_cluster_form.test.js.snap @@ -703,7 +703,7 @@ exports[`RemoteClusterForm proxy mode renders correct connection settings when u id="xpack.remoteClusters.remoteClusterForm.fieldServerNameHelpText" values={ Object { - "learnMoreLink": - , + , } } /> @@ -812,7 +812,7 @@ exports[`RemoteClusterForm proxy mode renders correct connection settings when u id="xpack.remoteClusters.remoteClusterForm.fieldServerNameHelpText" values={ Object { - "learnMoreLink": - , + , } } > @@ -976,7 +976,7 @@ exports[`RemoteClusterForm proxy mode renders correct connection settings when u id="xpack.remoteClusters.remoteClusterForm.sectionSkipUnavailableDescription" values={ Object { - "learnMoreLink": - , + , "optionName": - , + , "optionName": { }); }); - afterAll(() => { - delete (window as any).location; - }); - it('renders as expected when state is available', async () => { const coreStartMock = coreMock.createStart(); coreStartMock.http.get.mockResolvedValue({ accessAgreement: 'This is [link](../link)' }); diff --git a/x-pack/plugins/security/public/authentication/login/components/login_form/login_form.test.tsx b/x-pack/plugins/security/public/authentication/login/components/login_form/login_form.test.tsx index 9675be2a4d6a7..39131f9f4499f 100644 --- a/x-pack/plugins/security/public/authentication/login/components/login_form/login_form.test.tsx +++ b/x-pack/plugins/security/public/authentication/login/components/login_form/login_form.test.tsx @@ -47,10 +47,6 @@ describe('LoginForm', () => { }); }); - afterAll(() => { - delete (window as any).location; - }); - it('renders as expected', () => { const coreStartMock = coreMock.createStart(); expect( diff --git a/x-pack/plugins/security/public/authentication/login/login_page.test.tsx b/x-pack/plugins/security/public/authentication/login/login_page.test.tsx index ab107e46dfff6..5370c981f2b65 100644 --- a/x-pack/plugins/security/public/authentication/login/login_page.test.tsx +++ b/x-pack/plugins/security/public/authentication/login/login_page.test.tsx @@ -48,10 +48,6 @@ describe('LoginPage', () => { resetHttpMock(); }); - afterAll(() => { - delete (window as any).location; - }); - describe('page', () => { it('renders as expected', async () => { const coreStartMock = coreMock.createStart(); diff --git a/x-pack/plugins/security/public/authentication/logout/logout_app.test.ts b/x-pack/plugins/security/public/authentication/logout/logout_app.test.ts index c17a0c2ca27b1..279500d14f211 100644 --- a/x-pack/plugins/security/public/authentication/logout/logout_app.test.ts +++ b/x-pack/plugins/security/public/authentication/logout/logout_app.test.ts @@ -21,11 +21,6 @@ describe('logoutApp', () => { }); }); - afterAll(() => { - delete (window as any).sessionStorage; - delete (window as any).location; - }); - it('properly registers application', () => { const coreSetupMock = coreMock.createSetup(); diff --git a/x-pack/plugins/security/public/management/api_keys/api_keys_grid/__snapshots__/api_keys_grid_page.test.tsx.snap b/x-pack/plugins/security/public/management/api_keys/api_keys_grid/__snapshots__/api_keys_grid_page.test.tsx.snap index 6d1e0054078bd..050af4bd20a47 100644 --- a/x-pack/plugins/security/public/management/api_keys/api_keys_grid/__snapshots__/api_keys_grid_page.test.tsx.snap +++ b/x-pack/plugins/security/public/management/api_keys/api_keys_grid/__snapshots__/api_keys_grid_page.test.tsx.snap @@ -61,7 +61,7 @@ exports[`APIKeysGridPage renders a callout when API keys are not enabled 1`] = ` id="xpack.security.management.apiKeys.table.apiKeysDisabledErrorDescription" values={ Object { - "link": @@ -70,7 +70,7 @@ exports[`APIKeysGridPage renders a callout when API keys are not enabled 1`] = ` id="xpack.security.management.apiKeys.table.apiKeysDisabledErrorLinkText" values={Object {}} /> - , + , } } > diff --git a/x-pack/plugins/security/public/management/roles/edit_role/privileges/es/__snapshots__/elasticsearch_privileges.test.tsx.snap b/x-pack/plugins/security/public/management/roles/edit_role/privileges/es/__snapshots__/elasticsearch_privileges.test.tsx.snap index 46fb9b8572679..1c020685c246d 100644 --- a/x-pack/plugins/security/public/management/roles/edit_role/privileges/es/__snapshots__/elasticsearch_privileges.test.tsx.snap +++ b/x-pack/plugins/security/public/management/roles/edit_role/privileges/es/__snapshots__/elasticsearch_privileges.test.tsx.snap @@ -13,7 +13,7 @@ exports[`it renders without crashing 1`] = ` id="xpack.security.management.editRole.elasticSearchPrivileges.manageRoleActionsDescription" values={Object {}} /> - - +

} title={ @@ -76,7 +76,7 @@ exports[`it renders without crashing 1`] = ` id="xpack.security.management.editRole.elasticSearchPrivileges.howToBeSubmittedOnBehalfOfOtherUsersDescription" values={Object {}} /> - - +

} title={ diff --git a/x-pack/plugins/security/public/nav_control/nav_control_component.test.tsx b/x-pack/plugins/security/public/nav_control/nav_control_component.test.tsx index ad69fa7ce0d3a..c1c6a9f69b6ec 100644 --- a/x-pack/plugins/security/public/nav_control/nav_control_component.test.tsx +++ b/x-pack/plugins/security/public/nav_control/nav_control_component.test.tsx @@ -22,7 +22,7 @@ describe('SecurityNavControl', () => { const wrapper = shallowWithIntl(); const { button } = wrapper.find(EuiPopover).props(); expect(button).toMatchInlineSnapshot(` - { - + `); }); @@ -49,7 +49,7 @@ describe('SecurityNavControl', () => { wrapper.update(); const { button } = wrapper.find(EuiPopover).props(); expect(button).toMatchInlineSnapshot(` - { name="foo" size="s" /> - + `); }); diff --git a/x-pack/plugins/security/public/session/session_expired.test.ts b/x-pack/plugins/security/public/session/session_expired.test.ts index 1ec2f772050f9..de0a76c28d54c 100644 --- a/x-pack/plugins/security/public/session/session_expired.test.ts +++ b/x-pack/plugins/security/public/session/session_expired.test.ts @@ -12,8 +12,6 @@ describe('#logout', () => { const LOGOUT_URL = '/logout'; const TENANT = '/some-basepath'; - let newUrlPromise: Promise; - beforeAll(() => { Object.defineProperty(window, 'sessionStorage', { value: { @@ -24,13 +22,16 @@ describe('#logout', () => { }); beforeEach(() => { - window.history.pushState({}, '', CURRENT_URL); - mockGetItem.mockReset(); - newUrlPromise = new Promise((resolve) => { - jest.spyOn(window.location, 'assign').mockImplementation((url) => { - resolve(url); - }); + Object.defineProperty(window, 'location', { + value: { + assign: jest.fn(), + pathname: CURRENT_URL, + search: '', + hash: '', + }, + configurable: true, }); + mockGetItem.mockReset(); }); afterAll(() => { @@ -42,7 +43,9 @@ describe('#logout', () => { sessionExpired.logout(); const next = `&next=${encodeURIComponent(CURRENT_URL)}`; - await expect(newUrlPromise).resolves.toBe(`${LOGOUT_URL}?msg=SESSION_EXPIRED${next}`); + await expect(window.location.assign).toHaveBeenCalledWith( + `${LOGOUT_URL}?msg=SESSION_EXPIRED${next}` + ); }); it(`adds 'provider' parameter when sessionStorage contains the provider name for this tenant`, async () => { @@ -57,7 +60,7 @@ describe('#logout', () => { const next = `&next=${encodeURIComponent(CURRENT_URL)}`; const provider = `&provider=${providerName}`; - await expect(newUrlPromise).resolves.toBe( + await expect(window.location.assign).toBeCalledWith( `${LOGOUT_URL}?msg=SESSION_EXPIRED${next}${provider}` ); }); diff --git a/x-pack/plugins/security_solution/public/alerts/components/rules/pre_packaged_rules/load_empty_prompt.test.tsx b/x-pack/plugins/security_solution/public/alerts/components/rules/pre_packaged_rules/load_empty_prompt.test.tsx index 77c7efec262fa..89f6399071dd3 100644 --- a/x-pack/plugins/security_solution/public/alerts/components/rules/pre_packaged_rules/load_empty_prompt.test.tsx +++ b/x-pack/plugins/security_solution/public/alerts/components/rules/pre_packaged_rules/load_empty_prompt.test.tsx @@ -9,12 +9,16 @@ import { shallow } from 'enzyme'; import { PrePackagedRulesPrompt } from './load_empty_prompt'; -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: () => ({ - useHistory: jest.fn(), - }), -})); +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + + return { + ...original, + useHistory: () => ({ + useHistory: jest.fn(), + }), + }; +}); jest.mock('../../../../common/components/link_to'); diff --git a/x-pack/plugins/security_solution/public/alerts/components/rules/rule_actions_overflow/__snapshots__/index.test.tsx.snap b/x-pack/plugins/security_solution/public/alerts/components/rules/rule_actions_overflow/__snapshots__/index.test.tsx.snap index 1bee36ed9e185..549f0590681bd 100644 --- a/x-pack/plugins/security_solution/public/alerts/components/rules/rule_actions_overflow/__snapshots__/index.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/alerts/components/rules/rule_actions_overflow/__snapshots__/index.test.tsx.snap @@ -10,7 +10,7 @@ exports[`RuleActionsOverflow snapshots renders correctly against snapshot 1`] = delay="regular" position="top" > - ({ - ...jest.requireActual('react-router-dom'), - useHistory: () => ({ - useHistory: jest.fn(), - }), -})); +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + + return { + ...original, + useHistory: () => ({ + useHistory: jest.fn(), + }), + }; +}); jest.mock('../../../../../common/components/link_to'); diff --git a/x-pack/plugins/security_solution/public/alerts/pages/detection_engine/rules/create/index.test.tsx b/x-pack/plugins/security_solution/public/alerts/pages/detection_engine/rules/create/index.test.tsx index cc39a26a8faca..b7a2d017c3666 100644 --- a/x-pack/plugins/security_solution/public/alerts/pages/detection_engine/rules/create/index.test.tsx +++ b/x-pack/plugins/security_solution/public/alerts/pages/detection_engine/rules/create/index.test.tsx @@ -11,12 +11,16 @@ import { TestProviders } from '../../../../../common/mock'; import { CreateRulePage } from './index'; import { useUserInfo } from '../../../../components/user_info'; -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: () => ({ - useHistory: jest.fn(), - }), -})); +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + + return { + ...original, + useHistory: () => ({ + useHistory: jest.fn(), + }), + }; +}); jest.mock('../../../../../common/components/link_to'); jest.mock('../../../../components/user_info'); diff --git a/x-pack/plugins/security_solution/public/alerts/pages/detection_engine/rules/index.test.tsx b/x-pack/plugins/security_solution/public/alerts/pages/detection_engine/rules/index.test.tsx index 1c947deb95f97..7e6cd48ddc003 100644 --- a/x-pack/plugins/security_solution/public/alerts/pages/detection_engine/rules/index.test.tsx +++ b/x-pack/plugins/security_solution/public/alerts/pages/detection_engine/rules/index.test.tsx @@ -11,12 +11,16 @@ import { RulesPage } from './index'; import { useUserInfo } from '../../../components/user_info'; import { usePrePackagedRules } from '../../../../alerts/containers/detection_engine/rules'; -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: () => ({ - useHistory: jest.fn(), - }), -})); +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + + return { + ...original, + useHistory: () => ({ + useHistory: jest.fn(), + }), + }; +}); jest.mock('../../../../common/components/link_to'); jest.mock('../../../components/user_info'); diff --git a/x-pack/plugins/security_solution/public/cases/components/all_cases_modal/index.test.tsx b/x-pack/plugins/security_solution/public/cases/components/all_cases_modal/index.test.tsx index 67b0f56367462..f4fd7cc67224f 100644 --- a/x-pack/plugins/security_solution/public/cases/components/all_cases_modal/index.test.tsx +++ b/x-pack/plugins/security_solution/public/cases/components/all_cases_modal/index.test.tsx @@ -15,12 +15,16 @@ import { useGetCasesStatus } from '../../containers/use_get_cases_status'; import { useUpdateCases } from '../../containers/use_bulk_update_case'; import { EuiTableRow } from '@elastic/eui'; -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: () => ({ - useHistory: jest.fn(), - }), -})); +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + + return { + ...original, + useHistory: () => ({ + useHistory: jest.fn(), + }), + }; +}); jest.mock('../../../common/components/link_to'); diff --git a/x-pack/plugins/security_solution/public/cases/components/case_view/actions.test.tsx b/x-pack/plugins/security_solution/public/cases/components/case_view/actions.test.tsx index 1721cb5f819f0..86ec7d79a3f75 100644 --- a/x-pack/plugins/security_solution/public/cases/components/case_view/actions.test.tsx +++ b/x-pack/plugins/security_solution/public/cases/components/case_view/actions.test.tsx @@ -15,12 +15,16 @@ import * as i18n from './translations'; jest.mock('../../containers/use_delete_cases'); const useDeleteCasesMock = useDeleteCases as jest.Mock; -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: () => ({ - useHistory: jest.fn(), - }), -})); +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + + return { + ...original, + useHistory: () => ({ + useHistory: jest.fn(), + }), + }; +}); describe('CaseView actions', () => { const handleOnDeleteConfirm = jest.fn(); diff --git a/x-pack/plugins/security_solution/public/cases/components/configure_cases/button.test.tsx b/x-pack/plugins/security_solution/public/cases/components/configure_cases/button.test.tsx index 1315cf1c962e7..5e19211b47078 100644 --- a/x-pack/plugins/security_solution/public/cases/components/configure_cases/button.test.tsx +++ b/x-pack/plugins/security_solution/public/cases/components/configure_cases/button.test.tsx @@ -12,12 +12,16 @@ import { ConfigureCaseButton, ConfigureCaseButtonProps } from './button'; import { TestProviders } from '../../../common/mock'; import { searchURL } from './__mock__'; -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: () => ({ - useHistory: jest.fn(), - }), -})); +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + + return { + ...original, + useHistory: () => ({ + useHistory: jest.fn(), + }), + }; +}); jest.mock('../../../common/components/link_to'); diff --git a/x-pack/plugins/security_solution/public/cases/components/use_push_to_service/index.test.tsx b/x-pack/plugins/security_solution/public/cases/components/use_push_to_service/index.test.tsx index 9dfeec3b26ba9..f2de830a71644 100644 --- a/x-pack/plugins/security_solution/public/cases/components/use_push_to_service/index.test.tsx +++ b/x-pack/plugins/security_solution/public/cases/components/use_push_to_service/index.test.tsx @@ -15,12 +15,16 @@ import { useGetActionLicense } from '../../containers/use_get_action_license'; import { getKibanaConfigError, getLicenseError } from './helpers'; import { connectorsMock } from '../../containers/configure/mock'; -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: () => ({ - useHistory: jest.fn(), - }), -})); +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + + return { + ...original, + useHistory: () => ({ + useHistory: jest.fn(), + }), + }; +}); jest.mock('../../../common/components/link_to'); jest.mock('../../containers/use_get_action_license'); diff --git a/x-pack/plugins/security_solution/public/common/components/charts/common.test.tsx b/x-pack/plugins/security_solution/public/common/components/charts/common.test.tsx index 023768c6af07d..24141767079ee 100644 --- a/x-pack/plugins/security_solution/public/common/components/charts/common.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/charts/common.test.tsx @@ -21,8 +21,10 @@ import { jest.mock('../../lib/kibana'); jest.mock('@elastic/charts', () => { + const original = jest.requireActual('@elastic/charts'); + return { - ...jest.requireActual('@elastic/charts'), + ...original, getSpecId: jest.fn(() => {}), }; }); diff --git a/x-pack/plugins/security_solution/public/common/components/empty_page/__snapshots__/index.test.tsx.snap b/x-pack/plugins/security_solution/public/common/components/empty_page/__snapshots__/index.test.tsx.snap index f9ee342967b8a..65893f84f5e56 100644 --- a/x-pack/plugins/security_solution/public/common/components/empty_page/__snapshots__/index.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/common/components/empty_page/__snapshots__/index.test.tsx.snap @@ -3,7 +3,7 @@ exports[`renders correctly 1`] = ` - + } iconType="securityAnalyticsApp" title={ diff --git a/x-pack/plugins/security_solution/public/common/components/header_page/index.test.tsx b/x-pack/plugins/security_solution/public/common/components/header_page/index.test.tsx index ef838fc50d108..30f510509913a 100644 --- a/x-pack/plugins/security_solution/public/common/components/header_page/index.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/header_page/index.test.tsx @@ -13,12 +13,16 @@ import { HeaderPage } from './index'; import { useMountAppended } from '../../utils/use_mount_appended'; import { SecurityPageName } from '../../../app/types'; -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: () => ({ - useHistory: jest.fn(), - }), -})); +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + + return { + ...original, + useHistory: () => ({ + useHistory: jest.fn(), + }), + }; +}); jest.mock('../link_to'); diff --git a/x-pack/plugins/security_solution/public/common/components/ml/score/__snapshots__/anomaly_score.test.tsx.snap b/x-pack/plugins/security_solution/public/common/components/ml/score/__snapshots__/anomaly_score.test.tsx.snap index 249cc1fe5f896..a9ec474a7b684 100644 --- a/x-pack/plugins/security_solution/public/common/components/ml/score/__snapshots__/anomaly_score.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/common/components/ml/score/__snapshots__/anomaly_score.test.tsx.snap @@ -82,7 +82,7 @@ exports[`anomaly_scores renders correctly against snapshot 1`] = ` } @@ -105,14 +105,14 @@ exports[`anomaly_scores renders correctly against snapshot 1`] = ` - + 17 - + , "title": "Max Anomaly Score", }, Object { - "description": - , + , "title": , }, Object { - "description": - Narrow to this date range - + - , + , "title": "Detected", }, Object { - "description": process.name: "du" - , + , "title": "Anomalous Entity", }, Object { - "description": user.name: "root" - , + , "title": "Influenced By", }, ] diff --git a/x-pack/plugins/security_solution/public/common/components/ml_popover/__snapshots__/popover_description.test.tsx.snap b/x-pack/plugins/security_solution/public/common/components/ml_popover/__snapshots__/popover_description.test.tsx.snap index 997ed632c798c..ce878d379b5c8 100644 --- a/x-pack/plugins/security_solution/public/common/components/ml_popover/__snapshots__/popover_description.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/common/components/ml_popover/__snapshots__/popover_description.test.tsx.snap @@ -9,7 +9,7 @@ exports[`JobsTableFilters renders correctly against snapshot 1`] = ` id="xpack.securitySolution.components.mlPopup.anomalyDetectionDescription" values={ Object { - "machineLearning": @@ -18,7 +18,7 @@ exports[`JobsTableFilters renders correctly against snapshot 1`] = ` id="xpack.securitySolution.components.mlPopup.machineLearningLink" values={Object {}} /> - , + , } } /> diff --git a/x-pack/plugins/security_solution/public/common/components/ml_popover/__snapshots__/upgrade_contents.test.tsx.snap b/x-pack/plugins/security_solution/public/common/components/ml_popover/__snapshots__/upgrade_contents.test.tsx.snap index 7e9e813288090..40b509ae683fe 100644 --- a/x-pack/plugins/security_solution/public/common/components/ml_popover/__snapshots__/upgrade_contents.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/common/components/ml_popover/__snapshots__/upgrade_contents.test.tsx.snap @@ -15,7 +15,7 @@ exports[`JobsTableFilters renders correctly against snapshot 1`] = ` id="xpack.securitySolution.components.mlPopup.upgradeDescription" values={ Object { - "cloudLink": @@ -24,7 +24,7 @@ exports[`JobsTableFilters renders correctly against snapshot 1`] = ` id="xpack.securitySolution.components.mlPopup.cloudLink" values={Object {}} /> - , + , } } /> diff --git a/x-pack/plugins/security_solution/public/common/components/navigation/index.test.tsx b/x-pack/plugins/security_solution/public/common/components/navigation/index.test.tsx index 69e6ef8688c4d..a99497090f843 100644 --- a/x-pack/plugins/security_solution/public/common/components/navigation/index.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/navigation/index.test.tsx @@ -15,12 +15,16 @@ import { HostsTableType } from '../../../hosts/store/model'; import { RouteSpyState } from '../../utils/route/types'; import { SiemNavigationProps, SiemNavigationComponentProps } from './types'; -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: () => ({ - useHistory: jest.fn(), - }), -})); +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + + return { + ...original, + useHistory: () => ({ + useHistory: jest.fn(), + }), + }; +}); jest.mock('./breadcrumbs', () => ({ setBreadcrumbs: jest.fn(), diff --git a/x-pack/plugins/security_solution/public/common/components/navigation/tab_navigation/index.test.tsx b/x-pack/plugins/security_solution/public/common/components/navigation/tab_navigation/index.test.tsx index 99d6f7840a7d5..977c7808b6c86 100644 --- a/x-pack/plugins/security_solution/public/common/components/navigation/tab_navigation/index.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/navigation/tab_navigation/index.test.tsx @@ -19,12 +19,16 @@ import { TabNavigationProps } from './types'; jest.mock('../../../lib/kibana'); jest.mock('../../link_to'); -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: () => ({ - push: jest.fn(), - }), -})); +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + + return { + ...original, + useHistory: () => ({ + push: jest.fn(), + }), + }; +}); describe('Tab Navigation', () => { const pageName = SecurityPageName.hosts; diff --git a/x-pack/plugins/security_solution/public/common/components/super_date_picker/index.test.tsx b/x-pack/plugins/security_solution/public/common/components/super_date_picker/index.test.tsx index 99510a1b4b42e..19321622d75fa 100644 --- a/x-pack/plugins/security_solution/public/common/components/super_date_picker/index.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/super_date_picker/index.test.tsx @@ -267,44 +267,6 @@ describe('SIEM Super Date Picker', () => { }); }); - describe('Pick Absolute Date', () => { - let wrapper = mount( - - - - ); - beforeEach(() => { - wrapper = mount( - - - - ); - wrapper.find('[data-test-subj="superDatePickerShowDatesButton"]').first().simulate('click'); - wrapper.update(); - - wrapper - .find('[data-test-subj="superDatePickerstartDatePopoverButton"]') - .first() - .simulate('click'); - wrapper.update(); - - wrapper.find('[data-test-subj="superDatePickerAbsoluteTab"]').first().simulate('click'); - wrapper.update(); - - wrapper.find('button.react-datepicker__navigation--previous').first().simulate('click'); - wrapper.update(); - - wrapper.find('div.react-datepicker__day').at(1).simulate('click'); - wrapper.update(); - - wrapper - .find('button[data-test-subj="superDatePickerApplyTimeButton"]') - .first() - .simulate('click'); - wrapper.update(); - }); - }); - describe('#makeMapStateToProps', () => { test('it should return the same shallow references given the same input twice', () => { const mapStateToProps = makeMapStateToProps(); diff --git a/x-pack/plugins/security_solution/public/common/components/top_n/index.test.tsx b/x-pack/plugins/security_solution/public/common/components/top_n/index.test.tsx index d545de9e7a6b7..ae25e66b2af86 100644 --- a/x-pack/plugins/security_solution/public/common/components/top_n/index.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/top_n/index.test.tsx @@ -26,12 +26,16 @@ import { timelineDefaults, } from '../../../timelines/components/manage_timeline'; -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: () => ({ - useHistory: jest.fn(), - }), -})); +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + + return { + ...original, + useHistory: () => ({ + useHistory: jest.fn(), + }), + }; +}); jest.mock('../link_to'); jest.mock('../../lib/kibana'); diff --git a/x-pack/plugins/security_solution/public/common/components/top_n/top_n.test.tsx b/x-pack/plugins/security_solution/public/common/components/top_n/top_n.test.tsx index 62960d4fae71b..b1979c501c778 100644 --- a/x-pack/plugins/security_solution/public/common/components/top_n/top_n.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/top_n/top_n.test.tsx @@ -13,12 +13,16 @@ import { setAbsoluteRangeDatePicker } from '../../store/inputs/actions'; import { allEvents, defaultOptions } from './helpers'; import { TopN } from './top_n'; -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: () => ({ - useHistory: jest.fn(), - }), -})); +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + + return { + ...original, + useHistory: () => ({ + useHistory: jest.fn(), + }), + }; +}); jest.mock('../../lib/kibana'); jest.mock('../link_to'); diff --git a/x-pack/plugins/security_solution/public/network/components/flow_controls/__snapshots__/flow_target_select.test.tsx.snap b/x-pack/plugins/security_solution/public/network/components/flow_controls/__snapshots__/flow_target_select.test.tsx.snap index efc4d4be9e957..6e38b5eeff5f6 100644 --- a/x-pack/plugins/security_solution/public/network/components/flow_controls/__snapshots__/flow_target_select.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/network/components/flow_controls/__snapshots__/flow_target_select.test.tsx.snap @@ -7,7 +7,21 @@ exports[`FlowTargetSelect Component rendering it renders the FlowTargetSelect 1` hasDividers={false} isInvalid={false} isLoading={false} - onChange={[MockFunction]} + onChange={ + [MockFunction] { + "calls": Array [ + Array [ + "destination", + ], + ], + "results": Array [ + Object { + "type": "return", + "value": undefined, + }, + ], + } + } options={ Array [ Object { diff --git a/x-pack/plugins/security_solution/public/network/components/source_destination/index.test.tsx b/x-pack/plugins/security_solution/public/network/components/source_destination/index.test.tsx index cefe2821b5244..570e20dc5656d 100644 --- a/x-pack/plugins/security_solution/public/network/components/source_destination/index.test.tsx +++ b/x-pack/plugins/security_solution/public/network/components/source_destination/index.test.tsx @@ -95,13 +95,17 @@ const getSourceDestinationInstance = () => ( /> ); -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: () => ({ - createHref: jest.fn(), - push: jest.fn(), - }), -})); +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + + return { + ...original, + useHistory: () => ({ + createHref: jest.fn(), + push: jest.fn(), + }), + }; +}); describe('SourceDestination', () => { const mount = useMountAppended(); diff --git a/x-pack/plugins/security_solution/public/overview/components/overview_host_stats/__snapshots__/index.test.tsx.snap b/x-pack/plugins/security_solution/public/overview/components/overview_host_stats/__snapshots__/index.test.tsx.snap index 8742e3f3a1c0d..8d4de5b90fae9 100644 --- a/x-pack/plugins/security_solution/public/overview/components/overview_host_stats/__snapshots__/index.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/overview/components/overview_host_stats/__snapshots__/index.test.tsx.snap @@ -10,7 +10,7 @@ exports[`Overview Host Stat Data rendering it renders the default OverviewHostSt @@ -35,7 +35,7 @@ exports[`Overview Host Stat Data rendering it renders the default OverviewHostSt max={157258653} /> - + } buttonContentClassName="accordion-button" id="host-stat-accordion-groupauditbeat" @@ -243,7 +243,7 @@ exports[`Overview Host Stat Data rendering it renders the default OverviewHostSt @@ -268,7 +268,7 @@ exports[`Overview Host Stat Data rendering it renders the default OverviewHostSt max={157258653} /> - + } buttonContentClassName="accordion-button" id="host-stat-accordion-groupendgame" @@ -508,7 +508,7 @@ exports[`Overview Host Stat Data rendering it renders the default OverviewHostSt @@ -533,7 +533,7 @@ exports[`Overview Host Stat Data rendering it renders the default OverviewHostSt max={157258653} /> - + } buttonContentClassName="accordion-button" id="host-stat-accordion-groupfilebeat" @@ -581,7 +581,7 @@ exports[`Overview Host Stat Data rendering it renders the default OverviewHostSt @@ -606,7 +606,7 @@ exports[`Overview Host Stat Data rendering it renders the default OverviewHostSt max={157258653} /> - + } buttonContentClassName="accordion-button" id="host-stat-accordion-groupwinlogbeat" diff --git a/x-pack/plugins/security_solution/public/overview/components/overview_network_stats/__snapshots__/index.test.tsx.snap b/x-pack/plugins/security_solution/public/overview/components/overview_network_stats/__snapshots__/index.test.tsx.snap index 4bc02aa54a455..f6060fc060958 100644 --- a/x-pack/plugins/security_solution/public/overview/components/overview_network_stats/__snapshots__/index.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/overview/components/overview_network_stats/__snapshots__/index.test.tsx.snap @@ -10,7 +10,7 @@ exports[`Overview Network Stat Data rendering it renders the default OverviewNet @@ -35,7 +35,7 @@ exports[`Overview Network Stat Data rendering it renders the default OverviewNet max={13748195} /> - + } buttonContentClassName="accordion-button" id="network-stat-accordion-groupauditbeat" @@ -83,7 +83,7 @@ exports[`Overview Network Stat Data rendering it renders the default OverviewNet @@ -108,7 +108,7 @@ exports[`Overview Network Stat Data rendering it renders the default OverviewNet max={13748195} /> - + } buttonContentClassName="accordion-button" id="network-stat-accordion-groupfilebeat" @@ -284,7 +284,7 @@ exports[`Overview Network Stat Data rendering it renders the default OverviewNet @@ -309,7 +309,7 @@ exports[`Overview Network Stat Data rendering it renders the default OverviewNet max={13748195} /> - + } buttonContentClassName="accordion-button" id="network-stat-accordion-grouppacketbeat" diff --git a/x-pack/plugins/security_solution/public/timelines/components/fields_browser/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/fields_browser/index.test.tsx index 24dc806838d90..92ef5c41f3b4c 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/fields_browser/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/fields_browser/index.test.tsx @@ -10,7 +10,7 @@ import { ActionCreator } from 'typescript-fsa'; import { mockBrowserFields } from '../../../common/containers/source/mock'; import { TestProviders } from '../../../common/mock'; -import { ColumnHeaderOptions } from '../../../timelines/store/timeline/model'; +import { ColumnHeaderOptions } from '../../store/timeline/model'; import { FIELD_BROWSER_HEIGHT, FIELD_BROWSER_WIDTH } from './helpers'; diff --git a/x-pack/plugins/security_solution/public/timelines/components/flyout/header_with_close_button/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/flyout/header_with_close_button/index.test.tsx index ddb8fb023195a..3ddc1efe9a47f 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/flyout/header_with_close_button/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/flyout/header_with_close_button/index.test.tsx @@ -10,26 +10,34 @@ import React from 'react'; import { TestProviders } from '../../../../common/mock'; import { FlyoutHeaderWithCloseButton } from '.'; -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: jest.fn(), -})); -jest.mock('../../../../common/lib/kibana', () => ({ - ...jest.requireActual('../../../../common/lib/kibana'), - useKibana: jest.fn().mockReturnValue({ - services: { - application: { - capabilities: { - siem: { - crud: true, +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + + return { + ...original, + useHistory: jest.fn(), + }; +}); +jest.mock('../../../../common/lib/kibana', () => { + const original = jest.requireActual('../../../../common/lib/kibana'); + + return { + ...original, + useKibana: jest.fn().mockReturnValue({ + services: { + application: { + capabilities: { + siem: { + crud: true, + }, }, }, }, - }, - }), - useUiSetting$: jest.fn().mockReturnValue([]), - useGetUserSavedObjectPermissions: jest.fn(), -})); + }), + useUiSetting$: jest.fn().mockReturnValue([]), + useGetUserSavedObjectPermissions: jest.fn(), + }; +}); describe('FlyoutHeaderWithCloseButton', () => { test('renders correctly against snapshot', () => { diff --git a/x-pack/plugins/security_solution/public/timelines/components/notes/add_note/__snapshots__/new_note.test.tsx.snap b/x-pack/plugins/security_solution/public/timelines/components/notes/add_note/__snapshots__/new_note.test.tsx.snap index b4e6bce163057..9bf2b5c65e829 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/notes/add_note/__snapshots__/new_note.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/timelines/components/notes/add_note/__snapshots__/new_note.test.tsx.snap @@ -5,7 +5,7 @@ exports[`NewNote renders correctly 1`] = ` data-test-subj="new-note-tabs" initialSelectedTab={ Object { - "content": - , + , "id": "preview", "name": "Preview (Markdown)", }, diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/column_headers/header/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/column_headers/header/index.test.tsx index 3cec1fd34da99..b211847d06a26 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/column_headers/header/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/column_headers/header/index.test.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { Direction } from '../../../../../../graphql/types'; import { TestProviders } from '../../../../../../common/mock'; -import { ColumnHeaderType } from '../../../../../../timelines/store/timeline/model'; +import { ColumnHeaderType } from '../../../../../store/timeline/model'; import { Sort } from '../../sort'; import { CloseButton } from '../actions'; import { defaultHeaders } from '../default_headers'; diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/index.test.tsx index 9ced194aceb35..775c26e82d27b 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/index.test.tsx @@ -205,7 +205,7 @@ describe('Body', () => { .exists() ).toEqual(true); }); - }); + }, 20000); }); describe('action on event', () => { diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/system/generic_file_details.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/system/generic_file_details.test.tsx index 5f4f5a5da352e..6c7a74d840d01 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/system/generic_file_details.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/system/generic_file_details.test.tsx @@ -13,13 +13,17 @@ import { mockTimelineData, TestProviders } from '../../../../../../common/mock'; import { SystemGenericFileDetails, SystemGenericFileLine } from './generic_file_details'; import { useMountAppended } from '../../../../../../common/utils/use_mount_appended'; -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: () => ({ - createHref: jest.fn(), - push: jest.fn(), - }), -})); +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + + return { + ...original, + useHistory: () => ({ + createHref: jest.fn(), + push: jest.fn(), + }), + }; +}); describe('SystemGenericFileDetails', () => { const mount = useMountAppended(); diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/index.test.tsx index b11f6dfdf9d87..5ccc8911d1974 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/index.test.tsx @@ -40,10 +40,14 @@ mockUseResizeObserver.mockImplementation(() => ({})); const mockUseSignalIndex: jest.Mock = useSignalIndex as jest.Mock; jest.mock('../../../alerts/containers/detection_engine/alerts/use_signal_index'); -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: jest.fn(), -})); +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + + return { + ...original, + useHistory: jest.fn(), + }; +}); jest.mock('../flyout/header_with_close_button'); describe('StatefulTimeline', () => { let props = {} as StatefulTimelineProps; diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/properties/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/properties/index.test.tsx index 37e8507d0a1ab..3078700a29d76 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/properties/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/properties/index.test.tsx @@ -26,9 +26,10 @@ import { act } from 'react-dom/test-utils'; jest.mock('../../../../common/components/link_to'); jest.mock('../../../../common/lib/kibana', () => { - const originalModule = jest.requireActual('../../../../common/lib/kibana'); + const original = jest.requireActual('../../../../common/lib/kibana'); + return { - ...originalModule, + ...original, useKibana: jest.fn().mockReturnValue({ services: { application: { @@ -54,27 +55,26 @@ jest.mock('../../../../common/components/utils', () => { }); jest.mock('react-redux', () => { - const originalModule = jest.requireActual('react-redux'); + const original = jest.requireActual('react-redux'); return { - ...originalModule, - useSelector: jest.fn().mockReturnValue({ savedObjectId: '1' }), + ...original, + useDispatch: () => mockDispatch, + useSelector: jest.fn().mockReturnValue({ savedObjectId: '1', urlState: {} }), }; }); - -jest.mock('react-redux', () => ({ - ...jest.requireActual('react-redux'), - useDispatch: () => mockDispatch, - useSelector: jest.fn().mockReturnValue({ savedObjectId: '1', urlState: {} }), -})); const mockHistoryPush = jest.fn(); -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: () => ({ - push: mockHistoryPush, - }), -})); +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + + return { + ...original, + useHistory: () => ({ + push: mockHistoryPush, + }), + }; +}); jest.mock('./use_create_timeline', () => ({ useCreateTimelineButton: jest.fn().mockReturnValue({ getButton: jest.fn() }), @@ -334,7 +334,7 @@ describe('Properties', () => { expect(wrapper.find('[data-test-subj="avatar"]').exists()).toEqual(false); }); - test('insert timeline - new case', () => { + test('insert timeline - new case', async () => { const wrapper = mount( diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/home.test.ts b/x-pack/plugins/snapshot_restore/__jest__/client_integration/home.test.ts index e6e59b4495487..0abc47686a6b4 100644 --- a/x-pack/plugins/snapshot_restore/__jest__/client_integration/home.test.ts +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/home.test.ts @@ -29,8 +29,10 @@ jest.mock('ui/i18n', () => { // Mocking FormattedDate and FormattedTime due to timezone differences on CI jest.mock('@kbn/i18n/react', () => { + const original = jest.requireActual('@kbn/i18n/react'); + return { - ...jest.requireActual('@kbn/i18n/react'), + ...original, FormattedDate: () => '', FormattedTime: () => '', }; diff --git a/x-pack/plugins/spaces/public/management/edit_space/customize_space/__snapshots__/space_identifier.test.tsx.snap b/x-pack/plugins/spaces/public/management/edit_space/customize_space/__snapshots__/space_identifier.test.tsx.snap index 2aec970def9df..2fddf1d155a56 100644 --- a/x-pack/plugins/spaces/public/management/edit_space/customize_space/__snapshots__/space_identifier.test.tsx.snap +++ b/x-pack/plugins/spaces/public/management/edit_space/customize_space/__snapshots__/space_identifier.test.tsx.snap @@ -34,7 +34,7 @@ exports[`renders without crashing 1`] = ` id="xpack.spaces.management.spaceIdentifier.urlIdentifierLabel" values={Object {}} /> - @@ -43,7 +43,7 @@ exports[`renders without crashing 1`] = ` id="xpack.spaces.management.spaceIdentifier.customizeSpaceLinkText" values={Object {}} /> - +

} labelType="label" diff --git a/x-pack/plugins/spaces/public/management/edit_space/enabled_features/__snapshots__/enabled_features.test.tsx.snap b/x-pack/plugins/spaces/public/management/edit_space/enabled_features/__snapshots__/enabled_features.test.tsx.snap index 25d735bd71dd6..43ae75b74c882 100644 --- a/x-pack/plugins/spaces/public/management/edit_space/enabled_features/__snapshots__/enabled_features.test.tsx.snap +++ b/x-pack/plugins/spaces/public/management/edit_space/enabled_features/__snapshots__/enabled_features.test.tsx.snap @@ -67,7 +67,7 @@ exports[`EnabledFeatures renders as expected 1`] = ` id="xpack.spaces.management.enabledSpaceFeatures.goToRolesLink" values={ Object { - "rolesLink": - , + , } } /> diff --git a/x-pack/plugins/spaces/public/nav_control/__snapshots__/nav_control_popover.test.tsx.snap b/x-pack/plugins/spaces/public/nav_control/__snapshots__/nav_control_popover.test.tsx.snap index 10c3eed388ff7..22d65f4600e05 100644 --- a/x-pack/plugins/spaces/public/nav_control/__snapshots__/nav_control_popover.test.tsx.snap +++ b/x-pack/plugins/spaces/public/nav_control/__snapshots__/nav_control_popover.test.tsx.snap @@ -4,7 +4,7 @@ exports[`NavControlPopover renders without crashing 1`] = ` - + } closePopover={[Function]} data-test-subj="spacesNavSelector" diff --git a/x-pack/plugins/transform/public/app/hooks/use_index_data.test.tsx b/x-pack/plugins/transform/public/app/hooks/use_index_data.test.tsx index ba34db7b62967..db9ac1e93633f 100644 --- a/x-pack/plugins/transform/public/app/hooks/use_index_data.test.tsx +++ b/x-pack/plugins/transform/public/app/hooks/use_index_data.test.tsx @@ -8,7 +8,6 @@ import React from 'react'; import { render, wait } from '@testing-library/react'; import { renderHook } from '@testing-library/react-hooks'; -import '@testing-library/jest-dom/extend-expect'; import { CoreSetup } from 'src/core/public'; diff --git a/x-pack/plugins/transform/public/app/sections/create_transform/components/step_create/step_create_form.test.tsx b/x-pack/plugins/transform/public/app/sections/create_transform/components/step_create/step_create_form.test.tsx index f2837d30402de..ffd6c30db45f4 100644 --- a/x-pack/plugins/transform/public/app/sections/create_transform/components/step_create/step_create_form.test.tsx +++ b/x-pack/plugins/transform/public/app/sections/create_transform/components/step_create/step_create_form.test.tsx @@ -6,7 +6,6 @@ import React from 'react'; import { render } from '@testing-library/react'; -import '@testing-library/jest-dom/extend-expect'; import { StepCreateForm } from './step_create_form'; diff --git a/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/step_define_form.test.tsx b/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/step_define_form.test.tsx index 60df5b14bb492..8c919a5185d7e 100644 --- a/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/step_define_form.test.tsx +++ b/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/step_define_form.test.tsx @@ -6,7 +6,6 @@ import React from 'react'; import { render, wait } from '@testing-library/react'; -import '@testing-library/jest-dom/extend-expect'; import { I18nProvider } from '@kbn/i18n/react'; diff --git a/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/step_define_summary.test.tsx b/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/step_define_summary.test.tsx index 19b2633b04ec3..dc3d950938c9e 100644 --- a/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/step_define_summary.test.tsx +++ b/x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/step_define_summary.test.tsx @@ -6,7 +6,6 @@ import React from 'react'; import { render, wait } from '@testing-library/react'; -import '@testing-library/jest-dom/extend-expect'; import { PivotAggsConfig, diff --git a/x-pack/plugins/triggers_actions_ui/public/application/components/health_check.test.tsx b/x-pack/plugins/triggers_actions_ui/public/application/components/health_check.test.tsx index 3fbcd13e98f5d..1d908920db8b0 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/components/health_check.test.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/components/health_check.test.tsx @@ -10,7 +10,6 @@ import { HealthCheck } from './health_check'; import { act } from 'react-dom/test-utils'; import { httpServiceMock } from '../../../../../../src/core/public/mocks'; -import '@testing-library/jest-dom/extend-expect'; const docLinks = { ELASTIC_WEBSITE_URL: 'elastic.co/', DOC_LINK_VERSION: 'current' }; diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/check_action_type_enabled.test.tsx b/x-pack/plugins/triggers_actions_ui/public/application/lib/check_action_type_enabled.test.tsx index 9c017aa6fd31f..2917be943d276 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/check_action_type_enabled.test.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/check_action_type_enabled.test.tsx @@ -13,10 +13,10 @@ import { describe('checkActionTypeEnabled', () => { test(`returns isEnabled:true when action type isn't provided`, async () => { expect(checkActionTypeEnabled()).toMatchInlineSnapshot(` - Object { - "isEnabled": true, - } - `); + Object { + "isEnabled": true, + } + `); }); test('returns isEnabled:true when action type is enabled', async () => { @@ -29,10 +29,10 @@ describe('checkActionTypeEnabled', () => { enabledInLicense: true, }; expect(checkActionTypeEnabled(actionType)).toMatchInlineSnapshot(` - Object { - "isEnabled": true, - } - `); + Object { + "isEnabled": true, + } + `); }); test('returns isEnabled:false when action type is disabled by license', async () => { @@ -45,28 +45,28 @@ describe('checkActionTypeEnabled', () => { enabledInLicense: false, }; expect(checkActionTypeEnabled(actionType)).toMatchInlineSnapshot(` - Object { - "isEnabled": false, - "message": "This connector requires a Basic license.", - "messageCard": - - - - , - } - `); + + + + , + } + `); }); test('returns isEnabled:false when action type is disabled by config', async () => { @@ -79,16 +79,16 @@ describe('checkActionTypeEnabled', () => { enabledInLicense: true, }; expect(checkActionTypeEnabled(actionType)).toMatchInlineSnapshot(` - Object { - "isEnabled": false, - "message": "This connector is disabled by the Kibana configuration.", - "messageCard": , - } - `); + Object { + "isEnabled": false, + "message": "This connector is disabled by the Kibana configuration.", + "messageCard": , + } + `); }); }); @@ -126,10 +126,10 @@ describe('checkActionFormActionTypeEnabled', () => { expect(checkActionFormActionTypeEnabled(actionType, preconfiguredConnectors)) .toMatchInlineSnapshot(` - Object { - "isEnabled": true, - } - `); + Object { + "isEnabled": true, + } + `); }); test('returns isEnabled:false when action type is disabled by config and not preconfigured', async () => { @@ -143,15 +143,15 @@ describe('checkActionFormActionTypeEnabled', () => { }; expect(checkActionFormActionTypeEnabled(actionType, preconfiguredConnectors)) .toMatchInlineSnapshot(` - Object { - "isEnabled": false, - "message": "This connector is disabled by the Kibana configuration.", - "messageCard": , - } - `); + Object { + "isEnabled": false, + "message": "This connector is disabled by the Kibana configuration.", + "messageCard": , + } + `); }); }); diff --git a/x-pack/plugins/ui_actions_enhanced/public/components/action_wizard/action_wizard.test.tsx b/x-pack/plugins/ui_actions_enhanced/public/components/action_wizard/action_wizard.test.tsx index f43d832b1edae..745b3c403afc6 100644 --- a/x-pack/plugins/ui_actions_enhanced/public/components/action_wizard/action_wizard.test.tsx +++ b/x-pack/plugins/ui_actions_enhanced/public/components/action_wizard/action_wizard.test.tsx @@ -6,7 +6,6 @@ import React from 'react'; import { cleanup, fireEvent, render } from '@testing-library/react/pure'; -import '@testing-library/jest-dom/extend-expect'; // TODO: this should be global import { TEST_SUBJ_ACTION_FACTORY_ITEM, TEST_SUBJ_SELECTED_ACTION_FACTORY } from './action_wizard'; import { dashboardFactory, dashboards, Demo, urlFactory } from './test_data'; diff --git a/x-pack/plugins/ui_actions_enhanced/public/drilldowns/components/connected_flyout_manage_drilldowns/connected_flyout_manage_drilldowns.test.tsx b/x-pack/plugins/ui_actions_enhanced/public/drilldowns/components/connected_flyout_manage_drilldowns/connected_flyout_manage_drilldowns.test.tsx index 161caa9782f02..e98701a05ce89 100644 --- a/x-pack/plugins/ui_actions_enhanced/public/drilldowns/components/connected_flyout_manage_drilldowns/connected_flyout_manage_drilldowns.test.tsx +++ b/x-pack/plugins/ui_actions_enhanced/public/drilldowns/components/connected_flyout_manage_drilldowns/connected_flyout_manage_drilldowns.test.tsx @@ -6,7 +6,6 @@ import React from 'react'; import { cleanup, fireEvent, render, wait } from '@testing-library/react/pure'; -import '@testing-library/jest-dom/extend-expect'; import { createFlyoutManageDrilldowns } from './connected_flyout_manage_drilldowns'; import { dashboardFactory, urlFactory } from '../../../components/action_wizard/test_data'; import { StubBrowserStorage } from '../../../../../../../src/test_utils/public/stub_browser_storage'; diff --git a/x-pack/plugins/ui_actions_enhanced/public/drilldowns/components/list_manage_drilldowns/list_manage_drilldowns.test.tsx b/x-pack/plugins/ui_actions_enhanced/public/drilldowns/components/list_manage_drilldowns/list_manage_drilldowns.test.tsx index 4a4d67b08b1d3..715bba74cf8ec 100644 --- a/x-pack/plugins/ui_actions_enhanced/public/drilldowns/components/list_manage_drilldowns/list_manage_drilldowns.test.tsx +++ b/x-pack/plugins/ui_actions_enhanced/public/drilldowns/components/list_manage_drilldowns/list_manage_drilldowns.test.tsx @@ -6,7 +6,6 @@ import React from 'react'; import { cleanup, fireEvent, render } from '@testing-library/react/pure'; -import '@testing-library/jest-dom/extend-expect'; // TODO: this should be global import { DrilldownListItem, ListManageDrilldowns, diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/tabs/checkup/__snapshots__/checkup_tab.test.tsx.snap b/x-pack/plugins/upgrade_assistant/public/application/components/tabs/checkup/__snapshots__/checkup_tab.test.tsx.snap index ca4dff58da80c..dda051e715234 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/tabs/checkup/__snapshots__/checkup_tab.test.tsx.snap +++ b/x-pack/plugins/upgrade_assistant/public/application/components/tabs/checkup/__snapshots__/checkup_tab.test.tsx.snap @@ -39,7 +39,7 @@ exports[`CheckupTab render with deprecations 1`] = ` id="xpack.upgradeAssistant.checkupTab.backUpCallout.calloutBody.calloutDetail" values={ Object { - "snapshotRestoreDocsButton": @@ -48,7 +48,7 @@ exports[`CheckupTab render with deprecations 1`] = ` id="xpack.upgradeAssistant.checkupTab.backUpCallout.calloutBody.snapshotRestoreDocsButtonLabel" values={Object {}} /> - , + , } } /> @@ -320,7 +320,7 @@ exports[`CheckupTab render with error 1`] = ` id="xpack.upgradeAssistant.checkupTab.backUpCallout.calloutBody.calloutDetail" values={ Object { - "snapshotRestoreDocsButton": @@ -329,7 +329,7 @@ exports[`CheckupTab render with error 1`] = ` id="xpack.upgradeAssistant.checkupTab.backUpCallout.calloutBody.snapshotRestoreDocsButtonLabel" values={Object {}} /> - , + , } } /> @@ -385,7 +385,7 @@ exports[`CheckupTab render without deprecations 1`] = ` id="xpack.upgradeAssistant.checkupTab.backUpCallout.calloutBody.calloutDetail" values={ Object { - "snapshotRestoreDocsButton": @@ -394,7 +394,7 @@ exports[`CheckupTab render without deprecations 1`] = ` id="xpack.upgradeAssistant.checkupTab.backUpCallout.calloutBody.snapshotRestoreDocsButtonLabel" values={Object {}} /> - , + , } } /> @@ -427,7 +427,7 @@ exports[`CheckupTab render without deprecations 1`] = ` id="xpack.upgradeAssistant.checkupTab.noIssues.nextStepsDetail" values={ Object { - "overviewTabButton": - , + , } } /> diff --git a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_actions.test.ts b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_actions.test.ts index 2a9449485f42d..713d0cb85e2e8 100644 --- a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_actions.test.ts +++ b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_actions.test.ts @@ -326,7 +326,6 @@ describe('ReindexActions', () => { }); it('fails after 10 attempts to lock', async () => { - jest.setTimeout(20000); // increase the timeout client.get.mockResolvedValue({ type: REINDEX_OP_TYPE, id: consumerType, @@ -339,10 +338,7 @@ describe('ReindexActions', () => { actions.runWhileIndexGroupLocked(consumerType, async (m) => m) ).rejects.toThrow('Could not acquire lock for ML jobs'); expect(client.update).toHaveBeenCalledTimes(10); - - // Restore default timeout. - jest.setTimeout(5000); - }); + }, 20000); }); }); }); diff --git a/x-pack/plugins/uptime/public/components/monitor/ml/__tests__/__snapshots__/ml_flyout.test.tsx.snap b/x-pack/plugins/uptime/public/components/monitor/ml/__tests__/__snapshots__/ml_flyout.test.tsx.snap index 3a056e6621f58..7a61eb7391a10 100644 --- a/x-pack/plugins/uptime/public/components/monitor/ml/__tests__/__snapshots__/ml_flyout.test.tsx.snap +++ b/x-pack/plugins/uptime/public/components/monitor/ml/__tests__/__snapshots__/ml_flyout.test.tsx.snap @@ -31,11 +31,11 @@ exports[`ML Flyout component renders without errors 1`] = ` id="xpack.uptime.ml.enableAnomalyDetectionPanel.manageMLJobDescription" values={ Object { - "mlJobsPageLink": Machine Learning jobs management page - , + , } } /> diff --git a/x-pack/plugins/uptime/public/components/monitor/ping_list/__tests__/__snapshots__/doc_link_body.test.tsx.snap b/x-pack/plugins/uptime/public/components/monitor/ping_list/__tests__/__snapshots__/doc_link_body.test.tsx.snap index cfdbb5184d170..22dab492a94ae 100644 --- a/x-pack/plugins/uptime/public/components/monitor/ping_list/__tests__/__snapshots__/doc_link_body.test.tsx.snap +++ b/x-pack/plugins/uptime/public/components/monitor/ping_list/__tests__/__snapshots__/doc_link_body.test.tsx.snap @@ -7,7 +7,7 @@ exports[`PingListExpandedRow renders expected elements for valid props 1`] = ` id="xpack.uptime.pingList.expandedRow.response_body.notRecorded" values={ Object { - "docsLink": @@ -17,7 +17,7 @@ exports[`PingListExpandedRow renders expected elements for valid props 1`] = ` size="s" type="popout" /> - , + , } } /> diff --git a/x-pack/plugins/uptime/public/components/monitor/ping_list/__tests__/__snapshots__/ping_list.test.tsx.snap b/x-pack/plugins/uptime/public/components/monitor/ping_list/__tests__/__snapshots__/ping_list.test.tsx.snap index 154ab6399452d..20fc6d69c860c 100644 --- a/x-pack/plugins/uptime/public/components/monitor/ping_list/__tests__/__snapshots__/ping_list.test.tsx.snap +++ b/x-pack/plugins/uptime/public/components/monitor/ping_list/__tests__/__snapshots__/ping_list.test.tsx.snap @@ -126,9 +126,9 @@ exports[`PingList component renders sorted list without errors 1`] = ` Object { "align": "right", "field": "http.response.status_code", - "name": + "name": Response code - , + , "render": [Function], }, Object { diff --git a/x-pack/plugins/uptime/public/components/monitor/status_details/location_availability/__tests__/location_availability.test.tsx b/x-pack/plugins/uptime/public/components/monitor/status_details/location_availability/__tests__/location_availability.test.tsx index d00cb1f24def8..39c487bc3e151 100644 --- a/x-pack/plugins/uptime/public/components/monitor/status_details/location_availability/__tests__/location_availability.test.tsx +++ b/x-pack/plugins/uptime/public/components/monitor/status_details/location_availability/__tests__/location_availability.test.tsx @@ -23,8 +23,9 @@ describe('LocationAvailability component', () => { setItem: jest.fn(), }; - // @ts-ignore replacing a call to localStorage we use for monitor list size - global.localStorage = localStorageMock; + Object.defineProperty(window, 'localStorage', { + value: localStorageMock, + }); monitorLocations = { monitorId: 'wapo', diff --git a/x-pack/plugins/uptime/public/components/overview/empty_state/__tests__/__snapshots__/data_or_index_missing.test.tsx.snap b/x-pack/plugins/uptime/public/components/overview/empty_state/__tests__/__snapshots__/data_or_index_missing.test.tsx.snap index d7651fe6db434..0429d36bf8741 100644 --- a/x-pack/plugins/uptime/public/components/overview/empty_state/__tests__/__snapshots__/data_or_index_missing.test.tsx.snap +++ b/x-pack/plugins/uptime/public/components/overview/empty_state/__tests__/__snapshots__/data_or_index_missing.test.tsx.snap @@ -19,7 +19,7 @@ exports[`DataOrIndexMissing component renders headingMessage 1`] = ` + - + } body={ diff --git a/x-pack/plugins/uptime/public/components/overview/empty_state/__tests__/__snapshots__/empty_state.test.tsx.snap b/x-pack/plugins/uptime/public/components/overview/empty_state/__tests__/__snapshots__/empty_state.test.tsx.snap index ccf6ade66408a..cdefa7db5688b 100644 --- a/x-pack/plugins/uptime/public/components/overview/empty_state/__tests__/__snapshots__/empty_state.test.tsx.snap +++ b/x-pack/plugins/uptime/public/components/overview/empty_state/__tests__/__snapshots__/empty_state.test.tsx.snap @@ -196,7 +196,7 @@ exports[`EmptyState component does not render empty state with appropriate base > + - + } body={ @@ -633,7 +633,7 @@ exports[`EmptyState component doesn't render child components when count is fals > + - + } body={ @@ -1075,7 +1075,7 @@ exports[`EmptyState component notifies when index does not exist 1`] = ` > + - + } body={ diff --git a/x-pack/plugins/uptime/public/components/overview/filter_group/__tests__/filter_popover.test.tsx b/x-pack/plugins/uptime/public/components/overview/filter_group/__tests__/filter_popover.test.tsx index 4726a2f4a4abe..a64c7ce698cfe 100644 --- a/x-pack/plugins/uptime/public/components/overview/filter_group/__tests__/filter_popover.test.tsx +++ b/x-pack/plugins/uptime/public/components/overview/filter_group/__tests__/filter_popover.test.tsx @@ -13,7 +13,7 @@ import { EuiFilterSelectItem } from '@elastic/eui'; describe('FilterPopover component', () => { let props: FilterPopoverProps; let setState: jest.Mock; - let useStateSpy: jest.SpyInstance<[unknown, React.Dispatch], unknown[]>; + let useStateSpy: jest.SpyInstance; beforeEach(() => { props = { diff --git a/x-pack/plugins/watcher/__jest__/client_integration/watch_create_threshold.test.tsx b/x-pack/plugins/watcher/__jest__/client_integration/watch_create_threshold.test.tsx index 89cd5207fe250..3513606dbfe30 100644 --- a/x-pack/plugins/watcher/__jest__/client_integration/watch_create_threshold.test.tsx +++ b/x-pack/plugins/watcher/__jest__/client_integration/watch_create_threshold.test.tsx @@ -49,32 +49,40 @@ const WATCH_VISUALIZE_DATA = { const mockHttpClient = axios.create({ adapter: axiosXhrAdapter }); -jest.mock('../../public/application/lib/api', () => ({ - ...jest.requireActual('../../public/application/lib/api'), - loadIndexPatterns: async () => { - const INDEX_PATTERNS = [ - { attributes: { title: 'index1' } }, - { attributes: { title: 'index2' } }, - { attributes: { title: 'index3' } }, - ]; - return await INDEX_PATTERNS; - }, - getHttpClient: () => mockHttpClient, -})); - -jest.mock('@elastic/eui', () => ({ - ...jest.requireActual('@elastic/eui'), - // Mocking EuiComboBox, as it utilizes "react-virtualized" for rendering search suggestions, - // which does not produce a valid component wrapper - EuiComboBox: (props: any) => ( - { - props.onChange([syntheticEvent['0']]); - }} - /> - ), -})); +jest.mock('../../public/application/lib/api', () => { + const original = jest.requireActual('../../public/application/lib/api'); + + return { + ...original, + loadIndexPatterns: async () => { + const INDEX_PATTERNS = [ + { attributes: { title: 'index1' } }, + { attributes: { title: 'index2' } }, + { attributes: { title: 'index3' } }, + ]; + return await INDEX_PATTERNS; + }, + getHttpClient: () => mockHttpClient, + }; +}); + +jest.mock('@elastic/eui', () => { + const original = jest.requireActual('@elastic/eui'); + + return { + ...original, + // Mocking EuiComboBox, as it utilizes "react-virtualized" for rendering search suggestions, + // which does not produce a valid component wrapper + EuiComboBox: (props: any) => ( + { + props.onChange([syntheticEvent['0']]); + }} + /> + ), + }; +}); const { setup } = pageHelpers.watchCreateThreshold; diff --git a/x-pack/plugins/watcher/__jest__/client_integration/watch_edit.test.ts b/x-pack/plugins/watcher/__jest__/client_integration/watch_edit.test.ts index 18acf7339580c..c35bbcb171a30 100644 --- a/x-pack/plugins/watcher/__jest__/client_integration/watch_edit.test.ts +++ b/x-pack/plugins/watcher/__jest__/client_integration/watch_edit.test.ts @@ -16,18 +16,22 @@ import { getRandomString } from '../../../../test_utils'; const mockHttpClient = axios.create({ adapter: axiosXhrAdapter }); -jest.mock('../../public/application/lib/api', () => ({ - ...jest.requireActual('../../public/application/lib/api'), - loadIndexPatterns: async () => { - const INDEX_PATTERNS = [ - { attributes: { title: 'index1' } }, - { attributes: { title: 'index2' } }, - { attributes: { title: 'index3' } }, - ]; - return await INDEX_PATTERNS; - }, - getHttpClient: () => mockHttpClient, -})); +jest.mock('../../public/application/lib/api', () => { + const original = jest.requireActual('../../public/application/lib/api'); + + return { + ...original, + loadIndexPatterns: async () => { + const INDEX_PATTERNS = [ + { attributes: { title: 'index1' } }, + { attributes: { title: 'index2' } }, + { attributes: { title: 'index3' } }, + ]; + return await INDEX_PATTERNS; + }, + getHttpClient: () => mockHttpClient, + }; +}); const { setup } = pageHelpers.watchEdit; diff --git a/x-pack/test_utils/jest/config.js b/x-pack/test_utils/jest/config.js index f36099bd1f347..adee510ef2846 100644 --- a/x-pack/test_utils/jest/config.js +++ b/x-pack/test_utils/jest/config.js @@ -31,12 +31,14 @@ export default { coverageReporters: ['html'], moduleFileExtensions: ['js', 'json', 'ts', 'tsx', 'node'], modulePathIgnorePatterns: ['__fixtures__/', 'target/'], + testEnvironment: 'jest-environment-jsdom-thirteen', testMatch: ['**/*.test.{js,ts,tsx}'], testPathIgnorePatterns: [ '/packages/kbn-ui-framework/(dist|doc_site|generator-kui)/', '/packages/kbn-pm/dist/', `${RESERVED_DIR_JEST_INTEGRATION_TESTS}/`, ], + testRunner: 'jest-circus/runner', transform: { '^.+\\.(js|tsx?)$': '/../src/dev/jest/babel_transform.js', '^.+\\.txt?$': 'jest-raw-loader', diff --git a/x-pack/test_utils/testbed/types.ts b/x-pack/test_utils/testbed/types.ts index 4f7b3d5bda2bb..4975e073eea1f 100644 --- a/x-pack/test_utils/testbed/types.ts +++ b/x-pack/test_utils/testbed/types.ts @@ -83,20 +83,24 @@ export interface TestBed { /** * Set the value of a or a mocked * For the you need to mock it like this - * + * ```typescript - jest.mock('@elastic/eui', () => ({ - ...jest.requireActual('@elastic/eui'), + jest.mock('@elastic/eui', () => { + const original = jest.requireActual('@elastic/eui'); + + return { + ...original, EuiSuperSelect: (props: any) => ( { + onChange={(e) => { props.onChange(e.target.value); }} /> ), - })); + }; + }); ``` * @param select The form select. Can either be a data-test-subj or a reactWrapper (can be a nested path. e.g. "myForm.myInput"). * @param value The value to set diff --git a/x-pack/tsconfig.json b/x-pack/tsconfig.json index e0bf3b8f16946..306294c57b3c6 100644 --- a/x-pack/tsconfig.json +++ b/x-pack/tsconfig.json @@ -39,7 +39,9 @@ "types": [ "node", "jest", - "flot" + "flot", + "jest-styled-components", + "@testing-library/jest-dom" ] } } diff --git a/x-pack/typings/jest.d.ts b/x-pack/typings/jest.d.ts index 5d2aa51284e5e..488df5ad92373 100644 --- a/x-pack/typings/jest.d.ts +++ b/x-pack/typings/jest.d.ts @@ -12,23 +12,3 @@ type DeeplyMockedKeys = { : DeeplyMockedKeys; } & T; - -// https://github.com/styled-components/jest-styled-components/issues/264 -declare namespace jest { - interface AsymmetricMatcher { - $$typeof: Symbol; //eslint-disable-line - sample?: string | RegExp | object | Array | Function; // eslint-disable-line - } - - type Value = string | number | RegExp | AsymmetricMatcher | undefined; - - interface Options { - media?: string; - modifier?: string; - supports?: string; - } - - interface Matchers { - toHaveStyleRule(property: string, value?: Value, options?: Options): R; - } -} diff --git a/yarn.lock b/yarn.lock index 9a9bf98e06c31..b600ccb75c9fa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -817,13 +817,20 @@ "@babel/helper-create-regexp-features-plugin" "^7.8.8" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-async-generators@^7.2.0", "@babel/plugin-syntax-async-generators@^7.8.0": +"@babel/plugin-syntax-async-generators@^7.2.0", "@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + "@babel/plugin-syntax-class-properties@^7.10.1": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.1.tgz#d5bc0645913df5b17ad7eda0fa2308330bde34c5" @@ -831,6 +838,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.1" +"@babel/plugin-syntax-class-properties@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz#6cb933a8872c8d359bfde69bbeaae5162fd1e8f7" + integrity sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-decorators@^7.2.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.8.3.tgz#8d2c15a9f1af624b0025f961682a9d53d3001bda" @@ -866,7 +880,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-json-strings@^7.2.0", "@babel/plugin-syntax-json-strings@^7.8.0": +"@babel/plugin-syntax-json-strings@^7.2.0", "@babel/plugin-syntax-json-strings@^7.8.0", "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== @@ -887,7 +901,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": +"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.8.3.tgz#3995d7d7ffff432f6ddc742b47e730c054599897" + integrity sha512-Zpg2Sgc++37kuFl6ppq2Q7Awc6E6AIW671x5PY8E/f7MCIyPPGK/EoeZXvvY3P42exZ3Q4/t3YOzP/HiN79jDg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== @@ -908,21 +929,21 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.2.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0": +"@babel/plugin-syntax-object-rest-spread@^7.2.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-catch-binding@^7.2.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.0": +"@babel/plugin-syntax-optional-catch-binding@^7.2.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-chaining@^7.8.0": +"@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== @@ -1908,7 +1929,7 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.1", "@babel/runtime@^7.5.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.0", "@babel/runtime@^7.6.2", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.4", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.0", "@babel/runtime@^7.6.2", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.4", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": version "7.9.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.2.tgz#d90df0583a3a252f09aaa619665367bae518db06" integrity sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q== @@ -1922,7 +1943,7 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.0.0", "@babel/template@^7.4.4", "@babel/template@^7.7.4", "@babel/template@^7.8.3", "@babel/template@^7.8.6": +"@babel/template@^7.0.0", "@babel/template@^7.3.3", "@babel/template@^7.4.4", "@babel/template@^7.7.4", "@babel/template@^7.8.3", "@babel/template@^7.8.6": version "7.8.6" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg== @@ -2003,6 +2024,15 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@babel/types@^7.3.3": + version "7.9.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7" + integrity sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA== + dependencies: + "@babel/helper-validator-identifier" "^7.9.5" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + "@babel/types@^7.4", "@babel/types@^7.9.5": version "7.9.5" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.5.tgz#89231f82915a8a566a703b3b20133f73da6b9444" @@ -2012,6 +2042,11 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + "@cnakazawa/watch@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" @@ -2469,15 +2504,6 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== -"@jest/console@^24.7.1": - version "24.7.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.7.1.tgz#32a9e42535a97aedfe037e725bd67e954b459545" - integrity sha512-iNhtIy2M8bXlAOULWVTUxmnelTLFneTNEkHCgPmgd+zNwy9zVddJ6oS5rZ9iwoscNdT5mMwUd0C51v/fSlzItg== - dependencies: - "@jest/source-map" "^24.3.0" - chalk "^2.0.1" - slash "^2.0.0" - "@jest/console@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" @@ -2487,49 +2513,59 @@ chalk "^2.0.1" slash "^2.0.0" -"@jest/core@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" - integrity sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A== +"@jest/console@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.5.0.tgz#770800799d510f37329c508a9edd0b7b447d9abb" + integrity sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw== dependencies: - "@jest/console" "^24.7.1" - "@jest/reporters" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" + "@jest/types" "^25.5.0" + chalk "^3.0.0" + jest-message-util "^25.5.0" + jest-util "^25.5.0" + slash "^3.0.0" + +"@jest/core@^25.5.4": + version "25.5.4" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.5.4.tgz#3ef7412f7339210f003cdf36646bbca786efe7b4" + integrity sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA== + dependencies: + "@jest/console" "^25.5.0" + "@jest/reporters" "^25.5.1" + "@jest/test-result" "^25.5.0" + "@jest/transform" "^25.5.1" + "@jest/types" "^25.5.0" + ansi-escapes "^4.2.1" + chalk "^3.0.0" exit "^0.1.2" - graceful-fs "^4.1.15" - jest-changed-files "^24.9.0" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-resolve-dependencies "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - jest-watcher "^24.9.0" - micromatch "^3.1.10" - p-each-series "^1.0.0" - realpath-native "^1.1.0" - rimraf "^2.5.4" - slash "^2.0.0" - strip-ansi "^5.0.0" + graceful-fs "^4.2.4" + jest-changed-files "^25.5.0" + jest-config "^25.5.4" + jest-haste-map "^25.5.1" + jest-message-util "^25.5.0" + jest-regex-util "^25.2.6" + jest-resolve "^25.5.1" + jest-resolve-dependencies "^25.5.4" + jest-runner "^25.5.4" + jest-runtime "^25.5.4" + jest-snapshot "^25.5.1" + jest-util "^25.5.0" + jest-validate "^25.5.0" + jest-watcher "^25.5.0" + micromatch "^4.0.2" + p-each-series "^2.1.0" + realpath-native "^2.0.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" -"@jest/environment@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" - integrity sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ== +"@jest/environment@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.5.0.tgz#aa33b0c21a716c65686638e7ef816c0e3a0c7b37" + integrity sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA== dependencies: - "@jest/fake-timers" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" + "@jest/fake-timers" "^25.5.0" + "@jest/types" "^25.5.0" + jest-mock "^25.5.0" "@jest/fake-timers@^24.9.0": version "24.9.0" @@ -2540,41 +2576,57 @@ jest-message-util "^24.9.0" jest-mock "^24.9.0" -"@jest/reporters@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" - integrity sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" +"@jest/fake-timers@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.5.0.tgz#46352e00533c024c90c2bc2ad9f2959f7f114185" + integrity sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ== + dependencies: + "@jest/types" "^25.5.0" + jest-message-util "^25.5.0" + jest-mock "^25.5.0" + jest-util "^25.5.0" + lolex "^5.0.0" + +"@jest/globals@^25.5.2": + version "25.5.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-25.5.2.tgz#5e45e9de8d228716af3257eeb3991cc2e162ca88" + integrity sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA== + dependencies: + "@jest/environment" "^25.5.0" + "@jest/types" "^25.5.0" + expect "^25.5.0" + +"@jest/reporters@^25.5.1": + version "25.5.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.5.1.tgz#cb686bcc680f664c2dbaf7ed873e93aa6811538b" + integrity sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^25.5.0" + "@jest/test-result" "^25.5.0" + "@jest/transform" "^25.5.1" + "@jest/types" "^25.5.0" + chalk "^3.0.0" + collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.2" - istanbul-lib-coverage "^2.0.2" - istanbul-lib-instrument "^3.0.1" - istanbul-lib-report "^2.0.4" - istanbul-lib-source-maps "^3.0.1" - istanbul-reports "^2.2.6" - jest-haste-map "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - node-notifier "^5.4.2" - slash "^2.0.0" - source-map "^0.6.0" - string-length "^2.0.0" - -"@jest/source-map@^24.3.0": - version "24.3.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.3.0.tgz#563be3aa4d224caf65ff77edc95cd1ca4da67f28" - integrity sha512-zALZt1t2ou8le/crCeeiRYzvdnTzaIlpOWaet45lNSqNJUnXbppUUFR4ZUAlzgDmKee4Q5P/tKXypI1RiHwgag== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.1.15" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^25.5.1" + jest-resolve "^25.5.1" + jest-util "^25.5.0" + jest-worker "^25.5.0" + slash "^3.0.0" source-map "^0.6.0" + string-length "^3.1.0" + terminal-link "^2.0.0" + v8-to-istanbul "^4.1.3" + optionalDependencies: + node-notifier "^6.0.0" "@jest/source-map@^24.9.0": version "24.9.0" @@ -2585,6 +2637,15 @@ graceful-fs "^4.1.15" source-map "^0.6.0" +"@jest/source-map@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.5.0.tgz#df5c20d6050aa292c2c6d3f0d2c7606af315bd1b" + integrity sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + "@jest/test-result@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" @@ -2594,15 +2655,26 @@ "@jest/types" "^24.9.0" "@types/istanbul-lib-coverage" "^2.0.0" -"@jest/test-sequencer@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" - integrity sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A== +"@jest/test-result@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.5.0.tgz#139a043230cdeffe9ba2d8341b27f2efc77ce87c" + integrity sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A== dependencies: - "@jest/test-result" "^24.9.0" - jest-haste-map "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" + "@jest/console" "^25.5.0" + "@jest/types" "^25.5.0" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^25.5.4": + version "25.5.4" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz#9b4e685b36954c38d0f052e596d28161bdc8b737" + integrity sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA== + dependencies: + "@jest/test-result" "^25.5.0" + graceful-fs "^4.2.4" + jest-haste-map "^25.5.1" + jest-runner "^25.5.4" + jest-runtime "^25.5.4" "@jest/transform@^24.9.0": version "24.9.0" @@ -2626,14 +2698,27 @@ source-map "^0.6.1" write-file-atomic "2.4.1" -"@jest/types@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.8.0.tgz#f31e25948c58f0abd8c845ae26fcea1491dea7ad" - integrity sha512-g17UxVr2YfBtaMUxn9u/4+siG1ptg9IGYAYwvpwn61nBg779RXnjE/m7CxYcIzEt0AbHZZAHSEZNhkE2WxURVg== +"@jest/transform@^25.5.1": + version "25.5.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.5.1.tgz#0469ddc17699dd2bf985db55fa0fb9309f5c2db3" + integrity sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg== dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^12.0.9" + "@babel/core" "^7.1.0" + "@jest/types" "^25.5.0" + babel-plugin-istanbul "^6.0.0" + chalk "^3.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^25.5.1" + jest-regex-util "^25.2.6" + jest-util "^25.5.0" + micromatch "^4.0.2" + pirates "^4.0.1" + realpath-native "^2.0.0" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" "@jest/types@^24.9.0": version "24.9.0" @@ -2644,10 +2729,10 @@ "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^13.0.0" -"@jest/types@^25.1.0": - version "25.1.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.1.0.tgz#b26831916f0d7c381e11dbb5e103a72aed1b4395" - integrity sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA== +"@jest/types@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" + integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^1.1.1" @@ -3444,17 +3529,31 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-2.1.0.tgz#6ad4ca610f696098e92954ab431ff83bea0ce13f" integrity sha512-lXKXfypKo644k4Da4yXkPCrwcvn6SlUW2X2zFbuflKHNjf0w9htru01bo26uMhleMXsDmnZ12eJLdrAZa9MANg== -"@sinonjs/commons@^1", "@sinonjs/commons@^1.3.0", "@sinonjs/commons@^1.4.0": +"@sinonjs/commons@^1": version "1.6.0" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.6.0.tgz#ec7670432ae9c8eb710400d112c201a362d83393" integrity sha512-w4/WHG7C4WWFyE5geCieFJF6MZkbW4VAriol5KlmQXpAQdxvV0p26sqNZOW6Qyw6Y0l9K4g+cHvvczR2sEEpqg== dependencies: type-detect "4.0.8" +"@sinonjs/commons@^1.3.0", "@sinonjs/commons@^1.4.0": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.2.tgz#505f55c74e0272b43f6c52d81946bed7058fc0e2" + integrity sha512-+DUO6pnp3udV/v2VfUWgaY5BIE1IfT7lLfeDzPVeMT1XKkaAp9LgSI9x5RtrFQoZ9Oi0PgXQQHPaoKu7dCjVxw== + dependencies: + type-detect "4.0.8" + +"@sinonjs/commons@^1.7.0": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.1.tgz#da5fd19a5f71177a53778073978873964f49acf1" + integrity sha512-Debi3Baff1Qu1Unc3mjJ96MgpbwTn43S1+9yJ0llWygPwDNu2aaWBD6yc9y/Z8XDRNhx7U+u2UDg2OGQXkclUQ== + dependencies: + type-detect "4.0.8" + "@sinonjs/formatio@^3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-3.2.1.tgz#52310f2f9bcbc67bdac18c94ad4901b95fde267e" - integrity sha512-tsHvOB24rvyvV2+zKMmPkZ7dXX6LSLKZ7aOtXY6Edklp0uRcgGpOsQTTGTcWViFyx4uhWc6GV8QdnALbIbIdeQ== + version "3.2.2" + resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-3.2.2.tgz#771c60dfa75ea7f2d68e3b94c7e888a78781372c" + integrity sha512-B8SEsgd8gArBLMD6zpRw3juQ2FVSsmdd7qlevyDqzS9WTCtvF55/gAL+h6gue8ZvPYcdiPdvueM/qm//9XzyTQ== dependencies: "@sinonjs/commons" "^1" "@sinonjs/samsam" "^3.1.0" @@ -4374,19 +4473,19 @@ pretty-format "^24.9.0" wait-for-expect "^3.0.0" -"@testing-library/jest-dom@4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-4.2.0.tgz#32f8df3a78511b347d39374ea89dc8e0a1c2fb69" - integrity sha512-H61OmRhGPWLrj9emyISx0qjp8jvC9RWyRniuLAq75Ny5XfPiOvWfnY3Wm2Tf0HXusX+PG40I94Gw792IAtSKKg== +"@testing-library/jest-dom@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.8.0.tgz#815e830129c4dda6c8e9a725046397acec523669" + integrity sha512-9Y4FxYIxfwHpUyJVqI8EOfDP2LlEBqKwXE3F+V8ightji0M2rzQB+9kqZ5UJxNs+9oXJIgvYj7T3QaXLNHVDMw== dependencies: - "@babel/runtime" "^7.5.1" - chalk "^2.4.1" - css "^2.2.3" + "@babel/runtime" "^7.9.2" + "@types/testing-library__jest-dom" "^5.0.2" + chalk "^3.0.0" + css "^2.2.4" css.escape "^1.5.1" - jest-diff "^24.0.0" - jest-matcher-utils "^24.0.0" - lodash "^4.17.11" - pretty-format "^24.0.0" + jest-diff "^25.1.0" + jest-matcher-utils "^25.1.0" + lodash "^4.17.15" redent "^3.0.0" "@testing-library/react-hooks@^3.2.1": @@ -4520,10 +4619,10 @@ resolved "https://registry.yarnpkg.com/@types/babel-types/-/babel-types-7.0.4.tgz#bfd5b0d0d1ba13e351dff65b6e52783b816826c8" integrity sha512-WiZhq3SVJHFRgRYLXvpf65XnV6ipVHhnNaNvE8yCimejrGglkg38kEj0JcizqwSHxmPSjcTlig/6JouxLGEhGw== -"@types/babel__core@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.0.tgz#710f2487dda4dcfd010ca6abb2b4dc7394365c51" - integrity sha512-wJTeJRt7BToFx3USrCDs2BhEi4ijBInTQjOIukj6a/5tEkwpFMVZ+1ppgmE+Q/FQyc5P/VWUbx7I9NELrKruHA== +"@types/babel__core@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f" + integrity sha512-cfCCrFmiGY/yq0NuKNxIQvZFy9kY/1immpSpTngOnyIbD4+eJOG5mxphhHDv3CHL9GltO4GcKr54kGBg3RNdbg== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -4531,10 +4630,10 @@ "@types/babel__template" "*" "@types/babel__traverse" "*" -"@types/babel__core@^7.1.2": - version "7.1.2" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f" - integrity sha512-cfCCrFmiGY/yq0NuKNxIQvZFy9kY/1immpSpTngOnyIbD4+eJOG5mxphhHDv3CHL9GltO4GcKr54kGBg3RNdbg== +"@types/babel__core@^7.1.7": + version "7.1.7" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.7.tgz#1dacad8840364a57c98d0dd4855c6dd3752c6b89" + integrity sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -4942,7 +5041,7 @@ "@types/glob" "*" fast-glob "^2.0.2" -"@types/graceful-fs@*": +"@types/graceful-fs@*", "@types/graceful-fs@^4.1.2": version "4.1.3" resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.3.tgz#039af35fe26bec35003e8d86d2ee9c586354348f" integrity sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ== @@ -5090,7 +5189,7 @@ resolved "https://registry.yarnpkg.com/@types/is-glob/-/is-glob-4.0.0.tgz#fb8a2bff539025d4dcd6d5efe7689e03341b876d" integrity sha512-zC/2EmD8scdsGIeE+Xg7kP7oi9VP90zgMQtm9Cr25av4V+a+k8slQyiT60qSw8KORYrOKlPXfHwoa1bQbRzskQ== -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.1" resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== @@ -5110,19 +5209,13 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" -"@types/jest-diff@*": - version "24.3.0" - resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-24.3.0.tgz#29e237a3d954babfe6e23cc59b57ecd8ca8d858d" - integrity sha512-vx1CRDeDUwQ0Pc7v+hS61O1ETA81kD04IMEC0hS1kPyVtHDdZrokAvpF7MT9VI/fVSzicelUZNCepDvhRV1PeA== - dependencies: - jest-diff "*" - -"@types/jest@24.0.19": - version "24.0.19" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.19.tgz#f7036058d2a5844fe922609187c0ad8be430aff5" - integrity sha512-YYiqfSjocv7lk5H/T+v5MjATYjaTMsUkbDnjGqSMoO88jWdtJXJV4ST/7DKZcoMHMBvB2SeSfyOzZfkxXHR5xg== +"@types/jest@*", "@types/jest@^25.2.3": + version "25.2.3" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.3.tgz#33d27e4c4716caae4eced355097a47ad363fdcaf" + integrity sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw== dependencies: - "@types/jest-diff" "*" + jest-diff "^25.2.1" + pretty-format "^25.2.1" "@types/joi@*", "@types/joi@^13.4.2": version "13.6.1" @@ -5151,14 +5244,14 @@ resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.12.1.tgz#5c6f4a1eabca84792fbd916f0cb40847f123c656" integrity sha512-SGGAhXLHDx+PK4YLNcNGa6goPf9XRWQNAUUbffkwVGGXIxmDKWyGGL4inzq2sPmExu431Ekb9aEMn9BkPqEYFA== -"@types/jsdom@^12.2.4": - version "12.2.4" - resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-12.2.4.tgz#845cd4d43f95b8406d9b724ec30c03edadcd9528" - integrity sha512-q+De3S/Ri6U9uPx89YA1XuC+QIBgndIfvBaaJG0pRT8Oqa75k4Mr7G9CRZjIvlbLGIukO/31DFGFJYlQBmXf/A== +"@types/jsdom@^16.2.3": + version "16.2.3" + resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-16.2.3.tgz#c6feadfe0836389b27f9c911cde82cd32e91c537" + integrity sha512-BREatezSn74rmLIDksuqGNFUTi9HNAWWQXYpFBFLK9U6wlMCO4M0QCa8CMpDsZQuqxSO9XifVLT5Q1P0vgKLqw== dependencies: "@types/node" "*" + "@types/parse5" "*" "@types/tough-cookie" "*" - parse5 "^4.0.0" "@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.4": version "7.0.5" @@ -5436,6 +5529,11 @@ resolved "https://registry.yarnpkg.com/@types/parse-link-header/-/parse-link-header-1.0.0.tgz#69f059e40a0fa93dc2e095d4142395ae6adc5d7a" integrity sha512-fCA3btjE7QFeRLfcD0Sjg+6/CnmC66HpMBoRfRzd2raTaWMJV21CCZ0LO8MOqf8onl5n0EPfjq4zDhbyX8SVwA== +"@types/parse5@*": + version "5.0.3" + resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109" + integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== + "@types/pegjs@^0.10.1": version "0.10.1" resolved "https://registry.yarnpkg.com/@types/pegjs/-/pegjs-0.10.1.tgz#9a2f3961dc62430fdb21061eb0ddbd890f9e3b94" @@ -5458,6 +5556,11 @@ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.16.1.tgz#328d1c9b54402e44119398bcb6a31b7bbd606d59" integrity sha512-db6pZL5QY3JrlCHBhYQzYDci0xnoDuxfseUuguLRr3JNk+bnCfpkK6p8quiUDyO8A0vbpBKkk59Fw125etrNeA== +"@types/prettier@^1.19.0": + version "1.19.1" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.19.1.tgz#33509849f8e679e4add158959fdb086440e9553f" + integrity sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ== + "@types/pretty-ms@^5.0.0": version "5.0.1" resolved "https://registry.yarnpkg.com/@types/pretty-ms/-/pretty-ms-5.0.1.tgz#f2f0d7be58caf8613d149053d446e0282ae11ff3" @@ -5864,6 +5967,13 @@ dependencies: pretty-format "^24.3.0" +"@types/testing-library__jest-dom@^5.0.2", "@types/testing-library__jest-dom@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.7.0.tgz#078790bf4dc89152a74428591a228ec5f9433251" + integrity sha512-LoZ3uonlnAbJUz4bg6UoeFl+frfndXngmkCItSjJ8DD5WlRfVqPC5/LgJASsY/dy7AHH2YJ7PcsdASOydcVeFA== + dependencies: + "@types/jest" "*" + "@types/testing-library__react-hooks@^3.0.0", "@types/testing-library__react-hooks@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@types/testing-library__react-hooks/-/testing-library__react-hooks-3.1.0.tgz#04d174ce767fbcce3ccb5021d7f156e1b06008a9" @@ -6066,11 +6176,6 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.0.0.tgz#453743c5bbf9f1bed61d959baab5b06be029b2d0" integrity sha512-wBlsw+8n21e6eTd4yVv8YD/E3xq0O6nNnJIquutAsFGE7EyMKz7W6RNT6BRu1SmdgmlCZ9tb0X+j+D6HGr8pZw== -"@types/yargs@^12.0.9": - version "12.0.10" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.10.tgz#17a8ec65cd8e88f51b418ceb271af18d3137df67" - integrity sha512-WsVzTPshvCSbHThUduGGxbmnwcpkgSctHGHTqzWyFg4lYAuV5qXlyFPOsP3OWqCINfmg/8VXP+zJaa4OxEsBQQ== - "@types/yargs@^13.0.0": version "13.0.2" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.2.tgz#a64674fc0149574ecd90ba746e932b5a5f7b3653" @@ -6383,7 +6488,7 @@ JSONStream@1.3.5: resolved "https://registry.yarnpkg.com/JSV/-/JSV-4.0.2.tgz#d077f6825571f82132f9dffaed587b4029feff57" integrity sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c= -abab@^1.0.3, abab@^1.0.4: +abab@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e" integrity sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4= @@ -6453,15 +6558,7 @@ acorn-globals@^3.0.0: dependencies: acorn "^4.0.4" -acorn-globals@^4.0.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.2.tgz#4e2c2313a597fd589720395f6354b41cd5ec8006" - integrity sha512-BbzvZhVtZP+Bs1J1HcwrQe8ycfO0wStkSGxuul3He3GkHOIZ6eTqOkPuw9IP1X3+IkOo4wiJmwkobzXYz4wewQ== - dependencies: - acorn "^6.0.1" - acorn-walk "^6.0.1" - -acorn-globals@^4.3.2: +acorn-globals@^4.3.0, acorn-globals@^4.3.2: version "4.3.4" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== @@ -6500,7 +6597,7 @@ acorn-walk@^7.0.0, acorn-walk@^7.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e" integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ== -acorn@5.X, acorn@^5.0.3, acorn@^5.1.2, acorn@^5.5.0: +acorn@5.X, acorn@^5.0.3, acorn@^5.5.0: version "5.7.4" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== @@ -6515,7 +6612,7 @@ acorn@^4.0.4, acorn@~4.0.2: resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c= -acorn@^6.0.1, acorn@^6.2.1: +acorn@^6.0.1, acorn@^6.0.4, acorn@^6.2.1: version "6.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== @@ -6977,7 +7074,7 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@~3.1.1: +anymatch@^3.0.3, anymatch@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== @@ -7878,18 +7975,19 @@ babel-helper-to-multiple-sequence-expressions@^0.5.0: resolved "https://registry.yarnpkg.com/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz#a3f924e3561882d42fcf48907aa98f7979a4588d" integrity sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA== -babel-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" - integrity sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw== +babel-jest@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.5.1.tgz#bc2e6101f849d6f6aec09720ffc7bc5332e62853" + integrity sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ== dependencies: - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/babel__core" "^7.1.0" - babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.9.0" - chalk "^2.4.2" - slash "^2.0.0" + "@jest/transform" "^25.5.1" + "@jest/types" "^25.5.0" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^25.5.0" + chalk "^3.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" babel-loader@^8.0.2, babel-loader@^8.0.6: version "8.0.6" @@ -7994,11 +8092,13 @@ babel-plugin-istanbul@^6.0.0: istanbul-lib-instrument "^4.0.0" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" - integrity sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw== +babel-plugin-jest-hoist@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz#129c80ba5c7fc75baf3a45b93e2e372d57ca2677" + integrity sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g== dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" "@types/babel__traverse" "^7.0.6" babel-plugin-macros@2.6.1: @@ -8215,13 +8315,29 @@ babel-polyfill@^6.26.0: core-js "^2.5.0" regenerator-runtime "^0.10.5" -babel-preset-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" - integrity sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg== +babel-preset-current-node-syntax@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz#fb4a4c51fe38ca60fede1dc74ab35eb843cb41d6" + integrity sha512-u/8cS+dEiK1SFILbOC8/rUI3ml9lboKuuMvZ/4aQnQmhecQAgPw5ew066C1ObnEAUmlx7dv/s2z52psWEtLNiw== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +babel-preset-jest@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz#c1d7f191829487a907764c65307faa0e66590b49" + integrity sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw== dependencies: - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.9.0" + babel-plugin-jest-hoist "^25.5.0" + babel-preset-current-node-syntax "^0.1.2" "babel-preset-minify@^0.5.0 || 0.6.0-alpha.5": version "0.5.0" @@ -9427,6 +9543,15 @@ caniuse-lite@^1.0.30001043: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001079.tgz#ed3e5225cd9a6850984fdd88bf24ce45d69b9c22" integrity sha512-2KaYheg0iOY+CMmDuAB3DHehrXhhb4OZU4KBVGDr/YKyYAcpudaiUQ9PJ9rxrPlKEoJ3ATasQ5AN48MqpwS43Q== +canvas@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/canvas/-/canvas-2.6.1.tgz#0d087dd4d60f5a5a9efa202757270abea8bef89e" + integrity sha512-S98rKsPcuhfTcYbtF53UIJhcbgIAK533d1kJKMwsMwAIFgfd58MOyxRud3kktlzWiEkFliaJtvyZCBtud/XVEA== + dependencies: + nan "^2.14.0" + node-pre-gyp "^0.11.0" + simple-get "^3.0.3" + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -10189,6 +10314,11 @@ collapse-white-space@^1.0.2: resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.3.tgz#4b906f670e5a963a87b76b0e1689643341b6023c" integrity sha1-S5BvZw5aljqHt2sOFolkM0G2Ajw= +collect-v8-coverage@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.0.tgz#150ee634ac3650b71d9c985eb7f608942334feb1" + integrity sha512-VKIhJgvk8E1W28m5avZ2Gv2Ruv5YiF56ug2oclvaG9md69BuZImMG2sk9g7QNKLUbtYAKQjXjYxbYZVUlMMKmQ== + collection-map@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-map/-/collection-map-1.0.0.tgz#aea0f06f8d26c780c2b75494385544b2255af18c" @@ -10685,11 +10815,6 @@ content-disposition@0.5.3: dependencies: safe-buffer "5.1.2" -content-type-parser@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/content-type-parser/-/content-type-parser-1.0.2.tgz#caabe80623e63638b2502fd4c7f12ff4ce2352e7" - integrity sha512-lM4l4CnMEwOLHAHr/P6MEZwZFPJFtAAKgL6pogbXmVZggIqXhdB6RbBtPOTsw2FcXwYhehRGERJmRrjOiIB8pQ== - content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" @@ -10712,7 +10837,7 @@ contour_plot@^0.0.1: resolved "https://registry.yarnpkg.com/contour_plot/-/contour_plot-0.0.1.tgz#475870f032b8e338412aa5fc507880f0bf495c77" integrity sha1-R1hw8DK44zhBKqX8UHiA8L9JXHc= -convert-source-map@1.7.0, convert-source-map@^1.5.1, convert-source-map@^1.7.0: +convert-source-map@1.7.0, convert-source-map@^1.5.1, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== @@ -11277,7 +11402,7 @@ css.escape@^1.5.1: resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s= -css@2.X, css@^2.0.0, css@^2.2.1, css@^2.2.3, css@^2.2.4: +css@2.X, css@^2.0.0, css@^2.2.1, css@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== @@ -11304,32 +11429,27 @@ csso@^4.0.2: dependencies: css-tree "1.0.0-alpha.37" -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": - version "0.3.2" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" - integrity sha1-uANhcMefB6kP8vFuIihAJ6JDhIs= +cssom@0.3.x, cssom@^0.3.4, cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== cssom@^0.4.1: version "0.4.4" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -"cssstyle@>= 0.2.37 < 0.3.0": - version "0.2.37" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" - integrity sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ= +cssstyle@^1.1.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" + integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== dependencies: cssom "0.3.x" cssstyle@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.0.0.tgz#911f0fe25532db4f5d44afc83f89cc4b82c97fe3" - integrity sha512-QXSAu2WBsSRXCPjvI43Y40m6fMevvyRm8JVAuF9ksQz5jha4pWP1wpaK7Yu5oLFc6+XAY+hj8YhefyXcBB53gg== + version "2.2.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.2.0.tgz#e4c44debccd6b7911ed617a4395e5754bba59992" + integrity sha512-sEb3XFPx3jNnCAMtqrXPDeSgQr+jojtCeNf8cvMNMh1cG970+lljssvQDzPq6lmmJu2Vhqood/gtEomBiHOGnA== dependencies: cssom "~0.3.6" @@ -12131,11 +12251,21 @@ detect-indent@^4.0.0: dependencies: repeating "^2.0.0" -detect-newline@2.X, detect-newline@^2.1.0: +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= + +detect-newline@2.X: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + detect-node@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" @@ -12270,20 +12400,15 @@ diff-match-patch@^1.0.4: resolved "https://registry.yarnpkg.com/diff-match-patch/-/diff-match-patch-1.0.4.tgz#6ac4b55237463761c4daf0dc603eb869124744b1" integrity sha512-Uv3SW8bmH9nAtHKaKSanOQmj2DnlH65fUpcrMdfdaOxUG02QQ4YGZ8AE7kKOMisF7UqvOlGKVYWRvezdncW9lg== -diff-sequences@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.0.0.tgz#cdf8e27ed20d8b8d3caccb4e0c0d8fe31a173013" - integrity sha512-46OkIuVGBBnrC0soO/4LHu5LHGHx0uhP65OVz8XOrAJpqiCB2aVIuESvjI1F9oqebuvY8lekS1pt6TN7vt7qsw== - diff-sequences@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== -diff-sequences@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.1.0.tgz#fd29a46f1c913fd66c22645dc75bffbe43051f32" - integrity sha512-nFIfVk5B/NStCsJ+zaPO4vYuLjlzQ6uFvPxzYyHlejNZ/UGa7G/n7peOXVrVNvRuyfstt+mZQYGpjxg9Z6N8Kw== +diff-sequences@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" + integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== diff@3.5.0, diff@^3.5.0: version "3.5.0" @@ -12443,11 +12568,6 @@ domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== -domexception@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.0.tgz#81fe5df81b3f057052cde3a9fa9bf536a85b9ab0" - integrity sha512-WpwuBlZ2lQRFa4H/4w49deb9rJLot9KmqrKKjMc9qBl7CID+DdC2swoa34ccRl+anL2B6bLp6TjFdIdnzekMBQ== - domexception@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" @@ -13294,6 +13414,18 @@ escodegen@1.8.x: optionalDependencies: source-map "~0.2.0" +escodegen@^1.11.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457" + integrity sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + escodegen@^1.11.1: version "1.12.0" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz#f763daf840af172bb3a2b6dd7219c0e17f7ff541" @@ -13318,18 +13450,6 @@ escodegen@^1.8.0: optionalDependencies: source-map "~0.6.1" -escodegen@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.0.tgz#9811a2f265dc1cd3894420ee3717064b632b8852" - integrity sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw== - dependencies: - esprima "^3.1.3" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.5.6" - escodegen@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.2.0.tgz#09de7967791cc958b7f89a2ddb6d23451af327e1" @@ -13453,10 +13573,10 @@ eslint-plugin-import@^2.19.1: read-pkg-up "^2.0.0" resolve "^1.12.0" -eslint-plugin-jest@^23.3.0: - version "23.3.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-23.3.0.tgz#b1443d0c46d6a0de9ef3de78176dd6688c7d5326" - integrity sha512-GE6CR4ESJeu6Huw7vfZfaXHmX2R2kCFvf2X9OMcOxfP158yLKgLWz7PqLYTwRDACi84IhpmRxO8lK7GGwG05UQ== +eslint-plugin-jest@^23.10.0: + version "23.10.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-23.10.0.tgz#4738c7ca9e6513da50f4e99d7b161c1f82fa8e8f" + integrity sha512-cHC//nesojSO1MLxVmFJR/bUaQQG7xvMHQD8YLbsQzevR41WKm8paKDUv2wMHlUy5XLZUmNcWuflOi4apS8D+Q== dependencies: "@typescript-eslint/experimental-utils" "^2.5.0" @@ -13691,7 +13811,7 @@ esprima@^3.1.3, esprima@~3.1.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= -esprima@^4.0.0, esprima@~4.0.0: +esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -13891,6 +14011,22 @@ execa@^0.7.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +execa@^3.2.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" + integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + p-finally "^2.0.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + execa@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.2.tgz#ad87fb7b2d9d564f70d2b62d511bee41d5cbb240" @@ -13977,6 +14113,18 @@ expect@^24.9.0: jest-message-util "^24.9.0" jest-regex-util "^24.9.0" +expect@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-25.5.0.tgz#f07f848712a2813bb59167da3fb828ca21f58bba" + integrity sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA== + dependencies: + "@jest/types" "^25.5.0" + ansi-styles "^4.0.0" + jest-get-type "^25.2.6" + jest-matcher-utils "^25.5.0" + jest-message-util "^25.5.0" + jest-regex-util "^25.2.6" + expiry-js@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/expiry-js/-/expiry-js-0.1.7.tgz#76be8c05e572bf936df40c1766448d0b3b2f555f" @@ -15109,7 +15257,7 @@ fsevents@^1.2.7: bindings "^1.5.0" nan "^2.12.1" -fsevents@~2.1.0, fsevents@~2.1.1, fsevents@~2.1.2: +fsevents@^2.1.2, fsevents@~2.1.0, fsevents@~2.1.1, fsevents@~2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA== @@ -15955,6 +16103,11 @@ graceful-fs@^4.2.0: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q== +graceful-fs@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + graceful-fs@~1.1: version "1.1.14" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.1.14.tgz#07078db5f6377f6321fceaaedf497de124dc9465" @@ -16885,7 +17038,7 @@ html-element-map@^1.2.0: dependencies: array-filter "^1.0.0" -html-encoding-sniffer@^1.0.1, html-encoding-sniffer@^1.0.2: +html-encoding-sniffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== @@ -17183,7 +17336,7 @@ icalendar@0.7.1: resolved "https://registry.yarnpkg.com/icalendar/-/icalendar-0.7.1.tgz#d0d3486795f8f1c5cf4f8cafac081b4b4e7a32ae" integrity sha1-0NNIZ5X48cXPT4yvrAgbS056Mq4= -iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.22, iconv-lite@^0.4.24, iconv-lite@~0.4.13: +iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.22, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -17267,6 +17420,13 @@ ignore-by-default@^1.0.1: resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk= +ignore-walk@^3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" + integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== + dependencies: + minimatch "^3.0.4" + ignore@^3.1.2, ignore@^3.3.5: version "3.3.10" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" @@ -17357,6 +17517,14 @@ import-local@2.0.0, import-local@^2.0.0: pkg-dir "^3.0.0" resolve-cwd "^2.0.0" +import-local@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + imports-loader@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/imports-loader/-/imports-loader-0.8.0.tgz#030ea51b8ca05977c40a3abfd9b4088fe0be9a69" @@ -18459,6 +18627,11 @@ is-wsl@^1.1.0: resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= +is-wsl@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d" + integrity sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog== + is-yarn-global@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" @@ -18560,7 +18733,7 @@ istanbul-lib-coverage@^1.2.1: resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz#ccf7edcd0a0bb9b8f729feeb0930470f9af664f0" integrity sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ== -istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.3: +istanbul-lib-coverage@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#0b891e5ad42312c2b9488554f603795f9a2211ba" integrity sha512-dKWuzRGCs4G+67VfW9pBFFz2Jpi4vSp/k7zBcJ888ofV5Mi1g5CUML5GvMvV6u9Cjybftu+E8Cgp+k0dI1E5lw== @@ -18590,7 +18763,7 @@ istanbul-lib-instrument@^1.7.3: istanbul-lib-coverage "^1.2.1" semver "^5.3.0" -istanbul-lib-instrument@^3.0.0, istanbul-lib-instrument@^3.0.1: +istanbul-lib-instrument@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.1.0.tgz#a2b5484a7d445f1f311e93190813fa56dfb62971" integrity sha512-ooVllVGT38HIk8MxDj/OIHXSYvH+1tq/Vb38s8ixt9GoJadXska4WkGY+0wkmtYCZNYtaARniH/DixUGGLZ0uA== @@ -18629,15 +18802,6 @@ istanbul-lib-processinfo@^2.0.2: rimraf "^3.0.0" uuid "^3.3.3" -istanbul-lib-report@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.4.tgz#bfd324ee0c04f59119cb4f07dab157d09f24d7e4" - integrity sha512-sOiLZLAWpA0+3b5w5/dq0cjm2rrNdAfHWaGhmn7XEFW6X++IV9Ohn+pnELAl9K3rfpaeBfbmH9JU5sejacdLeA== - dependencies: - istanbul-lib-coverage "^2.0.3" - make-dir "^1.3.0" - supports-color "^6.0.0" - istanbul-lib-report@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" @@ -18647,17 +18811,6 @@ istanbul-lib-report@^3.0.0: make-dir "^3.0.0" supports-color "^7.1.0" -istanbul-lib-source-maps@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.2.tgz#f1e817229a9146e8424a28e5d69ba220fda34156" - integrity sha512-JX4v0CiKTGp9fZPmoxpu9YEkPbEqCqBbO3403VabKjH+NRXo72HafD5UgnjTEqHL2SAjaZK1XDuDOkn6I5QVfQ== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^2.0.3" - make-dir "^1.3.0" - rimraf "^2.6.2" - source-map "^0.6.1" - istanbul-lib-source-maps@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" @@ -18667,13 +18820,6 @@ istanbul-lib-source-maps@^4.0.0: istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" -istanbul-reports@^2.2.6: - version "2.2.7" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" - integrity sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg== - dependencies: - html-escaper "^2.0.0" - istanbul-reports@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" @@ -18734,58 +18880,84 @@ iterall@^1.2.2: resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== -jest-changed-files@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" - integrity sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg== +jest-changed-files@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.5.0.tgz#141cc23567ceb3f534526f8614ba39421383634c" + integrity sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw== dependencies: - "@jest/types" "^24.9.0" - execa "^1.0.0" - throat "^4.0.0" + "@jest/types" "^25.5.0" + execa "^3.2.0" + throat "^5.0.0" -jest-cli@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" - integrity sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg== +jest-circus@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-25.5.4.tgz#d5578346f53d5604b7b1d1e5e56be48b1c73c61d" + integrity sha512-nOLJXZjWuV2i8yQ2w+MZ8NhFuqrbgpPAa4mh+DWPYmNI377YYpDKvDUrLMW8U1sa2iGt5mjKQbmJz2SK9AYjWg== dependencies: - "@jest/core" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - import-local "^2.0.0" - is-ci "^2.0.0" - jest-config "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" + "@babel/traverse" "^7.1.0" + "@jest/environment" "^25.5.0" + "@jest/test-result" "^25.5.0" + "@jest/types" "^25.5.0" + chalk "^3.0.0" + co "^4.6.0" + expect "^25.5.0" + is-generator-fn "^2.0.0" + jest-each "^25.5.0" + jest-matcher-utils "^25.5.0" + jest-message-util "^25.5.0" + jest-runtime "^25.5.4" + jest-snapshot "^25.5.1" + jest-util "^25.5.0" + pretty-format "^25.5.0" + stack-utils "^1.0.1" + throat "^5.0.0" + +jest-cli@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.5.4.tgz#b9f1a84d1301a92c5c217684cb79840831db9f0d" + integrity sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw== + dependencies: + "@jest/core" "^25.5.4" + "@jest/test-result" "^25.5.0" + "@jest/types" "^25.5.0" + chalk "^3.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^25.5.4" + jest-util "^25.5.0" + jest-validate "^25.5.0" prompts "^2.0.1" - realpath-native "^1.1.0" - yargs "^13.3.0" + realpath-native "^2.0.0" + yargs "^15.3.1" -jest-config@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" - integrity sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ== +jest-config@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.5.4.tgz#38e2057b3f976ef7309b2b2c8dcd2a708a67f02c" + integrity sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg== dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^24.9.0" - "@jest/types" "^24.9.0" - babel-jest "^24.9.0" - chalk "^2.0.1" + "@jest/test-sequencer" "^25.5.4" + "@jest/types" "^25.5.0" + babel-jest "^25.5.1" + chalk "^3.0.0" + deepmerge "^4.2.2" glob "^7.1.1" - jest-environment-jsdom "^24.9.0" - jest-environment-node "^24.9.0" - jest-get-type "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - micromatch "^3.1.10" - pretty-format "^24.9.0" - realpath-native "^1.1.0" + graceful-fs "^4.2.4" + jest-environment-jsdom "^25.5.0" + jest-environment-node "^25.5.0" + jest-get-type "^25.2.6" + jest-jasmine2 "^25.5.4" + jest-regex-util "^25.2.6" + jest-resolve "^25.5.1" + jest-util "^25.5.0" + jest-validate "^25.5.0" + micromatch "^4.0.2" + pretty-format "^25.5.0" + realpath-native "^2.0.0" -jest-diff@*, jest-diff@^24.9.0: +jest-diff@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== @@ -18795,81 +18967,76 @@ jest-diff@*, jest-diff@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" -jest-diff@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.0.0.tgz#a3e5f573dbac482f7d9513ac9cfa21644d3d6b34" - integrity sha512-XY5wMpRaTsuMoU+1/B2zQSKQ9RdE9gsLkGydx3nvApeyPijLA8GtEvIcPwISRCer+VDf9W1mStTYYq6fPt8ryA== - dependencies: - chalk "^2.0.1" - diff-sequences "^24.0.0" - jest-get-type "^24.0.0" - pretty-format "^24.0.0" - -jest-diff@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.1.0.tgz#58b827e63edea1bc80c1de952b80cec9ac50e1ad" - integrity sha512-nepXgajT+h017APJTreSieh4zCqnSHEJ1iT8HDlewu630lSJ4Kjjr9KNzm+kzGwwcpsDE6Snx1GJGzzsefaEHw== +jest-diff@^25.1.0, jest-diff@^25.2.1, jest-diff@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" + integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== dependencies: chalk "^3.0.0" - diff-sequences "^25.1.0" - jest-get-type "^25.1.0" - pretty-format "^25.1.0" + diff-sequences "^25.2.6" + jest-get-type "^25.2.6" + pretty-format "^25.5.0" -jest-docblock@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.3.0.tgz#b9c32dac70f72e4464520d2ba4aec02ab14db5dd" - integrity sha512-nlANmF9Yq1dufhFlKG9rasfQlrY7wINJbo3q01tu56Jv5eBU5jirylhF2O5ZBnLxzOVBGRDz/9NAwNyBtG4Nyg== +jest-docblock@^25.3.0: + version "25.3.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.3.0.tgz#8b777a27e3477cd77a168c05290c471a575623ef" + integrity sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg== dependencies: - detect-newline "^2.1.0" + detect-newline "^3.0.0" -jest-each@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" - integrity sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog== +jest-each@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.5.0.tgz#0c3c2797e8225cb7bec7e4d249dcd96b934be516" + integrity sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA== dependencies: - "@jest/types" "^24.9.0" - chalk "^2.0.1" - jest-get-type "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" + "@jest/types" "^25.5.0" + chalk "^3.0.0" + jest-get-type "^25.2.6" + jest-util "^25.5.0" + pretty-format "^25.5.0" -jest-environment-jsdom@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" - integrity sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA== +jest-environment-jsdom-thirteen@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom-thirteen/-/jest-environment-jsdom-thirteen-1.0.1.tgz#113e3c8aed945dadbc826636fa21139c69567bb5" + integrity sha512-Zi7OuKF7HMLlBvomitd5eKp5Ykc4Wvw0d+i+cpbCaE+7kmvL24SO4ssDmKrT++aANXR4T8+pmoJIlav5gr2peQ== dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - jsdom "^11.5.1" + jest-mock "^24.0.0" + jest-util "^24.0.0" + jsdom "^13.0.0" -jest-environment-node@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" - integrity sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA== +jest-environment-jsdom@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz#dcbe4da2ea997707997040ecf6e2560aec4e9834" + integrity sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A== dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" + "@jest/environment" "^25.5.0" + "@jest/fake-timers" "^25.5.0" + "@jest/types" "^25.5.0" + jest-mock "^25.5.0" + jest-util "^25.5.0" + jsdom "^15.2.1" -jest-get-type@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.0.0.tgz#36e72930b78e33da59a4f63d44d332188278940b" - integrity sha512-z6/Eyf6s9ZDGz7eOvl+fzpuJmN9i0KyTt1no37/dHu8galssxz5ZEgnc1KaV8R31q1khxyhB4ui/X5ZjjPk77w== +jest-environment-node@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.5.0.tgz#0f55270d94804902988e64adca37c6ce0f7d07a1" + integrity sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA== + dependencies: + "@jest/environment" "^25.5.0" + "@jest/fake-timers" "^25.5.0" + "@jest/types" "^25.5.0" + jest-mock "^25.5.0" + jest-util "^25.5.0" + semver "^6.3.0" jest-get-type@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== -jest-get-type@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.1.0.tgz#1cfe5fc34f148dc3a8a3b7275f6b9ce9e2e8a876" - integrity sha512-yWkBnT+5tMr8ANB6V+OjmrIJufHtCAqI5ic2H40v+tRqxDmE0PGnIiTyvRWFOMtmVHYpwRqyazDbTnhpjsGvLw== +jest-get-type@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" + integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== jest-haste-map@^24.9.0: version "24.9.0" @@ -18890,45 +19057,56 @@ jest-haste-map@^24.9.0: optionalDependencies: fsevents "^1.2.7" -jest-jasmine2@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" - integrity sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw== +jest-haste-map@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.5.1.tgz#1df10f716c1d94e60a1ebf7798c9fb3da2620943" + integrity sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ== + dependencies: + "@jest/types" "^25.5.0" + "@types/graceful-fs" "^4.1.2" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-serializer "^25.5.0" + jest-util "^25.5.0" + jest-worker "^25.5.0" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + which "^2.0.2" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz#66ca8b328fb1a3c5364816f8958f6970a8526968" + integrity sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ== dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" + "@jest/environment" "^25.5.0" + "@jest/source-map" "^25.5.0" + "@jest/test-result" "^25.5.0" + "@jest/types" "^25.5.0" + chalk "^3.0.0" co "^4.6.0" - expect "^24.9.0" + expect "^25.5.0" is-generator-fn "^2.0.0" - jest-each "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - throat "^4.0.0" - -jest-leak-detector@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" - integrity sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA== - dependencies: - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-matcher-utils@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.0.0.tgz#fc9c41cfc49b2c3ec14e576f53d519c37729d579" - integrity sha512-LQTDmO+aWRz1Tf9HJg+HlPHhDh1E1c65kVwRFo5mwCVp5aQDzlkz4+vCvXhOKFjitV2f0kMdHxnODrXVoi+rlA== + jest-each "^25.5.0" + jest-matcher-utils "^25.5.0" + jest-message-util "^25.5.0" + jest-runtime "^25.5.4" + jest-snapshot "^25.5.1" + jest-util "^25.5.0" + pretty-format "^25.5.0" + throat "^5.0.0" + +jest-leak-detector@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz#2291c6294b0ce404241bb56fe60e2d0c3e34f0bb" + integrity sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA== dependencies: - chalk "^2.0.1" - jest-diff "^24.0.0" - jest-get-type "^24.0.0" - pretty-format "^24.0.0" + jest-get-type "^25.2.6" + pretty-format "^25.5.0" jest-matcher-utils@^24.9.0: version "24.9.0" @@ -18940,6 +19118,16 @@ jest-matcher-utils@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" +jest-matcher-utils@^25.1.0, jest-matcher-utils@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz#fbc98a12d730e5d2453d7f1ed4a4d948e34b7867" + integrity sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw== + dependencies: + chalk "^3.0.0" + jest-diff "^25.5.0" + jest-get-type "^25.2.6" + pretty-format "^25.5.0" + jest-message-util@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" @@ -18954,13 +19142,34 @@ jest-message-util@^24.9.0: slash "^2.0.0" stack-utils "^1.0.1" -jest-mock@^24.9.0: +jest-message-util@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.5.0.tgz#ea11d93204cc7ae97456e1d8716251185b8880ea" + integrity sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^25.5.0" + "@types/stack-utils" "^1.0.1" + chalk "^3.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + slash "^3.0.0" + stack-utils "^1.0.1" + +jest-mock@^24.0.0, jest-mock@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w== dependencies: "@jest/types" "^24.9.0" +jest-mock@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.5.0.tgz#a91a54dabd14e37ecd61665d6b6e06360a55387a" + integrity sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA== + dependencies: + "@jest/types" "^25.5.0" + jest-pnp-resolver@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" @@ -18971,24 +19180,24 @@ jest-raw-loader@^1.0.1: resolved "https://registry.yarnpkg.com/jest-raw-loader/-/jest-raw-loader-1.0.1.tgz#ce9f56d54650f157c4a7d16d224ba5d613bcd626" integrity sha1-zp9W1UZQ8VfEp9FtIkul1hO81iY= -jest-regex-util@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36" - integrity sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg== - jest-regex-util@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== -jest-resolve-dependencies@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" - integrity sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g== +jest-regex-util@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.2.6.tgz#d847d38ba15d2118d3b06390056028d0f2fd3964" + integrity sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw== + +jest-resolve-dependencies@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz#85501f53957c8e3be446e863a74777b5a17397a7" + integrity sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw== dependencies: - "@jest/types" "^24.9.0" - jest-regex-util "^24.3.0" - jest-snapshot "^24.9.0" + "@jest/types" "^25.5.0" + jest-regex-util "^25.2.6" + jest-snapshot "^25.5.1" jest-resolve@^24.9.0: version "24.9.0" @@ -19001,66 +19210,91 @@ jest-resolve@^24.9.0: jest-pnp-resolver "^1.2.1" realpath-native "^1.1.0" -jest-runner@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" - integrity sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg== +jest-resolve@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.5.1.tgz#0e6fbcfa7c26d2a5fe8f456088dc332a79266829" + integrity sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ== dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.4.2" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-docblock "^24.3.0" - jest-haste-map "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-leak-detector "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - source-map-support "^0.5.6" - throat "^4.0.0" + "@jest/types" "^25.5.0" + browser-resolve "^1.11.3" + chalk "^3.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.1" + read-pkg-up "^7.0.1" + realpath-native "^2.0.0" + resolve "^1.17.0" + slash "^3.0.0" -jest-runtime@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" - integrity sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw== +jest-runner@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.5.4.tgz#ffec5df3875da5f5c878ae6d0a17b8e4ecd7c71d" + integrity sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg== dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/source-map" "^24.3.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - chalk "^2.0.1" + "@jest/console" "^25.5.0" + "@jest/environment" "^25.5.0" + "@jest/test-result" "^25.5.0" + "@jest/types" "^25.5.0" + chalk "^3.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^25.5.4" + jest-docblock "^25.3.0" + jest-haste-map "^25.5.1" + jest-jasmine2 "^25.5.4" + jest-leak-detector "^25.5.0" + jest-message-util "^25.5.0" + jest-resolve "^25.5.1" + jest-runtime "^25.5.4" + jest-util "^25.5.0" + jest-worker "^25.5.0" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.5.4.tgz#dc981fe2cb2137abcd319e74ccae7f7eeffbfaab" + integrity sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ== + dependencies: + "@jest/console" "^25.5.0" + "@jest/environment" "^25.5.0" + "@jest/globals" "^25.5.2" + "@jest/source-map" "^25.5.0" + "@jest/test-result" "^25.5.0" + "@jest/transform" "^25.5.1" + "@jest/types" "^25.5.0" + "@types/yargs" "^15.0.0" + chalk "^3.0.0" + collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.3" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - realpath-native "^1.1.0" - slash "^2.0.0" - strip-bom "^3.0.0" - yargs "^13.3.0" + graceful-fs "^4.2.4" + jest-config "^25.5.4" + jest-haste-map "^25.5.1" + jest-message-util "^25.5.0" + jest-mock "^25.5.0" + jest-regex-util "^25.2.6" + jest-resolve "^25.5.1" + jest-snapshot "^25.5.1" + jest-util "^25.5.0" + jest-validate "^25.5.0" + realpath-native "^2.0.0" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.3.1" jest-serializer@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ== -jest-snapshot@^24.1.0, jest-snapshot@^24.9.0: +jest-serializer@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.5.0.tgz#a993f484e769b4ed54e70e0efdb74007f503072b" + integrity sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA== + dependencies: + graceful-fs "^4.2.4" + +jest-snapshot@^24.1.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" integrity sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew== @@ -19079,6 +19313,27 @@ jest-snapshot@^24.1.0, jest-snapshot@^24.9.0: pretty-format "^24.9.0" semver "^6.2.0" +jest-snapshot@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.5.1.tgz#1a2a576491f9961eb8d00c2e5fd479bc28e5ff7f" + integrity sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^25.5.0" + "@types/prettier" "^1.19.0" + chalk "^3.0.0" + expect "^25.5.0" + graceful-fs "^4.2.4" + jest-diff "^25.5.0" + jest-get-type "^25.2.6" + jest-matcher-utils "^25.5.0" + jest-message-util "^25.5.0" + jest-resolve "^25.5.1" + make-dir "^3.0.0" + natural-compare "^1.4.0" + pretty-format "^25.5.0" + semver "^6.3.0" + jest-specific-snapshot@2.0.0, jest-specific-snapshot@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/jest-specific-snapshot/-/jest-specific-snapshot-2.0.0.tgz#425fe524b25df154aa39f97fa6fe9726faaac273" @@ -19093,7 +19348,7 @@ jest-styled-components@^7.0.2: dependencies: css "^2.2.4" -jest-util@^24.9.0: +jest-util@^24.0.0, jest-util@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg== @@ -19111,32 +19366,42 @@ jest-util@^24.9.0: slash "^2.0.0" source-map "^0.6.0" -jest-validate@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" - integrity sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ== +jest-util@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.5.0.tgz#31c63b5d6e901274d264a4fec849230aa3fa35b0" + integrity sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA== dependencies: - "@jest/types" "^24.9.0" + "@jest/types" "^25.5.0" + chalk "^3.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + make-dir "^3.0.0" + +jest-validate@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.5.0.tgz#fb4c93f332c2e4cf70151a628e58a35e459a413a" + integrity sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ== + dependencies: + "@jest/types" "^25.5.0" camelcase "^5.3.1" - chalk "^2.0.1" - jest-get-type "^24.9.0" + chalk "^3.0.0" + jest-get-type "^25.2.6" leven "^3.1.0" - pretty-format "^24.9.0" + pretty-format "^25.5.0" -jest-watcher@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" - integrity sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw== +jest-watcher@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.5.0.tgz#d6110d101df98badebe435003956fd4a465e8456" + integrity sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q== dependencies: - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - jest-util "^24.9.0" - string-length "^2.0.0" + "@jest/test-result" "^25.5.0" + "@jest/types" "^25.5.0" + ansi-escapes "^4.2.1" + chalk "^3.0.0" + jest-util "^25.5.0" + string-length "^3.1.0" -jest-worker@^24.6.0, jest-worker@^24.9.0: +jest-worker@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== @@ -19144,7 +19409,7 @@ jest-worker@^24.6.0, jest-worker@^24.9.0: merge-stream "^2.0.0" supports-color "^6.1.0" -jest-worker@^25.4.0: +jest-worker@^25.4.0, jest-worker@^25.5.0: version "25.5.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== @@ -19152,13 +19417,14 @@ jest-worker@^25.4.0: merge-stream "^2.0.0" supports-color "^7.0.0" -jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" - integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw== +jest@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest/-/jest-25.5.4.tgz#f21107b6489cfe32b076ce2adcadee3587acb9db" + integrity sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ== dependencies: - import-local "^2.0.0" - jest-cli "^24.9.0" + "@jest/core" "^25.5.4" + import-local "^3.0.2" + jest-cli "^25.5.4" jimp@^0.9.6: version "0.9.6" @@ -19254,35 +19520,37 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= -jsdom@^11.5.1: - version "11.5.1" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.5.1.tgz#5df753b8d0bca20142ce21f4f6c039f99a992929" - integrity sha512-89ztIZ03aYK9f1uUrLXLsZndRge/JnZjzjpaN+lrse3coqz+8PR/dX4WLHpbF5fIKTXhDjFODOJw2328lPJ90g== +jsdom@13.1.0, jsdom@^13.0.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-13.1.0.tgz#fa7356f0cc8111d0f1077cb7800d06f22f1d66c7" + integrity sha512-C2Kp0qNuopw0smXFaHeayvharqF3kkcNqlcIlSX71+3XrsOFwkEPLt/9f5JksMmaul2JZYIQuY+WTpqHpQQcLg== dependencies: - abab "^1.0.3" - acorn "^5.1.2" - acorn-globals "^4.0.0" + abab "^2.0.0" + acorn "^6.0.4" + acorn-globals "^4.3.0" array-equal "^1.0.0" - browser-process-hrtime "^0.1.2" - content-type-parser "^1.0.1" - cssom ">= 0.3.2 < 0.4.0" - cssstyle ">= 0.2.37 < 0.3.0" - domexception "^1.0.0" - escodegen "^1.9.0" - html-encoding-sniffer "^1.0.1" - left-pad "^1.2.0" - nwmatcher "^1.4.3" - parse5 "^3.0.2" - pn "^1.0.0" - request "^2.83.0" - request-promise-native "^1.0.3" - sax "^1.2.1" - symbol-tree "^3.2.1" - tough-cookie "^2.3.3" + cssom "^0.3.4" + cssstyle "^1.1.1" + data-urls "^1.1.0" + domexception "^1.0.1" + escodegen "^1.11.0" + html-encoding-sniffer "^1.0.2" + nwsapi "^2.0.9" + parse5 "5.1.0" + pn "^1.1.0" + request "^2.88.0" + request-promise-native "^1.0.5" + saxes "^3.1.4" + symbol-tree "^3.2.2" + tough-cookie "^2.5.0" + w3c-hr-time "^1.0.1" + w3c-xmlserializer "^1.0.1" webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.1" - whatwg-url "^6.3.0" - xml-name-validator "^2.0.1" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^7.0.0" + ws "^6.1.2" + xml-name-validator "^3.0.0" jsdom@^15.2.1: version "15.2.1" @@ -19965,11 +20233,6 @@ leaflet@1.5.1: resolved "https://registry.yarnpkg.com/leaflet/-/leaflet-1.5.1.tgz#9afb9d963d66c870066b1342e7a06f92840f46bf" integrity sha512-ekM9KAeG99tYisNBg0IzEywAlp0hYI5XRipsqRXyRTeuU8jcuntilpp+eFf5gaE0xubc9RuSNIVtByEKwqFV0w== -left-pad@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.2.0.tgz#d30a73c6b8201d8f7d8e7956ba9616087a68e0ee" - integrity sha1-0wpzxrggHY99jnlWupYWCHpo4O4= - less-loader@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-5.0.0.tgz#498dde3a6c6c4f887458ee9ed3f086a12ad1b466" @@ -20608,7 +20871,7 @@ lodash.uniqby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" integrity sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI= -lodash@4.17.11, lodash@4.17.15, lodash@>4.17.4, lodash@^4, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.10.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1, lodash@~4.17.10, lodash@~4.17.15, lodash@~4.17.5: +lodash@4.17.11, lodash@4.17.15, lodash@>4.17.4, lodash@^4, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.10.0, lodash@^4.11.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1, lodash@~4.17.10, lodash@~4.17.15, lodash@~4.17.5: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -20704,11 +20967,18 @@ loglevelnext@^1.0.1: es6-symbol "^3.1.1" object.assign "^4.1.0" -lolex@^4.1.0, lolex@^4.2.0: +lolex@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lolex/-/lolex-4.2.0.tgz#ddbd7f6213ca1ea5826901ab1222b65d714b3cd7" integrity sha512-gKO5uExCXvSm6zbF562EvM+rd1kQDnB9AZBbiQVzf1ZmdDpxUSvpnAaVOP83N/31mRK8Ml8/VE8DMvsAZQ+7wg== +lolex@^5.0.0, lolex@^5.0.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" + integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A== + dependencies: + "@sinonjs/commons" "^1.7.0" + long@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" @@ -20854,7 +21124,7 @@ majo@^0.4.1: globby "^6.1.0" ware "^1.3.0" -make-dir@^1.0.0, make-dir@^1.3.0: +make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== @@ -21909,7 +22179,7 @@ nan@^2.12.1, nan@^2.13.2: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== -nan@^2.14.1: +nan@^2.14.0, nan@^2.14.1: version "2.14.1" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== @@ -21974,6 +22244,15 @@ nearley@^2.7.10: randexp "0.4.6" semver "^5.4.1" +needle@^2.2.1: + version "2.5.0" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.5.0.tgz#e6fc4b3cc6c25caed7554bd613a5cf0bac8c31c0" + integrity sha512-o/qITSDR0JCyCKEQ1/1bnUXMmznxabbwi/Y4WwJElf+evwJNFNwIDMCCt5IigFVxgeGBJESLohGtIS9gEzo1fA== + dependencies: + debug "^3.2.6" + iconv-lite "^0.4.4" + sax "^1.2.4" + negotiator@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" @@ -22060,14 +22339,14 @@ nigel@3.x.x: vise "3.x.x" nise@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/nise/-/nise-1.5.2.tgz#b6d29af10e48b321b307e10e065199338eeb2652" - integrity sha512-/6RhOUlicRCbE9s+94qCUsyE+pKlVJ5AhIv+jEE7ESKwnbXqulKZ1FYU+XAtHHWE9TinYvAxDUJAb912PwPoWA== + version "1.5.3" + resolved "https://registry.yarnpkg.com/nise/-/nise-1.5.3.tgz#9d2cfe37d44f57317766c6e9408a359c5d3ac1f7" + integrity sha512-Ymbac/94xeIrMf59REBPOv0thr+CJVFMhrlAkW/gjCIE58BGQdCj0x7KRCb3yz+Ga2Rz3E9XXSvUyyxqqhjQAQ== dependencies: "@sinonjs/formatio" "^3.2.1" "@sinonjs/text-encoding" "^0.7.1" just-extend "^4.0.2" - lolex "^4.1.0" + lolex "^5.0.1" path-to-regexp "^1.7.0" no-case@^2.2.0, no-case@^2.3.2: @@ -22264,16 +22543,32 @@ node-modules-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= -node-notifier@^5.4.2: - version "5.4.3" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" - integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== +node-notifier@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-6.0.0.tgz#cea319e06baa16deec8ce5cd7f133c4a46b68e12" + integrity sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw== dependencies: growly "^1.3.0" - is-wsl "^1.1.0" - semver "^5.5.0" + is-wsl "^2.1.1" + semver "^6.3.0" shellwords "^0.1.1" - which "^1.3.0" + which "^1.3.1" + +node-pre-gyp@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz#db1f33215272f692cd38f03238e3e9b47c5dd054" + integrity sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q== + dependencies: + detect-libc "^1.0.2" + mkdirp "^0.5.1" + needle "^2.2.1" + nopt "^4.0.1" + npm-packlist "^1.1.6" + npmlog "^4.0.2" + rc "^1.2.7" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^4" node-preload@^0.2.1: version "0.2.1" @@ -22467,6 +22762,13 @@ now-and-later@^2.0.0: dependencies: once "^1.3.2" +npm-bundled@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" + integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA== + dependencies: + npm-normalize-package-bin "^1.0.1" + npm-conf@^1.1.0, npm-conf@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9" @@ -22483,6 +22785,20 @@ npm-keyword@^5.0.0: got "^7.1.0" registry-url "^3.0.3" +npm-normalize-package-bin@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" + integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== + +npm-packlist@^1.1.6: + version "1.4.8" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" + integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A== + dependencies: + ignore-walk "^3.0.1" + npm-bundled "^1.0.1" + npm-normalize-package-bin "^1.0.1" + npm-run-path@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-1.0.0.tgz#f5c32bf595fe81ae927daec52e82f8b000ac3c8f" @@ -22520,7 +22836,7 @@ npmconf@^2.1.3: semver "2 || 3 || 4" uid-number "0.0.5" -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.1.2: +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2, npmlog@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== @@ -22574,12 +22890,7 @@ numeral@^2.0.6: resolved "https://registry.yarnpkg.com/numeral/-/numeral-2.0.6.tgz#4ad080936d443c2561aed9f2197efffe25f4e506" integrity sha1-StCAk21EPCVhrtnyGX7//iX05QY= -nwmatcher@^1.4.3: - version "1.4.4" - resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.4.tgz#2285631f34a95f0d0395cd900c96ed39b58f346e" - integrity sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ== - -nwsapi@^2.2.0: +nwsapi@^2.0.9, nwsapi@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== @@ -23148,12 +23459,10 @@ p-defer@^1.0.0: resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= -p-each-series@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" - integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= - dependencies: - p-reduce "^1.0.0" +p-each-series@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" + integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ== p-event@^4.0.0, p-event@^4.1.0: version "4.1.0" @@ -23167,6 +23476,11 @@ p-finally@^1.0.0: resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= +p-finally@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" + integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== + p-is-promise@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" @@ -23236,11 +23550,6 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" -p-reduce@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" - integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= - p-retry@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" @@ -23535,18 +23844,13 @@ parse5@5.1.0, parse5@^5.0.0: resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== -parse5@^3.0.1, parse5@^3.0.2: +parse5@^3.0.1: version "3.0.3" resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" integrity sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA== dependencies: "@types/node" "*" -parse5@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== - parseqs@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" @@ -23893,7 +24197,7 @@ pkg-dir@^3.0.0: dependencies: find-up "^3.0.0" -pkg-dir@^4.1.0: +pkg-dir@^4.1.0, pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== @@ -23951,7 +24255,7 @@ pluralize@^7.0.0: resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow== -pn@^1.0.0, pn@^1.1.0: +pn@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== @@ -24218,16 +24522,6 @@ pretty-error@^2.1.1: renderkid "^2.0.1" utila "~0.4" -pretty-format@^24.0.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.8.0.tgz#8dae7044f58db7cb8be245383b565a963e3c27f2" - integrity sha512-P952T7dkrDEplsR+TuY7q3VXDae5Sr7zmQb12JU/NDQa/3CH7/QW0yvqLcGN6jL+zQFKaoJcPc+yJxMTGmosqw== - dependencies: - "@jest/types" "^24.8.0" - ansi-regex "^4.0.0" - ansi-styles "^3.2.0" - react-is "^16.8.4" - pretty-format@^24.3.0, pretty-format@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" @@ -24238,12 +24532,12 @@ pretty-format@^24.3.0, pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" -pretty-format@^25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.1.0.tgz#ed869bdaec1356fc5ae45de045e2c8ec7b07b0c8" - integrity sha512-46zLRSGLd02Rp+Lhad9zzuNZ+swunitn8zIpfD2B4OPCRLXbM87RJT2aBLBWYOznNUML/2l/ReMyWNC80PJBUQ== +pretty-format@^25.2.1, pretty-format@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" + integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== dependencies: - "@jest/types" "^25.1.0" + "@jest/types" "^25.5.0" ansi-regex "^5.0.0" ansi-styles "^4.0.0" react-is "^16.12.0" @@ -26010,6 +26304,11 @@ realpath-native@^1.1.0: dependencies: util.promisify "^1.0.0" +realpath-native@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-2.0.0.tgz#7377ac429b6e1fd599dc38d08ed942d0d7beb866" + integrity sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q== + recast@^0.14.7: version "0.14.7" resolved "https://registry.yarnpkg.com/recast/-/recast-0.14.7.tgz#4f1497c2b5826d42a66e8e3c9d80c512983ff61d" @@ -26513,13 +26812,6 @@ request-progress@3.0.0: dependencies: throttleit "^1.0.0" -request-promise-core@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" - integrity sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY= - dependencies: - lodash "^4.13.1" - request-promise-core@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346" @@ -26534,16 +26826,7 @@ request-promise-core@1.1.3: dependencies: lodash "^4.17.15" -request-promise-native@^1.0.3: - version "1.0.5" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" - integrity sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU= - dependencies: - request-promise-core "1.1.1" - stealthy-require "^1.1.0" - tough-cookie ">=2.3.3" - -request-promise-native@^1.0.7: +request-promise-native@^1.0.5, request-promise-native@^1.0.7: version "1.0.8" resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== @@ -26616,7 +26899,7 @@ request@2.88.0, request@^2.88.0: tunnel-agent "^0.6.0" uuid "^3.3.2" -request@^2.74.0, request@^2.83.0: +request@^2.74.0: version "2.83.0" resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" integrity sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw== @@ -26779,6 +27062,13 @@ resolve-cwd@^2.0.0: dependencies: resolve-from "^3.0.0" +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + resolve-dependency-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-dependency-path/-/resolve-dependency-path-2.0.0.tgz#11700e340717b865d216c66cabeb4a2a3c696736" @@ -26871,7 +27161,7 @@ resolve@1.8.1: dependencies: path-parse "^1.0.5" -resolve@^1.1.10, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.7.1, resolve@^1.8.1: +resolve@^1.1.10, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.7.1, resolve@^1.8.1: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== @@ -27179,17 +27469,17 @@ rx@^4.1.0: resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" integrity sha1-pfE/957zt0D+MKqAP7CfmIBdR4I= -rxjs-marbles@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/rxjs-marbles/-/rxjs-marbles-5.0.3.tgz#d3ca62a4e02d032b1b4ffd558e93336ad78fd100" - integrity sha512-JK6EvLe9uReJxBmUgdKrpMB2JswV+fDcKDg97x20LErLQ7Gi0FG3YEr2Uq9hvgHJjgZXGCvonpzcxARLzKsT4A== +rxjs-marbles@^5.0.6: + version "5.0.6" + resolved "https://registry.yarnpkg.com/rxjs-marbles/-/rxjs-marbles-5.0.6.tgz#e8e71df3b82b49603555f017f2fd3d8c359c4c24" + integrity sha512-VEcWhSR2QwgmpOh4iL/8BtSqXwnfSsM9JjCVVG/NXbHOuPIzLQ/RJpgvdt0eHixP5mjLof2VODVR62XRCdOqgA== dependencies: fast-equals "^2.0.0" -rxjs@6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7" - integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg== +rxjs@6.5.5, rxjs@^6.5.3, rxjs@^6.5.5: + version "6.5.5" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" + integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== dependencies: tslib "^1.9.0" @@ -27200,7 +27490,7 @@ rxjs@^5.5.2: dependencies: symbol-observable "1.0.1" -rxjs@^6.1.0, rxjs@^6.3.3, rxjs@^6.4.0, rxjs@^6.5.1, rxjs@^6.5.3: +rxjs@^6.1.0, rxjs@^6.3.3, rxjs@^6.4.0, rxjs@^6.5.1: version "6.5.3" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA== @@ -27352,12 +27642,12 @@ sass-resources-loader@^2.0.1: glob "^7.1.1" loader-utils "^1.0.4" -sax@>=0.6.0, sax@^1.2.1, sax@~1.2.4: +sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -saxes@^3.1.9: +saxes@^3.1.4, saxes@^3.1.9: version "3.1.11" resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== @@ -27862,6 +28152,20 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= +simple-concat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6" + integrity sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY= + +simple-get@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3" + integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA== + dependencies: + decompress-response "^4.2.0" + once "^1.3.1" + simple-concat "^1.0.0" + simple-git@1.116.0: version "1.116.0" resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.116.0.tgz#ea6e533466f1e0152186e306e004d4eefa6e3e00" @@ -27917,9 +28221,9 @@ simplify-js@^1.2.1: integrity sha512-0IkEqs+5c5vROkHaifGfbqHf5tYDcsTBy6oJPRbFCSwp2uzEr+PpH3dNP7wD8O3d7zdUCjLVq1/xHkwA/JjlFA== sinon@^7.4.2: - version "7.4.2" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-7.4.2.tgz#ecd54158fef2fcfbdb231a3fa55140e8cb02ad6c" - integrity sha512-pY5RY99DKelU3pjNxcWo6XqeB1S118GBcVIIdDi6V+h6hevn1izcg2xv1hTHW/sViRXU7sUOxt4wTUJ3gsW2CQ== + version "7.5.0" + resolved "https://registry.yarnpkg.com/sinon/-/sinon-7.5.0.tgz#e9488ea466070ea908fd44a3d6478fd4923c67ec" + integrity sha512-AoD0oJWerp0/rY9czP/D6hDTTUYGpObhZjMpd7Cl/A6+j0xBE+ayL/ldfggkBXUs0IkvIiM1ljM8+WkOc5k78Q== dependencies: "@sinonjs/commons" "^1.4.0" "@sinonjs/formatio" "^3.2.1" @@ -28186,11 +28490,16 @@ source-map@^0.4.2: dependencies: amdefine ">=0.0.4" -source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.0, source-map@~0.5.1, source-map@~0.5.6: +source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.0, source-map@~0.5.1: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + source-map@~0.1.30: version "0.1.43" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" @@ -28559,7 +28868,7 @@ stdout-stream@^1.4.0: dependencies: readable-stream "^2.0.1" -stealthy-require@^1.1.0, stealthy-require@^1.1.1: +stealthy-require@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= @@ -28656,6 +28965,14 @@ string-length@^2.0.0: astral-regex "^1.0.0" strip-ansi "^4.0.0" +string-length@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" + integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA== + dependencies: + astral-regex "^1.0.0" + strip-ansi "^5.2.0" + string-replace-loader@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/string-replace-loader/-/string-replace-loader-2.2.0.tgz#0a0e6543fcec783d85c353a3e96a23872d45a94f" @@ -29079,7 +29396,7 @@ supports-color@6.0.0: dependencies: has-flag "^3.0.0" -supports-color@6.1.0, supports-color@^6.0.0, supports-color@^6.1.0: +supports-color@6.1.0, supports-color@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== @@ -29206,7 +29523,7 @@ symbol-observable@^1.0.2, symbol-observable@^1.0.3, symbol-observable@^1.0.4, sy resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== -symbol-tree@^3.2.1, symbol-tree@^3.2.2: +symbol-tree@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY= @@ -29382,7 +29699,7 @@ tar-stream@^2.1.0: inherits "^2.0.3" readable-stream "^3.1.1" -tar@4.4.13, tar@^4.4.12: +tar@4.4.13, tar@^4, tar@^4.4.12: version "4.4.13" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== @@ -29499,7 +29816,7 @@ term-size@^2.1.0: resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.0.tgz#1f16adedfe9bdc18800e1776821734086fcc6753" integrity sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw== -terminal-link@^2.1.1: +terminal-link@^2.0.0, terminal-link@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== @@ -29589,10 +29906,10 @@ thread-loader@^2.1.3: loader-utils "^1.1.0" neo-async "^2.6.0" -throat@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" - integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== throttle-debounce@^2.1.0: version "2.1.0" @@ -29974,7 +30291,7 @@ touch@^3.1.0: dependencies: nopt "~1.0.10" -tough-cookie@>=2.3.3, tough-cookie@^2.0.0, tough-cookie@^2.3.3, tough-cookie@~2.4.3: +tough-cookie@^2.0.0, tough-cookie@^2.3.3, tough-cookie@~2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== @@ -29982,6 +30299,14 @@ tough-cookie@>=2.3.3, tough-cookie@^2.0.0, tough-cookie@^2.3.3, tough-cookie@~2. psl "^1.1.24" punycode "^1.4.1" +tough-cookie@^2.5.0, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + tough-cookie@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" @@ -29998,15 +30323,7 @@ tough-cookie@~2.3.0, tough-cookie@~2.3.3: dependencies: punycode "^1.4.1" -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^1.0.0, tr46@^1.0.1: +tr46@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= @@ -31474,6 +31791,15 @@ v8-compile-cache@^2.0.3: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== +v8-to-istanbul@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.3.tgz#22fe35709a64955f49a08a7c7c959f6520ad6f20" + integrity sha512-sAjOC+Kki6aJVbUOXJbcR0MnbfjvBzwKZazEJymA2IX49uoOdEdk+4fBq5cXgYgiyKtAyrrJNtBZdOeDIF+Fng== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + v8flags@^3.0.1: version "3.1.3" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.3.tgz#fc9dc23521ca20c5433f81cc4eb9b3033bb105d8" @@ -32116,7 +32442,7 @@ w3c-hr-time@^1.0.1: dependencies: browser-process-hrtime "^0.1.2" -w3c-xmlserializer@^1.1.2: +w3c-xmlserializer@^1.0.1, w3c-xmlserializer@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== @@ -32212,7 +32538,7 @@ web-namespaces@^1.1.2: resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.2.tgz#c8dc267ab639505276bae19e129dbd6ae72b22b4" integrity sha512-II+n2ms4mPxK+RnIxRPOw3zwF2jRscdJIUE9BfkKHm4FYEg9+biIoTMnaZF5MpemE3T+VhMLrhbyD4ilkPCSbg== -webidl-conversions@^4.0.1, webidl-conversions@^4.0.2: +webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== @@ -32421,15 +32747,6 @@ whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== -whatwg-url@^6.3.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.4.0.tgz#08fdf2b9e872783a7a1f6216260a1d66cc722e08" - integrity sha512-Z0CVh/YE217Foyb488eo+iBv+r7eAQ0wSTyApi9n06jhcA3z6Nidg/EGvl0UFkg7kMdKxfBzzr+o9JF+cevgMg== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.0" - webidl-conversions "^4.0.1" - whatwg-url@^6.5.0: version "6.5.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" @@ -32465,7 +32782,7 @@ which@1, which@1.3.1, which@^1.2.9, which@^1.3.1, which@~1.3.0: dependencies: isexe "^2.0.0" -which@^1.1.1, which@^1.2.1, which@^1.2.14, which@^1.2.8, which@^1.3.0: +which@^1.1.1, which@^1.2.1, which@^1.2.14, which@^1.2.8: version "1.3.0" resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" integrity sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg== @@ -32479,6 +32796,13 @@ which@^2.0.1: dependencies: isexe "^2.0.0" +which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + wide-align@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" @@ -32761,7 +33085,7 @@ ws@^6.1.0: dependencies: async-limiter "~1.0.0" -ws@^6.2.1: +ws@^6.1.2, ws@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== @@ -32834,11 +33158,6 @@ xml-crypto@^1.4.0: xmldom "0.1.27" xpath "0.0.27" -xml-name-validator@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" - integrity sha1-TYuPHszTQZqjYgYb7O9RXh5VljU= - xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"