1616import { renderInTestApp } from '@backstage/test-utils' ;
1717import { MarketplaceCatalogContent } from './MarketplaceCatalogContent' ;
1818import { useFilteredPlugins } from '../hooks/useFilteredPlugins' ;
19+ import { useCollections } from '../hooks/useCollections' ;
1920import { useExtensionsConfiguration } from '../hooks/useExtensionsConfiguration' ;
21+ import { mockPlugins } from '../__fixtures__/mockPlugins' ;
2022
2123const useFilteredPluginsMock = useFilteredPlugins as jest . Mock ;
24+ const useCollectionsMock = useCollections as jest . Mock ;
2225const useExtensionsConfigurationMock = useExtensionsConfiguration as jest . Mock ;
2326
2427jest . mock ( '../hooks/useCollections' , ( ) => ( {
@@ -37,6 +40,18 @@ jest.mock('../hooks/useFilteredPlugins', () => ({
3740 useFilteredPlugins : jest . fn ( ) ,
3841} ) ) ;
3942
43+ jest . mock ( '../hooks/usePluginFacet' , ( ) => ( {
44+ usePluginFacet : jest . fn ( ) . mockReturnValue ( {
45+ data : [ ] ,
46+ } ) ,
47+ } ) ) ;
48+
49+ jest . mock ( '../hooks/usePluginFacets' , ( ) => ( {
50+ usePluginFacets : jest . fn ( ) . mockReturnValue ( {
51+ data : [ ] ,
52+ } ) ,
53+ } ) ) ;
54+
4055afterAll ( ( ) => {
4156 jest . clearAllMocks ( ) ;
4257} ) ;
@@ -58,6 +73,31 @@ describe('MarketplaceCatalogContent', () => {
5873 expect ( getByText ( 'No plugins found' ) ) . toBeInTheDocument ( ) ;
5974 } ) ;
6075
76+ it ( 'should show empty state when filters return no results' , async ( ) => {
77+ useExtensionsConfigurationMock . mockReturnValue ( {
78+ data : {
79+ enabled : false ,
80+ } ,
81+ } ) ;
82+ useCollectionsMock . mockReturnValue ( {
83+ data : {
84+ featuredCollections : [ ] ,
85+ } ,
86+ } ) ;
87+ useFilteredPluginsMock . mockReturnValue ( {
88+ data : {
89+ totalItems : 10 ,
90+ items : mockPlugins ,
91+ filteredItems : 0 ,
92+ } ,
93+ } ) ;
94+
95+ const { getByText } = await renderInTestApp ( < MarketplaceCatalogContent /> ) ;
96+ expect (
97+ getByText ( 'No results found. Adjust your filters and try again.' ) ,
98+ ) . toBeInTheDocument ( ) ;
99+ } ) ;
100+
61101 it ( 'should show empty state with no extensions backend found' , async ( ) => {
62102 useFilteredPluginsMock . mockReturnValue ( {
63103 error : {
0 commit comments