[AAE-4966] Extensible app config (#6914)

* merge app config from the extensions

* improved service injection in unit tests

* extra unit test

* fix content tests

* update code as per review

* fix lint

* fix lint

* update code and tests

* update schema
This commit is contained in:
Denys Vuika
2021-04-13 14:16:29 +01:00
committed by GitHub
parent bd8242922b
commit 84ce202ad2
54 changed files with 383 additions and 204 deletions

View File

@@ -21,7 +21,7 @@ import { ContentModule, ContentNodeSelectorPanelComponent, DocumentListService }
import { EventEmitter, NO_ERRORS_SCHEMA } from '@angular/core';
import { ProcessTestingModule } from '../testing/process.testing.module';
import { AttachFileWidgetDialogComponent } from './attach-file-widget-dialog.component';
import { setupTestBed, AuthenticationService, SitesService, AlfrescoApiService, AlfrescoApiServiceMock, NodesApiService } from '@alfresco/adf-core';
import { setupTestBed, AuthenticationService, SitesService, AlfrescoApiService, NodesApiService } from '@alfresco/adf-core';
import { AttachFileWidgetDialogComponentData } from './attach-file-widget-dialog-component.interface';
import { of, throwError } from 'rxjs';
import { By } from '@angular/platform-browser';
@@ -53,12 +53,11 @@ describe('AttachFileWidgetDialogComponent', () => {
setupTestBed({
imports: [
TranslateModule.forRoot(),
ProcessTestingModule,
ContentModule.forRoot()
ContentModule.forRoot(),
ProcessTestingModule
],
providers: [
{ provide: MAT_DIALOG_DATA, useValue: data },
{ provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock },
{ provide: MatDialogRef, useValue: { close: () => of() } }
],
schemas: [NO_ERRORS_SCHEMA]

View File

@@ -15,12 +15,11 @@
* limitations under the License.
*/
import { async } from '@angular/core/testing';
import { async, TestBed } from '@angular/core/testing';
import { mockError, fakeProcessFiltersResponse } from '../../mock';
import { FilterProcessRepresentationModel } from '../models/filter-process.model';
import { ProcessFilterService } from './process-filter.service';
import { AlfrescoApiServiceMock, AlfrescoApiService, AppConfigService,
setupTestBed, CoreModule, StorageService } from '@alfresco/adf-core';
import { AlfrescoApiService, setupTestBed, CoreTestingModule } from '@alfresco/adf-core';
declare let jasmine: any;
@@ -32,13 +31,13 @@ describe('Process filter', () => {
setupTestBed({
imports: [
CoreModule.forRoot()
CoreTestingModule
]
});
beforeEach(() => {
apiService = new AlfrescoApiServiceMock(new AppConfigService(null), new StorageService());
service = new ProcessFilterService(apiService);
apiService = TestBed.inject(AlfrescoApiService);
service = TestBed.inject(ProcessFilterService);
alfrescoApi = apiService.getInstance();
});

View File

@@ -38,9 +38,9 @@ export class ProcessFilterService {
getProcessFilters(appId: number): Observable<FilterProcessRepresentationModel[]> {
return from(this.callApiProcessFilters(appId))
.pipe(
map((response: any) => {
map((response) => {
const filters: FilterProcessRepresentationModel[] = [];
response.data.forEach((filter: FilterProcessRepresentationModel) => {
response.data.forEach((filter) => {
const filterModel = new FilterProcessRepresentationModel(filter);
filters.push(filterModel);
});

View File

@@ -15,13 +15,13 @@
* limitations under the License.
*/
import { async } from '@angular/core/testing';
import { async, TestBed } from '@angular/core/testing';
import { exampleProcess, fakeProcessInstances, mockError, fakeProcessDef, fakeTasksList } from '../../mock';
import { ProcessFilterParamRepresentationModel } from '../models/filter-process.model';
import { ProcessInstanceVariable } from '../models/process-instance-variable.model';
import { ProcessService } from './process.service';
import { AlfrescoApiService, AlfrescoApiServiceMock, AppConfigService,
setupTestBed, CoreModule, StorageService } from '@alfresco/adf-core';
import { AlfrescoApiService, setupTestBed, CoreModule } from '@alfresco/adf-core';
import { ProcessTestingModule } from '../../testing/process.testing.module';
declare let moment: any;
@@ -33,12 +33,13 @@ describe('ProcessService', () => {
setupTestBed({
imports: [
CoreModule.forRoot()
CoreModule.forRoot(),
ProcessTestingModule
]
});
beforeEach(() => {
apiService = new AlfrescoApiServiceMock(new AppConfigService(null), new StorageService());
apiService = TestBed.inject(AlfrescoApiService);
service = new ProcessService(apiService);
alfrescoApi = apiService.getInstance();
});
@@ -47,7 +48,7 @@ describe('ProcessService', () => {
let getProcessInstances: jasmine.Spy;
const filter: ProcessFilterParamRepresentationModel = new ProcessFilterParamRepresentationModel({
const filter = new ProcessFilterParamRepresentationModel({
processDefinitionId: '1',
appDefinitionId: '1',
page: 1,

View File

@@ -15,12 +15,13 @@
* limitations under the License.
*/
import { async } from '@angular/core/testing';
import { async, TestBed } from '@angular/core/testing';
import { fakeAppPromise } from '../../mock';
import { fakeFiltersResponse, fakeAppFilter } from '../../mock/task/task-filters.mock';
import { FilterRepresentationModel } from '../models/filter.model';
import { TaskFilterService } from './task-filter.service';
import { AlfrescoApiServiceMock, LogService, AppConfigService, setupTestBed, CoreModule, StorageService } from '@alfresco/adf-core';
import { setupTestBed, CoreModule } from '@alfresco/adf-core';
import { ProcessTestingModule } from '../../testing/process.testing.module';
declare let jasmine: any;
@@ -30,14 +31,13 @@ describe('Activiti Task filter Service', () => {
setupTestBed({
imports: [
CoreModule.forRoot()
CoreModule.forRoot(),
ProcessTestingModule
]
});
beforeEach(async(() => {
service = new TaskFilterService(
new AlfrescoApiServiceMock(new AppConfigService(null), new StorageService()),
new LogService(new AppConfigService(null)));
service = TestBed.inject(TaskFilterService);
jasmine.Ajax.install();
}));
@@ -127,7 +127,7 @@ describe('Activiti Task filter Service', () => {
});
it('should return the default filters', (done) => {
service.createDefaultFilters(1234).subscribe((res: FilterRepresentationModel []) => {
service.createDefaultFilters(1234).subscribe((res) => {
expect(res).toBeDefined();
expect(res.length).toEqual(4);
expect(res[0].name).toEqual('My Tasks');
@@ -175,7 +175,7 @@ describe('Activiti Task filter Service', () => {
});
it('should be able create filters and add sorting information to the response', (done) => {
service.createDefaultFilters(1234).subscribe((res: FilterRepresentationModel []) => {
service.createDefaultFilters(1234).subscribe((res) => {
expect(res).toBeDefined();
expect(res.length).toEqual(4);
expect(res[0].name).toEqual('My Tasks');
@@ -235,7 +235,7 @@ describe('Activiti Task filter Service', () => {
assignment: 'fake-assignment'
});
service.addFilter(filterFake).subscribe((res: FilterRepresentationModel) => {
service.addFilter(filterFake).subscribe((res) => {
expect(res).toBeDefined();
expect(res.id).not.toEqual(null);
expect(res.name).toEqual('FakeNameFilter');

View File

@@ -15,8 +15,8 @@
* limitations under the License.
*/
import { async } from '@angular/core/testing';
import { UserProcessModel, setupTestBed, CoreModule, StorageService, AlfrescoApiServiceMock, LogService, AppConfigService } from '@alfresco/adf-core';
import { async, TestBed } from '@angular/core/testing';
import { UserProcessModel, setupTestBed, CoreModule } from '@alfresco/adf-core';
import { of } from 'rxjs';
import {
fakeCompletedTaskList,
@@ -34,6 +34,7 @@ import { FilterRepresentationModel, TaskQueryRequestRepresentationModel } from '
import { TaskDetailsModel } from '../models/task-details.model';
import { TaskListService } from './tasklist.service';
import { TaskUpdateRepresentation } from '@alfresco/js-api';
import { ProcessTestingModule } from '../../testing/process.testing.module';
declare let jasmine: any;
@@ -43,14 +44,13 @@ describe('Activiti TaskList Service', () => {
setupTestBed({
imports: [
CoreModule.forRoot()
CoreModule.forRoot(),
ProcessTestingModule
]
});
beforeEach(async(() => {
service = new TaskListService(
new AlfrescoApiServiceMock(new AppConfigService(null), new StorageService()),
new LogService(new AppConfigService(null)));
service = TestBed.inject(TaskListService);
jasmine.Ajax.install();
}));

View File

@@ -35,8 +35,8 @@ import { RouterTestingModule } from '@angular/router/testing';
@NgModule({
imports: [
NoopAnimationsModule,
TranslateModule,
CoreModule,
TranslateModule.forRoot(),
CoreModule.forRoot(),
ProcessModule,
RouterTestingModule
],