"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.createAppMockRenderer = void 0; var _react = _interopRequireDefault(require("react")); var _rxjs = require("rxjs"); var _reactQuery = require("@tanstack/react-query"); var _i18nReact = require("@kbn/i18n-react"); var _public = require("@kbn/kibana-react-plugin/public"); var _react2 = require("@testing-library/react"); var _mocks = require("@kbn/core/public/mocks"); var _uiTheme = require("@kbn/ui-theme"); var _mocks2 = require("@kbn/licensing-plugin/public/mocks"); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ const createAppMockRenderer = ({ capabilities, license } = {}) => { const theme$ = (0, _rxjs.of)({ eui: _uiTheme.euiDarkVars, darkMode: true }); const licensingPluginMock = _mocks2.licensingMock.createStart(); const queryClient = new _reactQuery.QueryClient({ defaultOptions: { queries: { retry: false } }, /** * React query prints the errors in the console even though * all tests are passings. We turn them off for testing. */ logger: { log: console.log, warn: console.warn, error: () => {} } }); const mockedSetBadge = jest.fn(); const core = _mocks.coreMock.createStart(); const services = { ...core, application: { ...core.application, capabilities: { ...core.application.capabilities, ...capabilities } }, licensing: license != null ? { ...licensingPluginMock, license$: new _rxjs.BehaviorSubject(license) } : licensingPluginMock, chrome: { ...core.chrome, setBadge: mockedSetBadge } }; const AppWrapper = /*#__PURE__*/_react.default.memo(({ children }) => /*#__PURE__*/_react.default.createElement(_i18nReact.I18nProvider, null, /*#__PURE__*/_react.default.createElement(_public.KibanaThemeProvider, { theme$: theme$ }, /*#__PURE__*/_react.default.createElement(_public.KibanaContextProvider, { services: services }, /*#__PURE__*/_react.default.createElement(_reactQuery.QueryClientProvider, { client: queryClient }, children))))); AppWrapper.displayName = 'AppWrapper'; const render = (ui, options) => { return (0, _react2.render)(ui, { wrapper: AppWrapper, ...options }); }; return { coreStart: services, render, queryClient, AppWrapper, mocked: { setBadge: mockedSetBadge } }; }; exports.createAppMockRenderer = createAppMockRenderer;