From f59448367af45cd542c6c3e8ce43e9f7d39be3cb Mon Sep 17 00:00:00 2001 From: blam Date: Mon, 9 Jan 2023 16:17:08 +0100 Subject: [PATCH] chore: fix tests for the TemplateCard Signed-off-by: blam --- .../components/TemplateCard/TemplateCard.test.tsx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/plugins/scaffolder-react/src/next/components/TemplateCard/TemplateCard.test.tsx b/plugins/scaffolder-react/src/next/components/TemplateCard/TemplateCard.test.tsx index f2e2cae8c6..2d5b203cfb 100644 --- a/plugins/scaffolder-react/src/next/components/TemplateCard/TemplateCard.test.tsx +++ b/plugins/scaffolder-react/src/next/components/TemplateCard/TemplateCard.test.tsx @@ -27,6 +27,7 @@ import { TemplateCard } from './TemplateCard'; import React from 'react'; import { TemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common'; import { RELATION_OWNED_BY } from '@backstage/catalog-model'; +import { fireEvent } from '@testing-library/react'; describe('TemplateCard', () => { it('should render the card title', async () => { @@ -192,7 +193,7 @@ describe('TemplateCard', () => { ); }); - it('should render the choose button to navigate to the selected template', async () => { + it('should call the onSelected handler when clicking the choose button', async () => { const mockTemplate: TemplateEntityV1beta3 = { apiVersion: 'scaffolder.backstage.io/v1beta3', kind: 'Template', @@ -202,6 +203,7 @@ describe('TemplateCard', () => { type: 'service', }, }; + const mockOnSelected = jest.fn(); const { getByRole } = await renderInTestApp( { ], ]} > - + , { mountedRoutes: { @@ -224,9 +226,9 @@ describe('TemplateCard', () => { ); expect(getByRole('button', { name: 'Choose' })).toBeInTheDocument(); - expect(getByRole('button', { name: 'Choose' })).toHaveAttribute( - 'href', - '/templates/default/bob', - ); + + fireEvent.click(getByRole('button', { name: 'Choose' })); + + expect(mockOnSelected).toHaveBeenCalledWith(mockTemplate); }); });