Merge pull request #15217 from wayfair-contribs/smedeiros_remaining_filters
Fix entity tag picker
This commit is contained in:
@@ -202,4 +202,33 @@ describe('<EntityTagPicker/>', () => {
|
||||
tags: new EntityTagFilter(['tag2']),
|
||||
});
|
||||
});
|
||||
it('removes tags from filters if there are none available', async () => {
|
||||
const updateFilters = jest.fn();
|
||||
const mockCatalogApiRefNoTags = {
|
||||
getEntityFacets: async () => ({
|
||||
facets: {
|
||||
'metadata.tags': {},
|
||||
},
|
||||
}),
|
||||
} as unknown as CatalogApi;
|
||||
|
||||
render(
|
||||
<TestApiProvider apis={[[catalogApiRef, mockCatalogApiRefNoTags]]}>
|
||||
<MockEntityListContextProvider
|
||||
value={{
|
||||
updateFilters,
|
||||
queryParameters: { tags: ['tag1'] },
|
||||
}}
|
||||
>
|
||||
<EntityTagPicker />
|
||||
</MockEntityListContextProvider>
|
||||
,
|
||||
</TestApiProvider>,
|
||||
);
|
||||
await waitFor(() =>
|
||||
expect(updateFilters).toHaveBeenLastCalledWith({
|
||||
tags: undefined,
|
||||
}),
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -93,10 +93,14 @@ export const EntityTagPicker = (props: EntityTagPickerProps) => {
|
||||
}, [queryParamTags]);
|
||||
|
||||
useEffect(() => {
|
||||
const tags = Object.keys(availableTags ?? {});
|
||||
updateFilters({
|
||||
tags: selectedTags.length ? new EntityTagFilter(selectedTags) : undefined,
|
||||
tags:
|
||||
selectedTags.length && tags.length
|
||||
? new EntityTagFilter(selectedTags)
|
||||
: undefined,
|
||||
});
|
||||
}, [selectedTags, updateFilters]);
|
||||
}, [selectedTags, updateFilters, availableTags]);
|
||||
|
||||
if (!Object.keys(availableTags ?? {}).length) return null;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user