diff --git a/.changeset/funny-readers-breathe.md b/.changeset/funny-readers-breathe.md new file mode 100644 index 0000000000..8897b24cf6 --- /dev/null +++ b/.changeset/funny-readers-breathe.md @@ -0,0 +1,5 @@ +--- +'@backstage/core': patch +--- + +fix the warning of all the core components test cases diff --git a/packages/core/src/components/CodeSnippet/CodeSnippet.test.tsx b/packages/core/src/components/CodeSnippet/CodeSnippet.test.tsx index 466abe6012..7d5d4de087 100644 --- a/packages/core/src/components/CodeSnippet/CodeSnippet.test.tsx +++ b/packages/core/src/components/CodeSnippet/CodeSnippet.test.tsx @@ -15,8 +15,9 @@ */ import React from 'react'; -import { render, fireEvent } from '@testing-library/react'; -import { wrapInTestApp } from '@backstage/test-utils'; +import { fireEvent } from '@testing-library/react'; +import { act } from 'react-dom/test-utils'; +import { renderInTestApp } from '@backstage/test-utils'; import { CodeSnippet } from './CodeSnippet'; @@ -32,24 +33,24 @@ const minProps = { }; describe('', () => { - it('renders text without exploding', () => { - const { getByText } = render(wrapInTestApp()); + it('renders text without exploding', async () => { + const { getByText } = await renderInTestApp(); expect(getByText(/"Hello"/)).toBeInTheDocument(); expect(getByText(/"World"/)).toBeInTheDocument(); }); - it('renders without line numbers', () => { - const { queryByText } = render( - wrapInTestApp(), + it('renders without line numbers', async () => { + const { queryByText } = await renderInTestApp( + , ); expect(queryByText('1')).not.toBeInTheDocument(); expect(queryByText('2')).not.toBeInTheDocument(); expect(queryByText('3')).not.toBeInTheDocument(); }); - it('renders with line numbers', () => { - const { getByText } = render( - wrapInTestApp(), + it('renders with line numbers', async () => { + const { getByText } = await renderInTestApp( + , ); expect(getByText('1')).toBeInTheDocument(); expect(getByText('2')).toBeInTheDocument(); @@ -57,12 +58,17 @@ describe('', () => { }); it('copy code using button', async () => { + jest.useFakeTimers(); document.execCommand = jest.fn(); - const { getByTitle } = render( - wrapInTestApp(), + const { getByTitle } = await renderInTestApp( + , ); const button = getByTitle('Text copied to clipboard'); fireEvent.click(button); + act(() => { + jest.runAllTimers(); + }); expect(document.execCommand).toHaveBeenCalled(); + jest.useRealTimers(); }); }); diff --git a/packages/core/src/components/CopyTextButton/CopyTextButton.test.tsx b/packages/core/src/components/CopyTextButton/CopyTextButton.test.tsx index cab992e11a..07bce97d74 100644 --- a/packages/core/src/components/CopyTextButton/CopyTextButton.test.tsx +++ b/packages/core/src/components/CopyTextButton/CopyTextButton.test.tsx @@ -15,8 +15,9 @@ */ import React from 'react'; -import { render, fireEvent } from '@testing-library/react'; -import { wrapInTestApp } from '@backstage/test-utils'; +import { fireEvent } from '@testing-library/react'; +import { act } from 'react-dom/test-utils'; +import { renderInTestApp } from '@backstage/test-utils'; import { CopyTextButton } from './CopyTextButton'; import { ApiRegistry, @@ -55,29 +56,30 @@ const apiRegistry = ApiRegistry.from([ ]); describe('', () => { - it('renders without exploding', () => { - const { getByDisplayValue } = render( - wrapInTestApp( - - - , - ), + it('renders without exploding', async () => { + const { getByDisplayValue } = await renderInTestApp( + + + , ); getByDisplayValue('mockText'); }); it('displays tooltip on click', async () => { + jest.useFakeTimers(); document.execCommand = jest.fn(); - const rendered = render( - wrapInTestApp( - - - , - ), + const rendered = await renderInTestApp( + + + , ); const button = rendered.getByTitle('mockTooltip'); fireEvent.click(button); + act(() => { + jest.runAllTimers(); + }); expect(document.execCommand).toHaveBeenCalled(); rendered.getByText('mockTooltip'); + jest.useRealTimers(); }); }); diff --git a/packages/core/src/components/HorizontalScrollGrid/HorizontalScrollGrid.test.tsx b/packages/core/src/components/HorizontalScrollGrid/HorizontalScrollGrid.test.tsx index 1dbdbcc3b9..0d07d8ec84 100644 --- a/packages/core/src/components/HorizontalScrollGrid/HorizontalScrollGrid.test.tsx +++ b/packages/core/src/components/HorizontalScrollGrid/HorizontalScrollGrid.test.tsx @@ -15,8 +15,8 @@ */ import React from 'react'; -import { render, fireEvent } from '@testing-library/react'; -import { renderWithEffects, wrapInTestApp } from '@backstage/test-utils'; +import { fireEvent } from '@testing-library/react'; +import { renderInTestApp } from '@backstage/test-utils'; import { HorizontalScrollGrid } from './HorizontalScrollGrid'; import { Grid } from '@material-ui/core'; @@ -33,14 +33,12 @@ describe('', () => { jest.restoreAllMocks(); }); - it('renders without exploding', () => { - const rendered = render( - wrapInTestApp( - - item1 - item2 - , - ), + it('renders without exploding', async () => { + const rendered = await renderInTestApp( + + item1 + item2 + , ); rendered.getByText('item1'); rendered.getByText('item2'); @@ -65,17 +63,15 @@ describe('', () => { lastScroll = left || 0; }) as any; - const rendered = await renderWithEffects( - wrapInTestApp( - - - item1 - - - item2 - - , - ), + const rendered = await renderInTestApp( + + + item1 + + + item2 + + , ); rendered.getByTitle('Scroll Left'); diff --git a/packages/core/src/components/Lifecycle/Lifecycle.test.tsx b/packages/core/src/components/Lifecycle/Lifecycle.test.tsx index ac3823d85c..b5567b2b5a 100644 --- a/packages/core/src/components/Lifecycle/Lifecycle.test.tsx +++ b/packages/core/src/components/Lifecycle/Lifecycle.test.tsx @@ -15,28 +15,27 @@ */ import React from 'react'; -import { render } from '@testing-library/react'; -import { wrapInTestApp } from '@backstage/test-utils'; +import { renderInTestApp } from '@backstage/test-utils'; import { Lifecycle } from './Lifecycle'; describe('', () => { it('renders Alpha with shorthand', async () => { - const { getByText } = render(wrapInTestApp()); + const { getByText } = await renderInTestApp(); expect(getByText('α')).toBeInTheDocument(); }); it('renders Alpha without shorthand', async () => { - const { getByText } = render(wrapInTestApp()); + const { getByText } = await renderInTestApp(); expect(getByText('Alpha')).toBeInTheDocument(); }); it('renders Beta with shorthand', async () => { - const { getByText } = render(wrapInTestApp()); + const { getByText } = await renderInTestApp(); expect(getByText('β')).toBeInTheDocument(); }); it('renders Beta without shorthand', async () => { - const { getByText } = render(wrapInTestApp()); + const { getByText } = await renderInTestApp(); expect(getByText('Beta')).toBeInTheDocument(); }); }); diff --git a/packages/core/src/components/ProgressBars/Gauge.test.tsx b/packages/core/src/components/ProgressBars/Gauge.test.tsx index 3d2ac17506..00cf0fd009 100644 --- a/packages/core/src/components/ProgressBars/Gauge.test.tsx +++ b/packages/core/src/components/ProgressBars/Gauge.test.tsx @@ -15,36 +15,34 @@ */ import React from 'react'; -import { render } from '@testing-library/react'; -import { wrapInTestApp } from '@backstage/test-utils'; +import { renderInTestApp } from '@backstage/test-utils'; import { Gauge, getProgressColor } from './Gauge'; import * as theme from '@backstage/theme'; describe('', () => { - it('renders without exploding', () => { - const { getByText } = render( - wrapInTestApp(), + it('renders without exploding', async () => { + const { getByText } = await renderInTestApp( + , + ); + getByText('10%'); + }); + it('handles fractional prop', async () => { + const { getByText } = await renderInTestApp( + , ); getByText('10%'); }); - it('handles fractional prop', () => { - const { getByText } = render( - wrapInTestApp(), - ); - getByText('10%'); - }); - - it('handles max prop', () => { - const { getByText } = render( - wrapInTestApp(), + it('handles max prop', async () => { + const { getByText } = await renderInTestApp( + , ); getByText('1%'); }); - it('handles unit prop', () => { - const { getByText } = render( - wrapInTestApp(), + it('handles unit prop', async () => { + const { getByText } = await renderInTestApp( + , ); getByText('10m'); }); diff --git a/packages/core/src/components/ProgressBars/GaugeCard.test.tsx b/packages/core/src/components/ProgressBars/GaugeCard.test.tsx index 496a620170..db112fa2ab 100644 --- a/packages/core/src/components/ProgressBars/GaugeCard.test.tsx +++ b/packages/core/src/components/ProgressBars/GaugeCard.test.tsx @@ -15,33 +15,32 @@ */ import React from 'react'; -import { render } from '@testing-library/react'; -import { wrapInTestApp } from '@backstage/test-utils'; +import { renderInTestApp } from '@backstage/test-utils'; import { GaugeCard } from './GaugeCard'; const minProps = { title: 'Tingle upgrade', progress: 0.12 }; describe('', () => { - it('renders without exploding', () => { - const { getByText } = render(wrapInTestApp()); + it('renders without exploding', async () => { + const { getByText } = await renderInTestApp(); expect(getByText(/Tingle.*/)).toBeInTheDocument(); }); - it('renders progress and title', () => { - const { getByText } = render(wrapInTestApp()); + it('renders progress and title', async () => { + const { getByText } = await renderInTestApp(); expect(getByText(/Tingle.*/)).toBeInTheDocument(); expect(getByText(/12%.*/)).toBeInTheDocument(); }); - it('does not render deepLink', () => { - const { queryByText } = render(wrapInTestApp()); + it('does not render deepLink', async () => { + const { queryByText } = await renderInTestApp(); expect(queryByText('View more')).not.toBeInTheDocument(); }); - it('handles invalid numbers', () => { + it('handles invalid numbers', async () => { const badProps = { title: 'Tingle upgrade', progress: 'hejjo' } as any; - const { getByText } = render(wrapInTestApp()); + const { getByText } = await renderInTestApp(); expect(getByText(/N\/A.*/)).toBeInTheDocument(); }); }); diff --git a/packages/core/src/components/SimpleStepper/SimpleStepper.test.tsx b/packages/core/src/components/SimpleStepper/SimpleStepper.test.tsx index 043084e4fb..527160c4ff 100644 --- a/packages/core/src/components/SimpleStepper/SimpleStepper.test.tsx +++ b/packages/core/src/components/SimpleStepper/SimpleStepper.test.tsx @@ -14,8 +14,8 @@ * limitations under the License. */ import React from 'react'; -import { render, fireEvent, within } from '@testing-library/react'; -import { wrapInTestApp } from '@backstage/test-utils'; +import { fireEvent, within } from '@testing-library/react'; +import { renderInTestApp } from '@backstage/test-utils'; import { SimpleStepper as Stepper } from './SimpleStepper'; import { SimpleStepperStep as Step } from './SimpleStepperStep'; @@ -24,20 +24,18 @@ const getTextInSlide = (rendered: any, index: number) => describe('Stepper', () => { it('Maintains state history', async () => { - const rendered = render( - wrapInTestApp( - - -
step0
-
- -
step1
-
- -
step2
-
-
, - ), + const rendered = await renderInTestApp( + + +
step0
+
+ +
step1
+
+ +
step2
+
+
, ); fireEvent.click(getTextInSlide(rendered, 0)('Next') as Node); @@ -51,27 +49,25 @@ describe('Stepper', () => { }); it('Handles nextStep property', async () => { - const rendered = render( - wrapInTestApp( - - -
step0
-
- 3 }} - data-testid="step1" - > -
step1
-
- -
step2
-
- -
step3
-
-
, - ), + const rendered = await renderInTestApp( + + +
step0
+
+ 3 }} + data-testid="step1" + > +
step1
+
+ +
step2
+
+ +
step3
+
+
, ); fireEvent.click(getTextInSlide(rendered, 0)('Next') as Node); @@ -84,28 +80,26 @@ describe('Stepper', () => { expect(rendered.getByText('step1')).toBeInTheDocument(); }); - it('Shows controls and content when going back to first step', () => { - const rendered = render( - wrapInTestApp( - - -
step0
-
- 3 }} - data-testid="step1" - > -
step1
-
- -
step2
-
- -
step3
-
-
, - ), + it('Shows controls and content when going back to first step', async () => { + const rendered = await renderInTestApp( + + +
step0
+
+ 3 }} + data-testid="step1" + > +
step1
+
+ +
step2
+
+ +
step3
+
+
, ); fireEvent.click(getTextInSlide(rendered, 0)('Next') as Node); @@ -123,30 +117,28 @@ describe('Stepper', () => { expect(getTextInSlide(rendered, 0)('Next')).toBeInTheDocument(); }); - it('uses nextText if specified in all steps', () => { - const rendered = render( - wrapInTestApp( + it('uses nextText if specified in all steps', async () => { + const rendered = await renderInTestApp( + - - -
step0
-
- -
final step
-
-
-
, - ), + +
step0
+
+ +
final step
+
+
+ , ); expect(rendered.getByText('Step0Next')).toBeInTheDocument(); fireEvent.click(rendered.getByText('Step0Next')); diff --git a/packages/core/src/components/Table/Table.test.tsx b/packages/core/src/components/Table/Table.test.tsx index 24d68fe0d1..48b90be419 100644 --- a/packages/core/src/components/Table/Table.test.tsx +++ b/packages/core/src/components/Table/Table.test.tsx @@ -15,8 +15,7 @@ */ import React from 'react'; -import { render } from '@testing-library/react'; -import { wrapInTestApp } from '@backstage/test-utils'; +import { renderInTestApp } from '@backstage/test-utils'; import { Table } from './Table'; const minProps = { @@ -43,14 +42,14 @@ const minProps = { }; describe('', () => { - it('renders without exploding', () => { - const rendered = render(wrapInTestApp(
)); + it('renders without exploding', async () => { + const rendered = await renderInTestApp(
); expect(rendered.getByText('second value, second row')).toBeInTheDocument(); }); - it('renders with subtitle', () => { - const rendered = render( - wrapInTestApp(
), + it('renders with subtitle', async () => { + const rendered = await renderInTestApp( +
, ); expect(rendered.getByText('subtitle')).toBeInTheDocument(); }); diff --git a/packages/core/src/components/Tabs/Tab.test.tsx b/packages/core/src/components/Tabs/Tab.test.tsx index 5b155ef536..df8540ff14 100644 --- a/packages/core/src/components/Tabs/Tab.test.tsx +++ b/packages/core/src/components/Tabs/Tab.test.tsx @@ -15,13 +15,12 @@ */ import React from 'react'; -import { render } from '@testing-library/react'; -import { wrapInTestApp } from '@backstage/test-utils'; +import { renderInTestApp } from '@backstage/test-utils'; import { StyledTab } from './Tab'; describe('', () => { - it('renders without exploding', () => { - const rendered = render(wrapInTestApp()); + it('renders without exploding', async () => { + const rendered = await renderInTestApp(); expect(rendered.getByText('test')).toBeInTheDocument(); }); }); diff --git a/packages/core/src/components/TrendLine/TrendLine.test.tsx b/packages/core/src/components/TrendLine/TrendLine.test.tsx index dbd8adfccf..f3d658265b 100644 --- a/packages/core/src/components/TrendLine/TrendLine.test.tsx +++ b/packages/core/src/components/TrendLine/TrendLine.test.tsx @@ -17,24 +17,24 @@ /* eslint-disable jest/no-disabled-tests */ import React from 'react'; import { render } from '@testing-library/react'; -import { wrapInTestApp } from '@backstage/test-utils'; +import { renderInTestApp, wrapInTestApp } from '@backstage/test-utils'; import { TrendLine } from './TrendLine'; describe('TrendLine', () => { describe('when no data is present', () => { - it('renders null without throwing', () => { - const rendered = render( - wrapInTestApp(), + it('renders null without throwing', async () => { + const rendered = await renderInTestApp( + , ); expect(rendered.queryByTitle('sparkline')).not.toBeInTheDocument(); }); }); describe('when one datapoint is present', () => { - it('renders as a straight line', () => { - const rendered = render( - wrapInTestApp(), + it('renders as a straight line', async () => { + const rendered = await renderInTestApp( + , ); expect(rendered.getByTitle('sparkline')).toBeInTheDocument(); }); diff --git a/packages/core/src/components/WarningPanel/WarningPanel.test.tsx b/packages/core/src/components/WarningPanel/WarningPanel.test.tsx index 493b143bbf..07a25d34c8 100644 --- a/packages/core/src/components/WarningPanel/WarningPanel.test.tsx +++ b/packages/core/src/components/WarningPanel/WarningPanel.test.tsx @@ -15,22 +15,21 @@ */ import React from 'react'; -import { render } from '@testing-library/react'; -import { wrapInTestApp } from '@backstage/test-utils'; +import { renderInTestApp } from '@backstage/test-utils'; import { WarningPanel } from './WarningPanel'; const minProps = { title: 'Mock title', message: 'Some more info' }; describe('', () => { - it('renders without exploding', () => { - const { getByText } = render(wrapInTestApp()); + it('renders without exploding', async () => { + const { getByText } = await renderInTestApp(); expect(getByText('Mock title')).toBeInTheDocument(); }); - it('renders message and children', () => { - const { getByText } = render( - wrapInTestApp(children), + it('renders message and children', async () => { + const { getByText } = await renderInTestApp( + children, ); expect(getByText('Some more info')).toBeInTheDocument(); expect(getByText('children')).toBeInTheDocument(); diff --git a/packages/core/src/layout/BottomLink/BottomLink.test.tsx b/packages/core/src/layout/BottomLink/BottomLink.test.tsx index 9871e18ebb..92ae2ecb3b 100644 --- a/packages/core/src/layout/BottomLink/BottomLink.test.tsx +++ b/packages/core/src/layout/BottomLink/BottomLink.test.tsx @@ -15,8 +15,7 @@ */ import React from 'react'; -import { render } from '@testing-library/react'; -import { wrapInTestApp } from '@backstage/test-utils'; +import { renderInTestApp } from '@backstage/test-utils'; import { BottomLink } from './BottomLink'; const minProps = { @@ -25,8 +24,8 @@ const minProps = { }; describe('', () => { - it('renders without exploding', () => { - const rendered = render(wrapInTestApp()); + it('renders without exploding', async () => { + const rendered = await renderInTestApp(); expect(rendered.getByText('A deepLink title')).toBeInTheDocument(); }); }); diff --git a/packages/core/src/layout/ContentHeader/ContentHeader.test.tsx b/packages/core/src/layout/ContentHeader/ContentHeader.test.tsx index 5db676dcc5..b28ad614bf 100644 --- a/packages/core/src/layout/ContentHeader/ContentHeader.test.tsx +++ b/packages/core/src/layout/ContentHeader/ContentHeader.test.tsx @@ -15,9 +15,8 @@ */ import React from 'react'; -import { render } from '@testing-library/react'; import { ContentHeader } from './ContentHeader'; -import { wrapInTestApp } from '@backstage/test-utils'; +import { renderInTestApp } from '@backstage/test-utils'; jest.mock('react-helmet', () => { return { @@ -26,23 +25,23 @@ jest.mock('react-helmet', () => { }); describe('', () => { - it('should render with title', () => { - const rendered = render(wrapInTestApp()); + it('should render with title', async () => { + const rendered = await renderInTestApp(); rendered.getByText('Title'); }); - it('should render with titleComponent', () => { + it('should render with titleComponent', async () => { const title = 'Custom title'; const titleComponent = () =>

{title}

; - const rendered = render( - wrapInTestApp(), + const rendered = await renderInTestApp( + , ); rendered.getByText(title); }); - it('should render with description', () => { - const rendered = render( - wrapInTestApp(), + it('should render with description', async () => { + const rendered = await renderInTestApp( + , ); rendered.getByText('description'); }); diff --git a/packages/core/src/layout/ErrorPage/ErrorPage.test.tsx b/packages/core/src/layout/ErrorPage/ErrorPage.test.tsx index c47ff8d49e..91322ee2a5 100644 --- a/packages/core/src/layout/ErrorPage/ErrorPage.test.tsx +++ b/packages/core/src/layout/ErrorPage/ErrorPage.test.tsx @@ -15,14 +15,13 @@ */ import React from 'react'; -import { render } from '@testing-library/react'; import { ErrorPage } from './ErrorPage'; -import { wrapInTestApp } from '@backstage/test-utils'; +import { renderInTestApp } from '@backstage/test-utils'; describe('', () => { - it('should render with status code, status message and go back link', () => { - const rendered = render( - wrapInTestApp(), + it('should render with status code, status message and go back link', async () => { + const rendered = await renderInTestApp( + , ); rendered.getByText(/page not found/i); rendered.getByText(/404/i); diff --git a/packages/core/src/layout/Header/Header.test.tsx b/packages/core/src/layout/Header/Header.test.tsx index 320592c218..51468f6ab5 100644 --- a/packages/core/src/layout/Header/Header.test.tsx +++ b/packages/core/src/layout/Header/Header.test.tsx @@ -15,8 +15,7 @@ */ import React from 'react'; -import { render } from '@testing-library/react'; -import { wrapInTestApp } from '@backstage/test-utils'; +import { renderInTestApp } from '@backstage/test-utils'; import { Header } from './Header'; jest.mock('react-helmet', () => { @@ -26,42 +25,42 @@ jest.mock('react-helmet', () => { }); describe('
', () => { - it('should render with title', () => { - const rendered = render(wrapInTestApp(
)); + it('should render with title', async () => { + const rendered = await renderInTestApp(
); rendered.getByText('Title'); }); - it('should set document title', () => { - const rendered = render(wrapInTestApp(
)); + it('should set document title', async () => { + const rendered = await renderInTestApp(
); rendered.getByText('Title1'); rendered.getByText('defaultTitle: Title1 | Backstage'); }); - it('should override document title', () => { - const rendered = render( - wrapInTestApp(
), + it('should override document title', async () => { + const rendered = await renderInTestApp( +
, ); rendered.getByText('Title1'); rendered.getByText('defaultTitle: Title2 | Backstage'); }); - it('should have subtitle', () => { - const rendered = render( - wrapInTestApp(
), + it('should have subtitle', async () => { + const rendered = await renderInTestApp( +
, ); rendered.getByText('Subtitle'); }); - it('should have type rendered', () => { - const rendered = render( - wrapInTestApp(
), + it('should have type rendered', async () => { + const rendered = await renderInTestApp( +
, ); rendered.getByText('tool'); }); - it('should have breadcrumb rendered', () => { - const rendered = render( - wrapInTestApp(
), + it('should have breadcrumb rendered', async () => { + const rendered = await renderInTestApp( +
, ); rendered.getAllByText('Title'); }); diff --git a/packages/core/src/layout/HeaderActionMenu/HeaderActionMenu.test.tsx b/packages/core/src/layout/HeaderActionMenu/HeaderActionMenu.test.tsx index 00fa4d27ac..76ede5398d 100644 --- a/packages/core/src/layout/HeaderActionMenu/HeaderActionMenu.test.tsx +++ b/packages/core/src/layout/HeaderActionMenu/HeaderActionMenu.test.tsx @@ -16,22 +16,24 @@ import React from 'react'; import { render, fireEvent } from '@testing-library/react'; -import { wrapInTestApp, Keyboard } from '@backstage/test-utils'; +import { + wrapInTestApp, + Keyboard, + renderInTestApp, +} from '@backstage/test-utils'; import { HeaderActionMenu } from './HeaderActionMenu'; describe('', () => { - it('renders without any items and without exploding', () => { - render(wrapInTestApp()); + it('renders without any items and without exploding', async () => { + await renderInTestApp(); }); - it('can open the menu and click menu items', () => { + it('can open the menu and click menu items', async () => { const onClickFunction = jest.fn(); - const rendered = render( - wrapInTestApp( - , - ), + const rendered = await renderInTestApp( + , ); expect(rendered.queryByText('Some label')).not.toBeInTheDocument(); expect(onClickFunction).not.toHaveBeenCalled(); @@ -48,12 +50,10 @@ describe('', () => { }); it('Disabled', async () => { - const rendered = render( - wrapInTestApp( - , - ), + const rendered = await renderInTestApp( + , ); fireEvent.click(rendered.getByTestId('header-action-menu')); @@ -63,22 +63,20 @@ describe('', () => { ); }); - it('Test wrapper, and secondary label', () => { + it('Test wrapper, and secondary label', async () => { const onClickFunction = jest.fn(); - const rendered = render( - wrapInTestApp( - ( - - ), - }, - ]} - />, - ), + const rendered = await renderInTestApp( + ( + + ), + }, + ]} + />, ); expect(onClickFunction).not.toHaveBeenCalled(); diff --git a/packages/core/src/layout/HeaderLabel/HeaderLabel.test.tsx b/packages/core/src/layout/HeaderLabel/HeaderLabel.test.tsx index fdc6ef8c6e..acadb22525 100644 --- a/packages/core/src/layout/HeaderLabel/HeaderLabel.test.tsx +++ b/packages/core/src/layout/HeaderLabel/HeaderLabel.test.tsx @@ -15,38 +15,37 @@ */ import React from 'react'; -import { render } from '@testing-library/react'; -import { wrapInTestApp } from '@backstage/test-utils'; +import { renderInTestApp } from '@backstage/test-utils'; import { HeaderLabel } from './HeaderLabel'; describe('', () => { - it('should have a label', () => { - const rendered = render(wrapInTestApp()); + it('should have a label', async () => { + const rendered = await renderInTestApp(); expect(rendered.getByText('Label')).toBeInTheDocument(); }); - it('should say unknown', () => { - const rendered = render(wrapInTestApp()); + it('should say unknown', async () => { + const rendered = await renderInTestApp(); expect(rendered.getByText('')).toBeInTheDocument(); }); - it('should say unknown when passing null as value prop', () => { - const rendered = render( - wrapInTestApp(), + it('should say unknown when passing null as value prop', async () => { + const rendered = await renderInTestApp( + , ); expect(rendered.getByText('')).toBeInTheDocument(); }); - it('should have value', () => { - const rendered = render( - wrapInTestApp(), + it('should have value', async () => { + const rendered = await renderInTestApp( + , ); expect(rendered.getByText('Value')).toBeInTheDocument(); }); - it('should have a link', () => { - const rendered = render( - wrapInTestApp(), + it('should have a link', async () => { + const rendered = await renderInTestApp( + , ); const anchor = rendered.container.querySelector('a') as HTMLAnchorElement; expect(rendered.getByText('Value')).toBeInTheDocument(); diff --git a/packages/core/src/layout/HeaderTabs/HeaderTabs.test.tsx b/packages/core/src/layout/HeaderTabs/HeaderTabs.test.tsx index a007bf9113..81d2123049 100644 --- a/packages/core/src/layout/HeaderTabs/HeaderTabs.test.tsx +++ b/packages/core/src/layout/HeaderTabs/HeaderTabs.test.tsx @@ -15,8 +15,7 @@ */ import React from 'react'; -import { render } from '@testing-library/react'; -import { wrapInTestApp } from '@backstage/test-utils'; +import { renderInTestApp } from '@backstage/test-utils'; import { HeaderTabs } from './'; const mockTabs = [ @@ -25,15 +24,15 @@ const mockTabs = [ ]; describe('', () => { - it('should render tabs', () => { - const rendered = render(wrapInTestApp()); + it('should render tabs', async () => { + const rendered = await renderInTestApp(); expect(rendered.getByText('Overview')).toBeInTheDocument(); expect(rendered.getByText('Docs')).toBeInTheDocument(); }); - it('should render correct selected tab', () => { - const rendered = render(wrapInTestApp()); + it('should render correct selected tab', async () => { + const rendered = await renderInTestApp(); expect(rendered.getByText('Docs').parentElement).toHaveAttribute( 'aria-selected', diff --git a/packages/core/src/layout/InfoCard/InfoCard.test.tsx b/packages/core/src/layout/InfoCard/InfoCard.test.tsx index d58fdb2ccb..f82d51fe06 100644 --- a/packages/core/src/layout/InfoCard/InfoCard.test.tsx +++ b/packages/core/src/layout/InfoCard/InfoCard.test.tsx @@ -15,8 +15,7 @@ */ import React from 'react'; -import { render } from '@testing-library/react'; -import { wrapInTestApp } from '@backstage/test-utils'; +import { renderInTestApp } from '@backstage/test-utils'; import { InfoCard } from './InfoCard'; const minProps = { @@ -28,13 +27,13 @@ const minProps = { }; describe('', () => { - it('renders without exploding', () => { - const rendered = render(wrapInTestApp()); + it('renders without exploding', async () => { + const rendered = await renderInTestApp(); expect(rendered.getByText('Some title')).toBeInTheDocument(); }); - it('renders a deepLink when prop is set', () => { - const rendered = render(wrapInTestApp()); + it('renders a deepLink when prop is set', async () => { + const rendered = await renderInTestApp(); expect(rendered.getByText('A deepLink title')).toBeInTheDocument(); }); }); diff --git a/packages/core/src/layout/TabbedCard/TabbedCard.test.tsx b/packages/core/src/layout/TabbedCard/TabbedCard.test.tsx index ceeae8d49d..89abdfdd53 100644 --- a/packages/core/src/layout/TabbedCard/TabbedCard.test.tsx +++ b/packages/core/src/layout/TabbedCard/TabbedCard.test.tsx @@ -16,7 +16,7 @@ import React from 'react'; import { render, fireEvent } from '@testing-library/react'; -import { wrapInTestApp } from '@backstage/test-utils'; +import { renderInTestApp, wrapInTestApp } from '@backstage/test-utils'; import { TabbedCard, CardTab } from '.'; const minProps = { @@ -28,38 +28,32 @@ const minProps = { }; describe('', () => { - it('renders without exploding', () => { - const rendered = render( - wrapInTestApp( - - Test Content - Test Content - , - ), + it('renders without exploding', async () => { + const rendered = await renderInTestApp( + + Test Content + Test Content + , ); expect(rendered.getByText('Some title')).toBeInTheDocument(); }); - it('renders a deepLink when prop is set', () => { - const rendered = render( - wrapInTestApp( - - Test Content - Test Content - , - ), + it('renders a deepLink when prop is set', async () => { + const rendered = await renderInTestApp( + + Test Content + Test Content + , ); expect(rendered.getByText('A deepLink title')).toBeInTheDocument(); }); - it('switches tabs when clicking', () => { - const rendered = render( - wrapInTestApp( - - Test Content 1 - Test Content 2 - , - ), + it('switches tabs when clicking', async () => { + const rendered = await renderInTestApp( + + Test Content 1 + Test Content 2 + , ); expect(rendered.getByText('Test Content 1')).toBeInTheDocument();