refactor tests to use renderInTestApp

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2022-12-31 19:14:29 +01:00
parent db2e137744
commit 0f50c7c754
18 changed files with 234 additions and 401 deletions
@@ -15,41 +15,33 @@
*/
import React from 'react';
import { render } from '@testing-library/react';
import { renderInTestApp } from '@backstage/test-utils';
import { GraphiQLBrowser } from './GraphiQLBrowser';
import { ThemeProvider } from '@material-ui/core';
import { lightTheme } from '@backstage/theme';
jest.mock('graphiql', () => () => '<GraphiQL />');
jest.mock('graphiql', () => ({ GraphiQL: () => '<GraphiQL />' }));
describe('GraphiQLBrowser', () => {
it('should render error text if there are no endpoints', () => {
const rendered = render(
<ThemeProvider theme={lightTheme}>
<GraphiQLBrowser endpoints={[]} />
</ThemeProvider>,
);
it('should render error text if there are no endpoints', async () => {
const rendered = await renderInTestApp(<GraphiQLBrowser endpoints={[]} />);
rendered.getByText('No endpoints available');
});
it('should render endpoint tabs', () => {
const rendered = render(
<ThemeProvider theme={lightTheme}>
<GraphiQLBrowser
endpoints={[
{
id: 'a',
title: 'Endpoint A',
async fetcher() {},
},
{
id: 'b',
title: 'Endpoint B',
async fetcher() {},
},
]}
/>
</ThemeProvider>,
it('should render endpoint tabs', async () => {
const rendered = await renderInTestApp(
<GraphiQLBrowser
endpoints={[
{
id: 'a',
title: 'Endpoint A',
async fetcher() {},
},
{
id: 'b',
title: 'Endpoint B',
async fetcher() {},
},
]}
/>,
);
rendered.getByText('Endpoint A');
rendered.getByText('Endpoint B');
@@ -16,13 +16,9 @@
import React from 'react';
import { GraphiQLPage } from './GraphiQLPage';
import { ThemeProvider } from '@material-ui/core';
import { lightTheme } from '@backstage/theme';
import { act } from '@testing-library/react';
import { renderWithEffects, TestApiProvider } from '@backstage/test-utils';
import { renderInTestApp, TestApiProvider } from '@backstage/test-utils';
import { GraphQLBrowseApi, graphQlBrowseApiRef } from '../../lib/api';
import { configApiRef } from '@backstage/core-plugin-api';
import { ConfigReader } from '@backstage/core-app-api';
jest.mock('../GraphiQLBrowser', () => ({
GraphiQLBrowser: () => '<GraphiQLBrowser />',
@@ -38,17 +34,9 @@ describe('GraphiQLPage', () => {
},
};
const rendered = await renderWithEffects(
<TestApiProvider
apis={[
[graphQlBrowseApiRef, loadingApi],
[configApiRef, new ConfigReader({})],
]}
>
<ThemeProvider theme={lightTheme}>
<GraphiQLPage />
</ThemeProvider>
,
const rendered = await renderInTestApp(
<TestApiProvider apis={[[graphQlBrowseApiRef, loadingApi]]}>
<GraphiQLPage />,
</TestApiProvider>,
);
act(() => {
@@ -66,16 +54,9 @@ describe('GraphiQLPage', () => {
},
};
const rendered = await renderWithEffects(
<TestApiProvider
apis={[
[graphQlBrowseApiRef, loadingApi],
[configApiRef, new ConfigReader({})],
]}
>
<ThemeProvider theme={lightTheme}>
<GraphiQLPage />
</ThemeProvider>
const rendered = await renderInTestApp(
<TestApiProvider apis={[[graphQlBrowseApiRef, loadingApi]]}>
<GraphiQLPage />
</TestApiProvider>,
);
@@ -90,16 +71,9 @@ describe('GraphiQLPage', () => {
},
};
const rendered = await renderWithEffects(
<TestApiProvider
apis={[
[graphQlBrowseApiRef, loadingApi],
[configApiRef, new ConfigReader({})],
]}
>
<ThemeProvider theme={lightTheme}>
<GraphiQLPage />
</ThemeProvider>
const rendered = await renderInTestApp(
<TestApiProvider apis={[[graphQlBrowseApiRef, loadingApi]]}>
<GraphiQLPage />
</TestApiProvider>,
);