[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', () => {
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);
});
});
});