diff --git a/.changeset/metal-peas-beam.md b/.changeset/metal-peas-beam.md new file mode 100644 index 0000000000..a4ebdeb69a --- /dev/null +++ b/.changeset/metal-peas-beam.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder': patch +--- + +Display log visibility button on the template panel diff --git a/plugins/scaffolder/src/next/OngoingTask/OngoingTask.test.tsx b/plugins/scaffolder/src/next/OngoingTask/OngoingTask.test.tsx index 16d9740c15..9d3f29fe7b 100644 --- a/plugins/scaffolder/src/next/OngoingTask/OngoingTask.test.tsx +++ b/plugins/scaffolder/src/next/OngoingTask/OngoingTask.test.tsx @@ -112,4 +112,29 @@ describe('OngoingTask', () => { expect(getByTestId('cancel-button')).toHaveClass('Mui-disabled'); }); }); + + it('should initially do not display logs', async () => { + const rendered = await renderInTestApp( + + + , + { mountedRoutes: { '/': rootRouteRef } }, + ); + await expect(rendered.findByText('Show Logs')).resolves.toBeInTheDocument(); + }); + + it('should toggle logs visibility', async () => { + const rendered = await renderInTestApp( + + + , + { mountedRoutes: { '/': rootRouteRef } }, + ); + await act(async () => { + const element = await rendered.findByText('Show Logs'); + fireEvent.click(element); + }); + + await expect(rendered.findByText('Hide Logs')).resolves.toBeInTheDocument(); + }); }); diff --git a/plugins/scaffolder/src/next/OngoingTask/OngoingTask.tsx b/plugins/scaffolder/src/next/OngoingTask/OngoingTask.tsx index 91c04897d9..b483cd27cb 100644 --- a/plugins/scaffolder/src/next/OngoingTask/OngoingTask.tsx +++ b/plugins/scaffolder/src/next/OngoingTask/OngoingTask.tsx @@ -46,6 +46,9 @@ const useStyles = makeStyles(theme => ({ cancelButton: { marginRight: theme.spacing(1), }, + logsVisibilityButton: { + marginRight: theme.spacing(1), + }, })); export const OngoingTask = (props: { @@ -188,6 +191,14 @@ export const OngoingTask = (props: { > Cancel +