diff --git a/grafana-plugin/jest.setup.ts b/grafana-plugin/jest.setup.ts index 07f46cf4..0ef64969 100644 --- a/grafana-plugin/jest.setup.ts +++ b/grafana-plugin/jest.setup.ts @@ -45,6 +45,11 @@ Object.defineProperty(window, 'matchMedia', { })), }); +Object.defineProperty(window, 'location', { + configurable: true, + value: { reload: jest.fn() }, +}); + Object.defineProperty(window, 'ResizeObserver', { writable: true, value: class ResizeObserver { diff --git a/grafana-plugin/src/containers/AddResponders/parts/AddRespondersPopup/AddRespondersPopup.test.tsx b/grafana-plugin/src/containers/AddResponders/parts/AddRespondersPopup/AddRespondersPopup.test.tsx index b9a90be1..850556d8 100644 --- a/grafana-plugin/src/containers/AddResponders/parts/AddRespondersPopup/AddRespondersPopup.test.tsx +++ b/grafana-plugin/src/containers/AddResponders/parts/AddRespondersPopup/AddRespondersPopup.test.tsx @@ -1,6 +1,6 @@ import React from 'react'; -import { render } from '@testing-library/react'; +import { render, waitFor } from '@testing-library/react'; import { Provider } from 'mobx-react'; import { UserHelper } from 'models/user/user.helpers'; @@ -10,20 +10,20 @@ import { AddRespondersPopup } from './AddRespondersPopup'; describe('AddRespondersPopup', () => { const teams = [ { - pk: 1, + id: 1, avatar_url: 'https://example.com', name: 'my test team', number_of_users_currently_oncall: 1, }, { - pk: 2, + id: 2, avatar_url: 'https://example.com', name: 'my test team 2', number_of_users_currently_oncall: 0, }, ]; - test('it shows a loading message initially', () => { + test('it shows a loading message initially', async () => { const mockStoreValue = { directPagingStore: { selectedTeamResponder: null, @@ -36,18 +36,20 @@ describe('AddRespondersPopup', () => { UserHelper.search = jest.fn().mockReturnValue({ results: [] }); - const component = render( - - - - ); + await waitFor(() => { + const component = render( + + + + ); - expect(component.container).toMatchSnapshot(); + expect(component.container).toMatchSnapshot(); + }); }); }); diff --git a/grafana-plugin/src/containers/PluginConfigPage/PluginConfigPage.test.tsx b/grafana-plugin/src/containers/PluginConfigPage/PluginConfigPage.test.tsx index 785ce486..196ddc50 100644 --- a/grafana-plugin/src/containers/PluginConfigPage/PluginConfigPage.test.tsx +++ b/grafana-plugin/src/containers/PluginConfigPage/PluginConfigPage.test.tsx @@ -40,13 +40,6 @@ const MOCK_HOST = 'localhost:3000'; const MOCK_PATHNAME = '/dkjdfjkfd'; const MOCK_URL = `${MOCK_PROTOCOL}//${MOCK_HOST}${MOCK_PATHNAME}`; -/** - * this is just a little hack to silence a warning that we'll get until we - * upgrade to 16.9. See also: https://github.com/facebook/react/pull/14853 - * https://github.com/testing-library/react-testing-library#suppressing-unnecessary-warnings-on-react-dom-168 - */ -const originalError = console.error; - beforeEach(() => { delete global.window.location; global.window ??= Object.create(window); @@ -57,18 +50,10 @@ beforeEach(() => { href: MOCK_URL, } as Location; global.window.history.pushState = jest.fn(); - - console.error = (...args) => { - if (/Warning.*not wrapped in act/.test(args[0])) { - return; - } - originalError.call(console, ...args); - }; }); afterEach(() => { jest.clearAllMocks(); - console.error = originalError; }); const mockCheckTokenAndIfPluginIsConnected = (license: License = License.OSS) => {