Fix extensions.test.tsx

Signed-off-by: Karan Shah <karan.shah@simplybusiness.co.uk>
This commit is contained in:
Karan Shah
2022-02-04 10:50:50 +00:00
parent 499f8f547e
commit c0d61279af
3 changed files with 17 additions and 11 deletions
+1 -1
View File
@@ -37,7 +37,7 @@ createDevApp()
<Page themeId="tool">
<Header title="Airbrake demo application" subtitle="Mock API" />
<Content>
<TestApiProvider apis={[[airbrakeApiRef, new MockAirbrakeApi()]]}>
<TestApiProvider apis={[[airbrakeApiRef, new MockAirbrakeApi(800)]]}>
<EntityProvider entity={createEntity(1234)}>
<EntityAirbrakeContent />
</EntityProvider>
+7 -1
View File
@@ -19,9 +19,15 @@ import { AirbrakeApi } from '../airbrake-api';
import mockGroupsData from './airbrake-groups-api-mock.json';
export class MockAirbrakeApi implements AirbrakeApi {
waitTimeInMillis: number;
constructor(waitTimeInMillis = 10) {
this.waitTimeInMillis = waitTimeInMillis;
}
fetchGroups(): Promise<Groups> {
return new Promise(resolve => {
setTimeout(() => resolve(mockGroupsData), 800);
setTimeout(() => resolve(mockGroupsData), this.waitTimeInMillis);
});
}
}
+9 -9
View File
@@ -15,23 +15,23 @@
*/
import React from 'react';
import { EntityAirbrakeContent } from './extensions';
import { Route } from 'react-router';
import { renderInTestApp, TestApiProvider } from '@backstage/test-utils';
import { airbrakeApiRef, MockAirbrakeApi } from './api';
import { rootRouteRef } from './routes';
import { createEntity } from './api/mock/mock-entity';
import { EntityProvider } from '@backstage/plugin-catalog-react';
describe('The Airbrake entity', () => {
it('should render the content properly', async () => {
const rendered = await renderInTestApp(
<TestApiProvider apis={[[airbrakeApiRef, new MockAirbrakeApi()]]}>
<EntityAirbrakeContent />
<EntityProvider entity={createEntity(123)}>
<Route path="/" element={<EntityAirbrakeContent />} />
</EntityProvider>
</TestApiProvider>,
{
mountedRoutes: {
'/': rootRouteRef,
},
routeEntries: ['/'],
},
);
expect(rendered.getByText('ChunkLoadError')).toBeInTheDocument();
await expect(
rendered.findByText('ChunkLoadError'),
).resolves.toBeInTheDocument();
});
});