Add widget to show recent git workflow runs

* Fix Entity Page layout
* Fix mock api injection
This commit is contained in:
Iain Billett
2020-09-23 09:43:13 +01:00
parent 63d3a4d3da
commit f910491c58
2 changed files with 19 additions and 11 deletions
@@ -18,7 +18,7 @@ import type { Props as RecentWorkflowRunsCardProps } from './RecentWorkflowRunsC
import React from 'react';
import { render } from '@testing-library/react';
import { RecentWorkflowRunsCard } from './RecentWorkflowRunsCard';
import { useApi } from '@backstage/core-api';
import { ApiProvider, ApiRegistry, errorApiRef } from '@backstage/core-api';
import { useWorkflowRuns } from '../useWorkflowRuns';
import { ThemeProvider } from '@material-ui/core';
import { lightTheme } from '@backstage/theme';
@@ -27,7 +27,11 @@ import { MemoryRouter } from 'react-router';
jest.mock('../useWorkflowRuns', () => ({
useWorkflowRuns: jest.fn(),
}));
jest.mock('@backstage/core-api');
const mockErrorApi: jest.Mocked<typeof errorApiRef.T> = {
post: jest.fn(),
error$: jest.fn(),
};
describe('<RecentWorkflowRunsCard />', () => {
const entity = {
@@ -52,11 +56,9 @@ describe('<RecentWorkflowRunsCard />', () => {
source: { branchName: `branch-${n}` },
status: 'completed',
}));
const mockErrorApi = { post: jest.fn() };
beforeEach(() => {
(useWorkflowRuns as jest.Mock).mockReturnValue([{ runs: workflowRuns }]);
(useApi as jest.Mock).mockReturnValue(mockErrorApi);
});
afterEach(() => {
@@ -67,7 +69,9 @@ describe('<RecentWorkflowRunsCard />', () => {
render(
<ThemeProvider theme={lightTheme}>
<MemoryRouter>
<RecentWorkflowRunsCard {...props} />
<ApiProvider apis={ApiRegistry.with(errorApiRef, mockErrorApi)}>
<RecentWorkflowRunsCard {...props} />
</ApiProvider>
</MemoryRouter>
</ThemeProvider>,
);