diff --git a/lib/content-services/src/lib/search/search-header-query-builder.service.spec.ts b/lib/content-services/src/lib/search/search-header-query-builder.service.spec.ts index 4014600f51..1075de48f4 100644 --- a/lib/content-services/src/lib/search/search-header-query-builder.service.spec.ts +++ b/lib/content-services/src/lib/search/search-header-query-builder.service.spec.ts @@ -175,4 +175,30 @@ describe('SearchHeaderQueryBuilder', () => { 'Filters are not as expected' ); }); + + it('should not add duplicate column names in activeFilters', () => { + const activeFilter = 'FakeColumn'; + + const config: SearchConfiguration = { + categories: [ + { id: 'cat1', enabled: true } + ], + filterQueries: [ + { query: 'PARENT:"workspace://SpacesStore/fake-node-id' } + ] + }; + + const searchHeaderService = new SearchHeaderQueryBuilderService( + buildConfig(config), + null, + null + ); + + expect(searchHeaderService.activeFilters.length).toBe(0); + + searchHeaderService.setActiveFilter(activeFilter); + searchHeaderService.setActiveFilter(activeFilter); + + expect(searchHeaderService.activeFilters.length).toBe(1); + }); }); diff --git a/lib/content-services/src/lib/search/search-header-query-builder.service.ts b/lib/content-services/src/lib/search/search-header-query-builder.service.ts index 46e3bc5b54..4430267c99 100644 --- a/lib/content-services/src/lib/search/search-header-query-builder.service.ts +++ b/lib/content-services/src/lib/search/search-header-query-builder.service.ts @@ -54,7 +54,9 @@ export class SearchHeaderQueryBuilderService extends BaseQueryBuilderService { } setActiveFilter(columnActivated: string) { - this.activeFilters.push(columnActivated); + if (!this.activeFilters.includes(columnActivated)) { + this.activeFilters.push(columnActivated); + } } isNoFilterActive(): boolean {