[MIGRATION] - Added injectionContext to avoid error NG0203 for unit tests

This commit is contained in:
VitoAlbano
2025-01-24 13:05:01 +00:00
committed by Vito Albano
parent f14f38a059
commit 3cb250eeea
@@ -36,98 +36,110 @@ describe('SearchHeaderQueryBuilderService', () => {
}; };
it('should load the configuration from app config', () => { it('should load the configuration from app config', () => {
const config: SearchConfiguration = { TestBed.runInInjectionContext(() => {
categories: [{ id: 'cat1', enabled: true } as any, { id: 'cat2', enabled: true } as any], const config: SearchConfiguration = {
filterQueries: [{ query: 'query1' }, { query: 'query2' }] categories: [{ id: 'cat1', enabled: true } as any, { id: 'cat2', enabled: true } as any],
}; filterQueries: [{ query: 'query1' }, { query: 'query2' }]
};
const alfrescoApiService = TestBed.inject(AlfrescoApiService); const alfrescoApiService = TestBed.inject(AlfrescoApiService);
const builder = new SearchHeaderQueryBuilderService(buildConfig(config), alfrescoApiService, null); const builder = new SearchHeaderQueryBuilderService(buildConfig(config), alfrescoApiService, null);
builder.categories = []; builder.categories = [];
builder.filterQueries = []; builder.filterQueries = [];
expect(builder.categories.length).toBe(0); expect(builder.categories.length).toBe(0);
expect(builder.filterQueries.length).toBe(0); expect(builder.filterQueries.length).toBe(0);
builder.resetToDefaults(); builder.resetToDefaults();
expect(builder.categories.length).toBe(2); expect(builder.categories.length).toBe(2);
expect(builder.filterQueries.length).toBe(2); expect(builder.filterQueries.length).toBe(2);
});
}); });
it('should return the category assigned to a column key', () => { it('should return the category assigned to a column key', () => {
const config: SearchConfiguration = { TestBed.runInInjectionContext(() => {
categories: [ const config: SearchConfiguration = {
{ id: 'cat1', columnKey: 'fake-key-1', enabled: true } as any, categories: [
{ id: 'cat2', columnKey: 'fake-key-2', enabled: true } as any { 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' }] ],
}; filterQueries: [{ query: 'query1' }, { query: 'query2' }]
};
const alfrescoApiService = TestBed.inject(AlfrescoApiService); const alfrescoApiService = TestBed.inject(AlfrescoApiService);
const service = new SearchHeaderQueryBuilderService(buildConfig(config), alfrescoApiService, null); const service = new SearchHeaderQueryBuilderService(buildConfig(config), alfrescoApiService, null);
const category = service.getCategoryForColumn('fake-key-1'); const category = service.getCategoryForColumn('fake-key-1');
expect(category).not.toBeNull(); expect(category).not.toBeNull();
expect(category).not.toBeUndefined(); expect(category).not.toBeUndefined();
expect(category.columnKey).toBe('fake-key-1'); expect(category.columnKey).toBe('fake-key-1');
});
}); });
it('should have empty user query by default', () => { it('should have empty user query by default', () => {
const alfrescoApiService = TestBed.inject(AlfrescoApiService); TestBed.runInInjectionContext(() => {
const builder = new SearchHeaderQueryBuilderService(buildConfig({}), alfrescoApiService, null); const alfrescoApiService = TestBed.inject(AlfrescoApiService);
expect(builder.userQuery).toBe(''); const builder = new SearchHeaderQueryBuilderService(buildConfig({}), alfrescoApiService, null);
expect(builder.userQuery).toBe('');
});
}); });
it('should add the extra filter for the parent node', () => { it('should add the extra filter for the parent node', () => {
const config: SearchConfiguration = { TestBed.runInInjectionContext(() => {
categories: [{ id: 'cat1', enabled: true } as any, { id: 'cat2', enabled: true } as any], const config: SearchConfiguration = {
filterQueries: [{ query: 'query1' }, { query: 'query2' }] 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 alfrescoApiService = TestBed.inject(AlfrescoApiService);
const searchHeaderService = new SearchHeaderQueryBuilderService(buildConfig(config), alfrescoApiService, null); 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', () => { 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 = { const config: SearchConfiguration = {
categories: [{ id: 'cat1', enabled: true } as any, { id: 'cat2', enabled: true } as any], categories: [{ id: 'cat1', enabled: true } as any, { id: 'cat2', enabled: true } as any],
filterQueries: expectedResult filterQueries: expectedResult
}; };
const alfrescoApiService = TestBed.inject(AlfrescoApiService); const alfrescoApiService = TestBed.inject(AlfrescoApiService);
const searchHeaderService = new SearchHeaderQueryBuilderService(buildConfig(config), alfrescoApiService, null); 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', () => { it('should not add duplicate column names in activeFilters', () => {
const activeFilter = 'FakeColumn'; TestBed.runInInjectionContext(() => {
const activeFilter = 'FakeColumn';
const config: SearchConfiguration = { const config: SearchConfiguration = {
categories: [{ id: 'cat1', enabled: true } as any], categories: [{ id: 'cat1', enabled: true } as any],
filterQueries: [{ query: 'PARENT:"workspace://SpacesStore/fake-node-id' }] filterQueries: [{ query: 'PARENT:"workspace://SpacesStore/fake-node-id' }]
}; };
const alfrescoApiService = TestBed.inject(AlfrescoApiService); const alfrescoApiService = TestBed.inject(AlfrescoApiService);
const searchHeaderService = new SearchHeaderQueryBuilderService(buildConfig(config), alfrescoApiService, null); 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);
});
}); });
}); });