diff --git a/plugins/scaffolder-react/src/next/components/TemplateGroup/TemplateGroup.test.tsx b/plugins/scaffolder-react/src/next/components/TemplateGroup/TemplateGroup.test.tsx
index 63c06e778b..02756839c9 100644
--- a/plugins/scaffolder-react/src/next/components/TemplateGroup/TemplateGroup.test.tsx
+++ b/plugins/scaffolder-react/src/next/components/TemplateGroup/TemplateGroup.test.tsx
@@ -23,7 +23,9 @@ import { TemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common';
describe('TemplateGroup', () => {
it('should return a message when no templates are passed in', async () => {
- const { getByText } = render();
+ const { getByText } = render(
+ ,
+ );
expect(
getByText(/No templates found that match your filter/),
@@ -31,36 +33,47 @@ describe('TemplateGroup', () => {
});
it('should render a card for each template with the template being passed as a prop', () => {
- const mockTemplates: TemplateEntityV1beta3[] = [
+ const mockOnSelected = jest.fn();
+ const mockTemplates: { template: TemplateEntityV1beta3 }[] = [
{
- apiVersion: 'scaffolder.backstage.io/v1beta3',
- kind: 'Template',
- metadata: { name: 'test' },
- spec: {
- parameters: [],
- steps: [],
- type: 'website',
+ template: {
+ apiVersion: 'scaffolder.backstage.io/v1beta3',
+ kind: 'Template',
+ metadata: { name: 'test' },
+ spec: {
+ parameters: [],
+ steps: [],
+ type: 'website',
+ },
},
},
{
- apiVersion: 'scaffolder.backstage.io/v1beta3',
- kind: 'Template',
- metadata: { name: 'test2' },
- spec: {
- parameters: [],
- steps: [],
- type: 'service',
+ template: {
+ apiVersion: 'scaffolder.backstage.io/v1beta3',
+ kind: 'Template',
+ metadata: { name: 'test2' },
+ spec: {
+ parameters: [],
+ steps: [],
+ type: 'service',
+ },
},
},
];
- render();
+ render(
+ ,
+ );
expect(TemplateCard).toHaveBeenCalledTimes(2);
- for (const template of mockTemplates) {
+ for (const { template } of mockTemplates) {
expect(TemplateCard).toHaveBeenCalledWith(
- expect.objectContaining({ template }),
+ expect.objectContaining({ template, onSelected: mockOnSelected }),
{},
);
}
@@ -68,32 +81,37 @@ describe('TemplateGroup', () => {
it('should use the passed in TemplateCard prop to render the template card', () => {
const mockTemplateCardComponent = jest.fn(() => null);
-
- const mockTemplates: TemplateEntityV1beta3[] = [
+ const mockOnSelected = jest.fn();
+ const mockTemplates: { template: TemplateEntityV1beta3 }[] = [
{
- apiVersion: 'scaffolder.backstage.io/v1beta3',
- kind: 'Template',
- metadata: { name: 'test' },
- spec: {
- parameters: [],
- steps: [],
- type: 'website',
+ template: {
+ apiVersion: 'scaffolder.backstage.io/v1beta3',
+ kind: 'Template',
+ metadata: { name: 'test' },
+ spec: {
+ parameters: [],
+ steps: [],
+ type: 'website',
+ },
},
},
{
- apiVersion: 'scaffolder.backstage.io/v1beta3',
- kind: 'Template',
- metadata: { name: 'test2' },
- spec: {
- parameters: [],
- steps: [],
- type: 'service',
+ template: {
+ apiVersion: 'scaffolder.backstage.io/v1beta3',
+ kind: 'Template',
+ metadata: { name: 'test2' },
+ spec: {
+ parameters: [],
+ steps: [],
+ type: 'service',
+ },
},
},
];
render(
{
expect(mockTemplateCardComponent).toHaveBeenCalledTimes(2);
- for (const template of mockTemplates) {
+ for (const { template } of mockTemplates) {
expect(mockTemplateCardComponent).toHaveBeenCalledWith(
- expect.objectContaining({ template }),
+ expect.objectContaining({
+ onSelected: mockOnSelected,
+ template,
+ }),
{},
);
}
});
it('should render the title when no templates passed', () => {
- const { getByText } = render();
+ const { getByText } = render(
+ ,
+ );
expect(getByText('Test')).toBeInTheDocument();
});
it('should render the title when there are templates in the list', () => {
- const mockTemplates: TemplateEntityV1beta3[] = [
+ const mockTemplates: { template: TemplateEntityV1beta3 }[] = [
{
- apiVersion: 'scaffolder.backstage.io/v1beta3',
- kind: 'Template',
- metadata: { name: 'test' },
- spec: { parameters: [], steps: [], type: 'website' },
+ template: {
+ apiVersion: 'scaffolder.backstage.io/v1beta3',
+ kind: 'Template',
+ metadata: { name: 'test' },
+ spec: { parameters: [], steps: [], type: 'website' },
+ },
},
];
const { getByText } = render(
- ,
+ ,
);
expect(getByText('Test')).toBeInTheDocument();
@@ -135,7 +164,11 @@ describe('TemplateGroup', () => {
it('should allow for passing through a user given title component', () => {
const TitleComponent = Im a custom header
;
const { getByText } = render(
- ,
+ ,
);
expect(getByText('Im a custom header')).toBeInTheDocument();