diff --git a/.changeset/modern-snakes-check.md b/.changeset/modern-snakes-check.md new file mode 100644 index 0000000000..29510ad712 --- /dev/null +++ b/.changeset/modern-snakes-check.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-scaffolder-react': patch +'@backstage/plugin-scaffolder': patch +--- + +bug: Invert `templateFilter` predicate to align with `Array.filter` diff --git a/plugins/scaffolder-react/src/next/components/TemplateGroups/TemplateGroups.test.tsx b/plugins/scaffolder-react/src/next/components/TemplateGroups/TemplateGroups.test.tsx index c03af41f99..894c6ea4d0 100644 --- a/plugins/scaffolder-react/src/next/components/TemplateGroups/TemplateGroups.test.tsx +++ b/plugins/scaffolder-react/src/next/components/TemplateGroups/TemplateGroups.test.tsx @@ -214,7 +214,7 @@ describe('TemplateGroups', () => { expect(TemplateGroup).toHaveBeenCalledWith( expect.objectContaining({ - templates: [expect.objectContaining({ template: mockEntities[1] })], + templates: [expect.objectContaining({ template: mockEntities[0] })], }), {}, ); diff --git a/plugins/scaffolder-react/src/next/components/TemplateGroups/TemplateGroups.tsx b/plugins/scaffolder-react/src/next/components/TemplateGroups/TemplateGroups.tsx index 50be7a4bdf..f0f06b3410 100644 --- a/plugins/scaffolder-react/src/next/components/TemplateGroups/TemplateGroups.tsx +++ b/plugins/scaffolder-react/src/next/components/TemplateGroups/TemplateGroups.tsx @@ -91,7 +91,7 @@ export const TemplateGroups = (props: TemplateGroupsProps) => { {groups.map(({ title, filter }, index) => { const templates = entities .filter(isTemplateEntityV1beta3) - .filter(e => (templateFilter ? !templateFilter(e) : true)) + .filter(e => (templateFilter ? templateFilter(e) : true)) .filter(filter) .map(template => { const additionalLinks = diff --git a/plugins/scaffolder/src/components/TemplateList/TemplateList.test.tsx b/plugins/scaffolder/src/components/TemplateList/TemplateList.test.tsx index 2ea417ad68..c65613d2f5 100644 --- a/plugins/scaffolder/src/components/TemplateList/TemplateList.test.tsx +++ b/plugins/scaffolder/src/components/TemplateList/TemplateList.test.tsx @@ -77,7 +77,7 @@ describe('TemplateList', () => { { mountedRoutes: { '/': rootRouteRef } }, ); - expect(() => screen.getByTestId('t1')).toThrow(); - expect(screen.getByTestId('t2')).toBeDefined(); + expect(() => screen.getByTestId('t2')).toThrow(); + expect(screen.getByTestId('t1')).toBeDefined(); }); }); diff --git a/plugins/scaffolder/src/components/TemplateList/TemplateList.tsx b/plugins/scaffolder/src/components/TemplateList/TemplateList.tsx index 9a88050d74..c925cdf6ef 100644 --- a/plugins/scaffolder/src/components/TemplateList/TemplateList.tsx +++ b/plugins/scaffolder/src/components/TemplateList/TemplateList.tsx @@ -59,7 +59,7 @@ export const TemplateList = ({ const templateEntities = entities.filter(isTemplateEntityV1beta3); const maybeFilteredEntities = ( group ? templateEntities.filter(group.filter) : templateEntities - ).filter(e => (templateFilter ? !templateFilter(e) : true)); + ).filter(e => (templateFilter ? templateFilter(e) : true)); const titleComponent: React.ReactNode = (() => { if (group && group.title) {