diff --git a/lib/content-services/src/lib/search/services/search-header-query-builder.service.spec.ts b/lib/content-services/src/lib/search/services/search-header-query-builder.service.spec.ts index 72ad3ac1e2..f208f12ed2 100644 --- a/lib/content-services/src/lib/search/services/search-header-query-builder.service.spec.ts +++ b/lib/content-services/src/lib/search/services/search-header-query-builder.service.spec.ts @@ -36,98 +36,110 @@ describe('SearchHeaderQueryBuilderService', () => { }; it('should load the configuration from app config', () => { - const config: SearchConfiguration = { - categories: [{ id: 'cat1', enabled: true } as any, { id: 'cat2', enabled: true } as any], - filterQueries: [{ query: 'query1' }, { query: 'query2' }] - }; + TestBed.runInInjectionContext(() => { + const config: SearchConfiguration = { + categories: [{ id: 'cat1', enabled: true } as any, { id: 'cat2', enabled: true } as any], + filterQueries: [{ query: 'query1' }, { query: 'query2' }] + }; - const alfrescoApiService = TestBed.inject(AlfrescoApiService); - const builder = new SearchHeaderQueryBuilderService(buildConfig(config), alfrescoApiService, null); + const alfrescoApiService = TestBed.inject(AlfrescoApiService); + const builder = new SearchHeaderQueryBuilderService(buildConfig(config), alfrescoApiService, null); - builder.categories = []; - builder.filterQueries = []; + builder.categories = []; + builder.filterQueries = []; - expect(builder.categories.length).toBe(0); - expect(builder.filterQueries.length).toBe(0); + expect(builder.categories.length).toBe(0); + expect(builder.filterQueries.length).toBe(0); - builder.resetToDefaults(); + builder.resetToDefaults(); - expect(builder.categories.length).toBe(2); - expect(builder.filterQueries.length).toBe(2); + expect(builder.categories.length).toBe(2); + expect(builder.filterQueries.length).toBe(2); + }); }); it('should return the category assigned to a column key', () => { - const config: SearchConfiguration = { - categories: [ - { id: 'cat1', columnKey: 'fake-key-1', enabled: true } as any, - { id: 'cat2', columnKey: 'fake-key-2', enabled: true } as any - ], - filterQueries: [{ query: 'query1' }, { query: 'query2' }] - }; + TestBed.runInInjectionContext(() => { + const config: SearchConfiguration = { + categories: [ + { id: 'cat1', columnKey: 'fake-key-1', enabled: true } as any, + { id: 'cat2', columnKey: 'fake-key-2', enabled: true } as any + ], + filterQueries: [{ query: 'query1' }, { query: 'query2' }] + }; - const alfrescoApiService = TestBed.inject(AlfrescoApiService); - const service = new SearchHeaderQueryBuilderService(buildConfig(config), alfrescoApiService, null); + const alfrescoApiService = TestBed.inject(AlfrescoApiService); + const service = new SearchHeaderQueryBuilderService(buildConfig(config), alfrescoApiService, null); - const category = service.getCategoryForColumn('fake-key-1'); - expect(category).not.toBeNull(); - expect(category).not.toBeUndefined(); - expect(category.columnKey).toBe('fake-key-1'); + const category = service.getCategoryForColumn('fake-key-1'); + expect(category).not.toBeNull(); + expect(category).not.toBeUndefined(); + expect(category.columnKey).toBe('fake-key-1'); + }); }); it('should have empty user query by default', () => { - const alfrescoApiService = TestBed.inject(AlfrescoApiService); - const builder = new SearchHeaderQueryBuilderService(buildConfig({}), alfrescoApiService, null); - expect(builder.userQuery).toBe(''); + TestBed.runInInjectionContext(() => { + const alfrescoApiService = TestBed.inject(AlfrescoApiService); + const builder = new SearchHeaderQueryBuilderService(buildConfig({}), alfrescoApiService, null); + expect(builder.userQuery).toBe(''); + }); }); it('should add the extra filter for the parent node', () => { - const config: SearchConfiguration = { - categories: [{ id: 'cat1', enabled: true } as any, { id: 'cat2', enabled: true } as any], - filterQueries: [{ query: 'query1' }, { query: 'query2' }] - }; + TestBed.runInInjectionContext(() => { + const config: SearchConfiguration = { + categories: [{ id: 'cat1', enabled: true } as any, { id: 'cat2', enabled: true } as any], + filterQueries: [{ query: 'query1' }, { query: 'query2' }] + }; - const expectedResult = [{ query: 'PARENT:"workspace://SpacesStore/fake-node-id"' }]; + const expectedResult = [{ query: 'PARENT:"workspace://SpacesStore/fake-node-id"' }]; - const alfrescoApiService = TestBed.inject(AlfrescoApiService); - const searchHeaderService = new SearchHeaderQueryBuilderService(buildConfig(config), alfrescoApiService, null); + const alfrescoApiService = TestBed.inject(AlfrescoApiService); + const searchHeaderService = new SearchHeaderQueryBuilderService(buildConfig(config), alfrescoApiService, null); - searchHeaderService.setCurrentRootFolderId('fake-node-id'); + searchHeaderService.setCurrentRootFolderId('fake-node-id'); - expect(searchHeaderService.filterQueries).toEqual(expectedResult, 'Filters are not as expected'); + expect(searchHeaderService.filterQueries).toEqual(expectedResult, 'Filters are not as expected'); + }); }); it('should not add again the parent filter if that node is already added', () => { - const expectedResult = [{ query: 'PARENT:"workspace://SpacesStore/fake-node-id"' }]; + TestBed.runInInjectionContext(() => { + const expectedResult = [{ query: 'PARENT:"workspace://SpacesStore/fake-node-id"' }]; - const config: SearchConfiguration = { - categories: [{ id: 'cat1', enabled: true } as any, { id: 'cat2', enabled: true } as any], - filterQueries: expectedResult - }; + const config: SearchConfiguration = { + categories: [{ id: 'cat1', enabled: true } as any, { id: 'cat2', enabled: true } as any], + filterQueries: expectedResult + }; - const alfrescoApiService = TestBed.inject(AlfrescoApiService); - const searchHeaderService = new SearchHeaderQueryBuilderService(buildConfig(config), alfrescoApiService, null); + const alfrescoApiService = TestBed.inject(AlfrescoApiService); + const searchHeaderService = new SearchHeaderQueryBuilderService(buildConfig(config), alfrescoApiService, null); - searchHeaderService.setCurrentRootFolderId('fake-node-id'); + searchHeaderService.setCurrentRootFolderId('fake-node-id'); - expect(searchHeaderService.filterQueries).toEqual(expectedResult, 'Filters are not as expected'); + expect(searchHeaderService.filterQueries).toEqual(expectedResult, 'Filters are not as expected'); + }); }); it('should not add duplicate column names in activeFilters', () => { - const activeFilter = 'FakeColumn'; + TestBed.runInInjectionContext(() => { + const activeFilter = 'FakeColumn'; - const config: SearchConfiguration = { - categories: [{ id: 'cat1', enabled: true } as any], - filterQueries: [{ query: 'PARENT:"workspace://SpacesStore/fake-node-id' }] - }; + const config: SearchConfiguration = { + categories: [{ id: 'cat1', enabled: true } as any], + filterQueries: [{ query: 'PARENT:"workspace://SpacesStore/fake-node-id' }] + }; - const alfrescoApiService = TestBed.inject(AlfrescoApiService); - const searchHeaderService = new SearchHeaderQueryBuilderService(buildConfig(config), alfrescoApiService, null); + const alfrescoApiService = TestBed.inject(AlfrescoApiService); + const searchHeaderService = new SearchHeaderQueryBuilderService(buildConfig(config), alfrescoApiService, null); - expect(searchHeaderService.activeFilters.length).toBe(0); + expect(searchHeaderService.activeFilters.length).toBe(0); - searchHeaderService.setActiveFilter(activeFilter, 'fake-value'); - searchHeaderService.setActiveFilter(activeFilter, 'fake-value'); + searchHeaderService.setActiveFilter(activeFilter, 'fake-value'); + searchHeaderService.setActiveFilter(activeFilter, 'fake-value'); - expect(searchHeaderService.activeFilters.length).toBe(1); + expect(searchHeaderService.activeFilters.length).toBe(1); + }); }); });