mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-09-09 18:03:21 +00:00
[ADF-5146] Upgrade to Angular 10 (#5834)
* remove useless module * upgrade to angular 8 * upgrade material to v8 * upgrade adf libs * migrate demo shell to v8 * upgrade to angular 9 * upgrade material to v9 * remove hammer * upgrade nx * upgrade datetime picker * upgrade flex layout * update core api * remove entry components * code fixes * upgrade testbed usage * code fixes * remove unnecessary core-js from tests * upgrade CLI * ts config fixes * fix builds * fix testing config * compile fixes * fix demo shell dev setup * fix core tests * fix card view import * upgrade nx * disable smart builds for now * remove fdescribe * restore smart builds * fix issues * unify tsconfigs and fix newly found issues * fix configuration and cleanup package scripts * improved production build from the same config * use ADF libs directly instead of node_modules * disable smart build * single app configuration (angular) * fix core build * fix build scripts * lint fixes * fix linting setup * fix linting rules * various fixes * disable affected libs for unit tests * cleanup insights package.json * simplify smart-build * fix content tests * fix tests * test fixes * fix tests * fix test * fix tests * disable AppExtensionsModule (monaco example) * remove monaco extension module * upgrade bundle check rules * fix insights tests and karma config * fix protractor config * e2e workaround * upgrade puppeteer and split linting and build * reusable resources config * update protractor config * fix after rebase * fix protractor config * fix e2e tsconfig * update e2e setup * Save demoshell artifact on S3 and remove travis cache * Push the libs on S3 and fetch before releasing it * Add deps * Add dependencies among libs and run only affected unit test and build * fix the travis stage name * fix after renaming dev to demoshell * force the order of the projects * remove unused dependencies * fix content e2e script * exit codes fix * add extra exit codes to core e2e * postinstall hook and package cleanup * cleanup packages * remove deprecated code and dependency on router * improve bundle analyzer script * minor code fixes * update spec * fix code after rebase * upgrade protractor after rebase * fix e2e mapping lib * Update tsconfig.e2e.json * update e2e tsconfig * fix angular config * fix protractor runs * cache dist folder for libs * update material selectors for dropdowns * selector fixes * remove duplicated e2e that have unit tests already * fix login selector * fix e2e * fix test * fix import issues * fix selector * cleanup old monaco extension files * cleanup demo shell login * add protractor max retries * disable customisations of protractor * fix login validation * fix after rebase * fix after rebase, disable latest versions of libs * Hide the report tab and rollback the localstorage * rename protractor config back to js * restore lint as part of build * cleanup code * do not copy anything to node_modules on dist test * fix unit tests * config fixes * fix code * fix code after rebase * fix tests * remove existing words from spellcheck * remove useless directive decorators * update package.json after rebase * add js-api back * code fixes * add missing export * update configs * fix code * try fix the sso login test * fix * remove puppeteer unit * fix e2e script * fix * make provider easy * fix routes module before upgrade * fix unit tests * upgrade angular cli * upgrade to angular 10 Co-authored-by: maurizio vitale <maurizio.vitale@alfresco.com> Co-authored-by: Eugenio Romano <eugenio.romano@alfresco.com> Co-authored-by: Eugenio Romano <eromano@users.noreply.github.com>
This commit is contained in:
co-authored by
maurizio vitale
Eugenio Romano
Eugenio Romano
parent
2f0a585273
commit
cd2b489100
@@ -64,8 +64,8 @@ describe('AppListCloudComponent', () => {
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(AppListCloudComponent);
|
||||
component = fixture.componentInstance;
|
||||
alfrescoApiService = TestBed.get(AlfrescoApiService);
|
||||
appsProcessCloudService = TestBed.get(AppsProcessCloudService);
|
||||
alfrescoApiService = TestBed.inject(AlfrescoApiService);
|
||||
appsProcessCloudService = TestBed.inject(AppsProcessCloudService);
|
||||
|
||||
spyOn(alfrescoApiService, 'getInstance').and.returnValue(mock);
|
||||
getAppsSpy = spyOn(appsProcessCloudService, 'getDeployedApplicationsByStatus').and.returnValue(of(fakeApplicationInstance));
|
||||
|
||||
@@ -46,9 +46,9 @@ describe('AppsProcessCloudService', () => {
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
service = TestBed.get(AppsProcessCloudService);
|
||||
appConfigService = TestBed.get(AppConfigService);
|
||||
apiService = TestBed.get(AlfrescoApiService);
|
||||
service = TestBed.inject(AppsProcessCloudService);
|
||||
appConfigService = TestBed.inject(AppConfigService);
|
||||
apiService = TestBed.inject(AlfrescoApiService);
|
||||
spyOn(apiService, 'getInstance').and.returnValue(apiMock);
|
||||
});
|
||||
|
||||
|
||||
@@ -66,8 +66,7 @@ describe('FormCloudComponent', () => {
|
||||
|
||||
@NgModule({
|
||||
declarations: [CustomWidget],
|
||||
exports: [CustomWidget],
|
||||
entryComponents: [CustomWidget]
|
||||
exports: [CustomWidget]
|
||||
})
|
||||
class CustomUploadModule { }
|
||||
|
||||
@@ -75,7 +74,7 @@ describe('FormCloudComponent', () => {
|
||||
const resolver = formRenderingService.getComponentTypeResolver(type);
|
||||
const widgetType = resolver(null);
|
||||
|
||||
const factoryResolver: ComponentFactoryResolver = TestBed.get(ComponentFactoryResolver);
|
||||
const factoryResolver: ComponentFactoryResolver = TestBed.inject(ComponentFactoryResolver);
|
||||
const factory = factoryResolver.resolveComponentFactory(widgetType);
|
||||
const componentRef = factory.create(injector);
|
||||
|
||||
@@ -107,15 +106,15 @@ describe('FormCloudComponent', () => {
|
||||
});
|
||||
|
||||
beforeEach(async(() => {
|
||||
formRenderingService = TestBed.get(CloudFormRenderingService);
|
||||
formCloudService = TestBed.get(FormCloudService);
|
||||
formRenderingService = TestBed.inject(CloudFormRenderingService);
|
||||
formCloudService = TestBed.inject(FormCloudService);
|
||||
|
||||
translateService = TestBed.get(TranslateService);
|
||||
translateService = TestBed.inject(TranslateService);
|
||||
|
||||
visibilityService = TestBed.get(WidgetVisibilityService);
|
||||
visibilityService = TestBed.inject(WidgetVisibilityService);
|
||||
spyOn(visibilityService, 'refreshVisibility').and.callThrough();
|
||||
|
||||
const appConfigService = TestBed.get(AppConfigService);
|
||||
const appConfigService = TestBed.inject(AppConfigService);
|
||||
spyOn(appConfigService, 'get').and.returnValue([]);
|
||||
|
||||
fixture = TestBed.createComponent(FormCloudComponent);
|
||||
@@ -1048,7 +1047,7 @@ describe('FormCloudComponent', () => {
|
||||
|
||||
class FormCloudWithCustomOutComesComponent {
|
||||
|
||||
@ViewChild('adfCloudForm')
|
||||
@ViewChild('adfCloudForm', { static: true })
|
||||
adfCloudForm: FormCloudComponent;
|
||||
|
||||
onCustomButtonOneClick() { }
|
||||
@@ -1091,7 +1090,9 @@ describe('FormCloudWithCustomOutComesComponent', () => {
|
||||
fixture.destroy();
|
||||
});
|
||||
|
||||
it('should be able to inject custom outcomes and click on custom outcomes', () => {
|
||||
it('should be able to inject custom outcomes and click on custom outcomes', async(() => {
|
||||
fixture.detectChanges();
|
||||
|
||||
const onCustomButtonOneSpy = spyOn(customComponent, 'onCustomButtonOneClick').and.callThrough();
|
||||
const buttonOneBtn = debugElement.query(By.css('#adf-custom-outcome-1'));
|
||||
const buttonTwoBtn = debugElement.query(By.css('#adf-custom-outcome-2'));
|
||||
@@ -1099,8 +1100,10 @@ describe('FormCloudWithCustomOutComesComponent', () => {
|
||||
expect(buttonTwoBtn).not.toBeNull();
|
||||
|
||||
buttonOneBtn.nativeElement.click();
|
||||
fixture.detectChanges();
|
||||
|
||||
expect(onCustomButtonOneSpy).toHaveBeenCalled();
|
||||
expect(buttonOneBtn.nativeElement.innerText).toBe('CUSTOM-BUTTON-1');
|
||||
expect(buttonTwoBtn.nativeElement.innerText).toBe('CUSTOM-BUTTON-2');
|
||||
});
|
||||
}));
|
||||
});
|
||||
|
||||
+2
-4
@@ -18,7 +18,6 @@
|
||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { setupTestBed } from '@alfresco/adf-core';
|
||||
import { ProcessServiceCloudTestingModule } from '../../testing/process-service-cloud.testing.module';
|
||||
import { StartTaskCloudTestingModule } from '../../task/start-task/testing/start-task-cloud.testing.module';
|
||||
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { FormDefinitionSelectorCloudComponent } from './form-definition-selector-cloud.component';
|
||||
import { By } from '@angular/platform-browser';
|
||||
@@ -36,8 +35,7 @@ describe('FormDefinitionCloudComponent', () => {
|
||||
setupTestBed({
|
||||
imports: [
|
||||
TranslateModule.forRoot(),
|
||||
ProcessServiceCloudTestingModule,
|
||||
StartTaskCloudTestingModule
|
||||
ProcessServiceCloudTestingModule
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
});
|
||||
@@ -45,7 +43,7 @@ describe('FormDefinitionCloudComponent', () => {
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(FormDefinitionSelectorCloudComponent);
|
||||
element = fixture.nativeElement;
|
||||
service = TestBed.get(FormDefinitionSelectorCloudService);
|
||||
service = TestBed.inject(FormDefinitionSelectorCloudService);
|
||||
getFormsSpy = spyOn(service, 'getStandAloneTaskForms').and.returnValue(of([{ id: 'fake-form', name: 'fakeForm' }]));
|
||||
});
|
||||
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@
|
||||
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
||||
import { Observable } from 'rxjs';
|
||||
import { FormDefinitionSelectorCloudService } from '../services/form-definition-selector-cloud.service';
|
||||
import { MatSelectChange } from '@angular/material';
|
||||
import { MatSelectChange } from '@angular/material/select';
|
||||
import { FormRepresentation } from '../../services/form-fields.interfaces';
|
||||
|
||||
@Component({
|
||||
|
||||
+4
-4
@@ -119,15 +119,15 @@ describe('AttachFileCloudWidgetComponent', () => {
|
||||
});
|
||||
|
||||
beforeEach(async(() => {
|
||||
downloadService = TestBed.get(DownloadService);
|
||||
downloadService = TestBed.inject(DownloadService);
|
||||
fixture = TestBed.createComponent(AttachFileCloudWidgetComponent);
|
||||
widget = fixture.componentInstance;
|
||||
element = fixture.nativeElement;
|
||||
processCloudContentService = TestBed.get(ProcessCloudContentService);
|
||||
contentCloudNodeSelectorService = TestBed.get(
|
||||
processCloudContentService = TestBed.inject(ProcessCloudContentService);
|
||||
contentCloudNodeSelectorService = TestBed.inject(
|
||||
ContentCloudNodeSelectorService
|
||||
);
|
||||
formService = TestBed.get(FormService);
|
||||
formService = TestBed.inject(FormService);
|
||||
}));
|
||||
|
||||
afterEach(() => {
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@
|
||||
/* tslint:disable:component-selector */
|
||||
|
||||
import { Component, OnInit, ViewEncapsulation, OnDestroy } from '@angular/core';
|
||||
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material';
|
||||
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
||||
import moment from 'moment-es6';
|
||||
import { Moment } from 'moment';
|
||||
import { Subject } from 'rxjs';
|
||||
|
||||
+17
-16
@@ -40,9 +40,9 @@ describe('DropdownCloudWidgetComponent', () => {
|
||||
let fixture: ComponentFixture<DropdownCloudWidgetComponent>;
|
||||
let element: HTMLElement;
|
||||
|
||||
function openSelect(fieldId) {
|
||||
const dropDownElement: any = element.querySelector(fieldId);
|
||||
dropDownElement.click();
|
||||
function openSelect(_selector?: string) {
|
||||
const dropdown: any = element.querySelector('.mat-select-trigger');
|
||||
dropdown.click();
|
||||
fixture.detectChanges();
|
||||
}
|
||||
|
||||
@@ -63,9 +63,9 @@ describe('DropdownCloudWidgetComponent', () => {
|
||||
widget = fixture.componentInstance;
|
||||
element = fixture.nativeElement;
|
||||
|
||||
formService = TestBed.get(FormService);
|
||||
visibilityService = TestBed.get(WidgetVisibilityService);
|
||||
formCloudService = TestBed.get(FormCloudService);
|
||||
formService = TestBed.inject(FormService);
|
||||
visibilityService = TestBed.inject(WidgetVisibilityService);
|
||||
formCloudService = TestBed.inject(FormCloudService);
|
||||
|
||||
widget.field = new FormFieldModel(new FormModel());
|
||||
}));
|
||||
@@ -167,7 +167,7 @@ describe('DropdownCloudWidgetComponent', () => {
|
||||
}
|
||||
});
|
||||
|
||||
const dropdownSpy = spyOn(formCloudService, 'getDropDownJsonData').and.returnValue(of([
|
||||
spyOn(formCloudService, 'getDropDownJsonData').and.returnValue(of([
|
||||
{
|
||||
id: 'opt1',
|
||||
name: 'default1_value'
|
||||
@@ -180,12 +180,13 @@ describe('DropdownCloudWidgetComponent', () => {
|
||||
|
||||
widget.ngOnInit();
|
||||
fixture.detectChanges();
|
||||
openSelect('#dropdown-id');
|
||||
|
||||
openSelect();
|
||||
fixture.detectChanges();
|
||||
|
||||
fixture.whenStable().then(() => {
|
||||
const optOne: any = fixture.debugElement.queryAll(By.css('[id="opt1"]'));
|
||||
expect(dropdownSpy).toHaveBeenCalled();
|
||||
expect(optOne[0].nativeElement.className).toBe('mat-option ng-star-inserted mat-active');
|
||||
const options = fixture.debugElement.queryAll(By.css('.mat-option-text'));
|
||||
expect(options[0].nativeElement.innerText).toBe('default1_value');
|
||||
done();
|
||||
});
|
||||
});
|
||||
@@ -201,7 +202,7 @@ describe('DropdownCloudWidgetComponent', () => {
|
||||
value: 'opt1'
|
||||
});
|
||||
|
||||
const dropdownSpy = spyOn(formCloudService, 'getDropDownJsonData').and.returnValue(of([
|
||||
spyOn(formCloudService, 'getDropDownJsonData').and.returnValue(of([
|
||||
{
|
||||
id: 'opt1',
|
||||
name: 'default1_value'
|
||||
@@ -215,12 +216,12 @@ describe('DropdownCloudWidgetComponent', () => {
|
||||
widget.ngOnInit();
|
||||
fixture.detectChanges();
|
||||
|
||||
openSelect('#dropdown-id');
|
||||
openSelect();
|
||||
fixture.detectChanges();
|
||||
|
||||
fixture.whenStable().then(() => {
|
||||
const optOne: any = fixture.debugElement.queryAll(By.css('[id="opt1"]'));
|
||||
expect(dropdownSpy).toHaveBeenCalled();
|
||||
expect(optOne[0].nativeElement.className).toBe('mat-option ng-star-inserted mat-active');
|
||||
const options = fixture.debugElement.queryAll(By.css('.mat-option-text'));
|
||||
expect(options[0].nativeElement.innerText).toBe('default1_value');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -59,14 +59,6 @@ import { GroupCloudModule } from '../group/group-cloud.module';
|
||||
PeopleCloudWidgetComponent,
|
||||
GroupCloudWidgetComponent
|
||||
],
|
||||
entryComponents: [
|
||||
UploadCloudWidgetComponent,
|
||||
DropdownCloudWidgetComponent,
|
||||
AttachFileCloudWidgetComponent,
|
||||
DateCloudWidgetComponent,
|
||||
PeopleCloudWidgetComponent,
|
||||
GroupCloudWidgetComponent
|
||||
],
|
||||
exports: [
|
||||
FormCloudComponent,
|
||||
UploadCloudWidgetComponent,
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
|
||||
import { Injectable } from '@angular/core';
|
||||
import { AlfrescoApiService } from '@alfresco/adf-core';
|
||||
import { MatDialog } from '@angular/material';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { ContentNodeSelectorComponent, ContentNodeSelectorComponentData } from '@alfresco/adf-content-services';
|
||||
import { Node } from '@alfresco/js-api';
|
||||
import { Observable, Subject } from 'rxjs';
|
||||
|
||||
@@ -47,8 +47,8 @@ describe('Form Cloud service', () => {
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
service = TestBed.get(FormCloudService);
|
||||
apiService = TestBed.get(AlfrescoApiService);
|
||||
service = TestBed.inject(FormCloudService);
|
||||
apiService = TestBed.inject(AlfrescoApiService);
|
||||
spyOn(apiService, 'getInstance').and.returnValue({ oauth2Auth: oauth2Auth });
|
||||
});
|
||||
|
||||
|
||||
+2
-2
@@ -68,8 +68,8 @@ describe('Form Definition Selector Cloud Service', () => {
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
service = TestBed.get(FormDefinitionSelectorCloudService);
|
||||
apiService = TestBed.get(AlfrescoApiService);
|
||||
service = TestBed.inject(FormDefinitionSelectorCloudService);
|
||||
apiService = TestBed.inject(AlfrescoApiService);
|
||||
spyOn(apiService, 'getInstance').and.returnValue({ oauth2Auth: oauth2Auth });
|
||||
});
|
||||
|
||||
|
||||
@@ -64,8 +64,8 @@ describe('GroupCloudComponent', () => {
|
||||
component = fixture.componentInstance;
|
||||
element = fixture.nativeElement;
|
||||
|
||||
identityGroupService = TestBed.get(IdentityGroupService);
|
||||
alfrescoApiService = TestBed.get(AlfrescoApiService);
|
||||
identityGroupService = TestBed.inject(IdentityGroupService);
|
||||
alfrescoApiService = TestBed.inject(AlfrescoApiService);
|
||||
|
||||
spyOn(alfrescoApiService, 'getInstance').and.returnValue(mock);
|
||||
});
|
||||
|
||||
@@ -33,8 +33,7 @@ import {
|
||||
import { FormControl } from '@angular/forms';
|
||||
import { trigger, state, style, transition, animate } from '@angular/animations';
|
||||
import { Observable, of, BehaviorSubject, Subject } from 'rxjs';
|
||||
import { debounceTime } from 'rxjs/internal/operators/debounceTime';
|
||||
import { distinctUntilChanged, switchMap, mergeMap, filter, tap, map, takeUntil } from 'rxjs/operators';
|
||||
import { distinctUntilChanged, switchMap, mergeMap, filter, tap, map, takeUntil, debounceTime } from 'rxjs/operators';
|
||||
import { IdentityGroupModel, IdentityGroupService, LogService } from '@alfresco/adf-core';
|
||||
import { ComponentSelectionMode } from '../../types';
|
||||
|
||||
|
||||
@@ -16,29 +16,45 @@
|
||||
*/
|
||||
|
||||
import { NgModule } from '@angular/core';
|
||||
import {
|
||||
MAT_LABEL_GLOBAL_OPTIONS, MatAutocompleteModule, MatButtonModule, MatCardModule, MatCheckboxModule,
|
||||
MatChipsModule, MatDatepickerModule, MatDialogModule, MatGridListModule, MatIconModule,
|
||||
MatInputModule, MatListModule, MatNativeDateModule, MatOptionModule, MatProgressSpinnerModule, MatRadioModule,
|
||||
MatRippleModule, MatSelectModule, MatSlideToggleModule, MatTableModule, MatTabsModule,
|
||||
MatTooltipModule, MatMenuModule, MatExpansionModule
|
||||
} from '@angular/material';
|
||||
|
||||
export function modules() {
|
||||
return [
|
||||
MatAutocompleteModule, MatButtonModule, MatCardModule, MatDialogModule,
|
||||
MatCheckboxModule, MatDatepickerModule, MatGridListModule, MatIconModule, MatInputModule,
|
||||
MatListModule, MatOptionModule, MatRadioModule, MatSelectModule, MatSlideToggleModule, MatTableModule,
|
||||
MatTabsModule, MatProgressSpinnerModule, MatNativeDateModule, MatRippleModule, MatTooltipModule,
|
||||
MatChipsModule, MatMenuModule, MatExpansionModule
|
||||
];
|
||||
}
|
||||
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatCardModule } from '@angular/material/card';
|
||||
import { MatCheckboxModule } from '@angular/material/checkbox';
|
||||
import { MatChipsModule } from '@angular/material/chips';
|
||||
import { MAT_LABEL_GLOBAL_OPTIONS, MatNativeDateModule, MatOptionModule, MatRippleModule } from '@angular/material/core';
|
||||
import { MatDatepickerModule } from '@angular/material/datepicker';
|
||||
import { MatDialogModule } from '@angular/material/dialog';
|
||||
import { MatExpansionModule } from '@angular/material/expansion';
|
||||
import { MatGridListModule } from '@angular/material/grid-list';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
import { MatInputModule } from '@angular/material/input';
|
||||
import { MatListModule } from '@angular/material/list';
|
||||
import { MatMenuModule } from '@angular/material/menu';
|
||||
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
||||
import { MatRadioModule } from '@angular/material/radio';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
||||
import { MatTableModule } from '@angular/material/table';
|
||||
import { MatTabsModule } from '@angular/material/tabs';
|
||||
import { MatTooltipModule } from '@angular/material/tooltip';
|
||||
|
||||
@NgModule({
|
||||
providers: [
|
||||
{provide: MAT_LABEL_GLOBAL_OPTIONS, useValue: { float: 'never' }}
|
||||
],
|
||||
imports: modules(),
|
||||
exports: modules()
|
||||
imports: [
|
||||
MatAutocompleteModule, MatButtonModule, MatCardModule, MatDialogModule,
|
||||
MatCheckboxModule, MatDatepickerModule, MatGridListModule, MatIconModule, MatInputModule,
|
||||
MatListModule, MatOptionModule, MatRadioModule, MatSelectModule, MatSlideToggleModule, MatTableModule,
|
||||
MatTabsModule, MatProgressSpinnerModule, MatNativeDateModule, MatRippleModule, MatTooltipModule,
|
||||
MatChipsModule, MatMenuModule, MatExpansionModule
|
||||
],
|
||||
exports: [
|
||||
MatAutocompleteModule, MatButtonModule, MatCardModule, MatDialogModule,
|
||||
MatCheckboxModule, MatDatepickerModule, MatGridListModule, MatIconModule, MatInputModule,
|
||||
MatListModule, MatOptionModule, MatRadioModule, MatSelectModule, MatSlideToggleModule, MatTableModule,
|
||||
MatTabsModule, MatProgressSpinnerModule, MatNativeDateModule, MatRippleModule, MatTooltipModule,
|
||||
MatChipsModule, MatMenuModule, MatExpansionModule
|
||||
]
|
||||
})
|
||||
export class MaterialModule {}
|
||||
|
||||
@@ -68,8 +68,8 @@ describe('PeopleCloudComponent', () => {
|
||||
fixture = TestBed.createComponent(PeopleCloudComponent);
|
||||
component = fixture.componentInstance;
|
||||
|
||||
identityService = TestBed.get(IdentityUserService);
|
||||
alfrescoApiService = TestBed.get(AlfrescoApiService);
|
||||
identityService = TestBed.inject(IdentityUserService);
|
||||
alfrescoApiService = TestBed.inject(AlfrescoApiService);
|
||||
|
||||
spyOn(alfrescoApiService, 'getInstance').and.returnValue(mock);
|
||||
});
|
||||
|
||||
@@ -45,7 +45,7 @@ describe('ProcessNameCloudPipe', () => {
|
||||
});
|
||||
|
||||
beforeEach(async(() => {
|
||||
const localizedDatePipe = TestBed.get(LocalizedDatePipe);
|
||||
const localizedDatePipe = TestBed.inject(LocalizedDatePipe);
|
||||
processNamePipe = new ProcessNameCloudPipe(localizedDatePipe);
|
||||
}));
|
||||
|
||||
|
||||
+1
-1
@@ -52,7 +52,7 @@ describe('CancelProcessDirective', () => {
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(TestComponent);
|
||||
component = fixture.componentInstance;
|
||||
identityUserService = TestBed.get(IdentityUserService);
|
||||
identityUserService = TestBed.inject(IdentityUserService);
|
||||
spyOn(identityUserService, 'getCurrentUserInfo').and.returnValue({username: 'usermock'});
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
@@ -22,6 +22,7 @@ import { Subject } from 'rxjs';
|
||||
import { ProcessInstanceCloud } from '../start-process/models/process-instance-cloud.model';
|
||||
|
||||
@Directive({
|
||||
// tslint:disable-next-line: directive-selector
|
||||
selector: '[adf-cloud-cancel-process]'
|
||||
})
|
||||
export class CancelProcessDirective implements OnInit, OnDestroy {
|
||||
|
||||
+4
-4
@@ -21,7 +21,7 @@ import { By } from '@angular/platform-browser';
|
||||
|
||||
import { setupTestBed } from '@alfresco/adf-core';
|
||||
import { ProcessServiceCloudTestingModule } from '../../../testing/process-service-cloud.testing.module';
|
||||
import { MatDialog } from '@angular/material';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { of } from 'rxjs';
|
||||
import { ProcessFilterDialogCloudComponent } from './process-filter-dialog-cloud.component';
|
||||
import { EditProcessFilterCloudComponent } from './edit-process-filter-cloud.component';
|
||||
@@ -72,9 +72,9 @@ describe('EditProcessFilterCloudComponent', () => {
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(EditProcessFilterCloudComponent);
|
||||
component = fixture.componentInstance;
|
||||
service = TestBed.get(ProcessFilterCloudService);
|
||||
appsService = TestBed.get(AppsProcessCloudService);
|
||||
dialog = TestBed.get(MatDialog);
|
||||
service = TestBed.inject(ProcessFilterCloudService);
|
||||
appsService = TestBed.inject(AppsProcessCloudService);
|
||||
dialog = TestBed.inject(MatDialog);
|
||||
spyOn(dialog, 'open').and.returnValue({
|
||||
afterClosed() {
|
||||
return of({
|
||||
|
||||
+2
-1
@@ -17,7 +17,8 @@
|
||||
|
||||
import { Component, Input, Output, EventEmitter, OnInit, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';
|
||||
import { FormGroup, FormBuilder, AbstractControl } from '@angular/forms';
|
||||
import { MatDialog, DateAdapter } from '@angular/material';
|
||||
import { DateAdapter } from '@angular/material/core';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { debounceTime, filter, takeUntil, finalize, switchMap } from 'rxjs/operators';
|
||||
import { Subject, Observable } from 'rxjs';
|
||||
import moment from 'moment-es6';
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
|
||||
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
||||
import { ProcessFilterDialogCloudComponent } from './process-filter-dialog-cloud.component';
|
||||
import { setupTestBed } from '@alfresco/adf-core';
|
||||
import { ProcessServiceCloudTestingModule } from '../../../testing/process-service-cloud.testing.module';
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { FormBuilder, FormGroup, AbstractControl, Validators } from '@angular/forms';
|
||||
|
||||
@Component({
|
||||
|
||||
+1
-1
@@ -92,7 +92,7 @@ describe('ProcessFiltersCloudComponent', () => {
|
||||
fixture = TestBed.createComponent(ProcessFiltersCloudComponent);
|
||||
component = fixture.componentInstance;
|
||||
|
||||
processFilterService = TestBed.get(ProcessFilterCloudService);
|
||||
processFilterService = TestBed.inject(ProcessFilterCloudService);
|
||||
});
|
||||
|
||||
it('should attach specific icon for each filter if hasIcon is true', async(() => {
|
||||
|
||||
+1
-2
@@ -26,7 +26,7 @@ import { HttpClientModule } from '@angular/common/http';
|
||||
import { EditProcessFilterCloudComponent } from './components/edit-process-filter-cloud.component';
|
||||
import { ProcessFilterDialogCloudComponent } from './components/process-filter-dialog-cloud.component';
|
||||
import { AppListCloudModule } from './../../app/app-list-cloud.module';
|
||||
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material';
|
||||
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -42,7 +42,6 @@ import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material';
|
||||
],
|
||||
declarations: [ProcessFiltersCloudComponent, EditProcessFilterCloudComponent, ProcessFilterDialogCloudComponent],
|
||||
exports: [ProcessFiltersCloudComponent, EditProcessFilterCloudComponent, ProcessFilterDialogCloudComponent],
|
||||
entryComponents: [ProcessFilterDialogCloudComponent],
|
||||
providers: [
|
||||
{ provide: DateAdapter, useClass: MomentDateAdapter },
|
||||
{ provide: MAT_DATE_FORMATS, useValue: MOMENT_DATE_FORMATS }
|
||||
|
||||
+2
-2
@@ -52,10 +52,10 @@ describe('ProcessFilterCloudService', () => {
|
||||
});
|
||||
|
||||
beforeEach(async(() => {
|
||||
service = TestBed.get(ProcessFilterCloudService);
|
||||
service = TestBed.inject(ProcessFilterCloudService);
|
||||
|
||||
const preferenceCloudService = service.preferenceService;
|
||||
const identityUserService = TestBed.get(IdentityUserService);
|
||||
const identityUserService = TestBed.inject(IdentityUserService);
|
||||
|
||||
createPreferenceSpy = spyOn(preferenceCloudService, 'createPreference').and.returnValue(of(fakeProcessCloudFilters));
|
||||
updatePreferenceSpy = spyOn(preferenceCloudService, 'updatePreference').and.returnValue(of(fakeProcessCloudFilters));
|
||||
|
||||
+2
-2
@@ -54,8 +54,8 @@ describe('ProcessHeaderCloudComponent', () => {
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ProcessHeaderCloudComponent);
|
||||
component = fixture.componentInstance;
|
||||
service = TestBed.get(ProcessCloudService);
|
||||
appConfigService = TestBed.get(AppConfigService);
|
||||
service = TestBed.inject(ProcessCloudService);
|
||||
appConfigService = TestBed.inject(AppConfigService);
|
||||
spyOn(service, 'getProcessInstanceById').and.returnValue(of(processInstanceDetailsCloudMock));
|
||||
component.appName = 'myApp';
|
||||
component.processInstanceId = 'sdfsdf-323';
|
||||
|
||||
+2
-2
@@ -76,8 +76,8 @@ describe('ProcessListCloudComponent', () => {
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
appConfig = TestBed.get(AppConfigService);
|
||||
processListCloudService = TestBed.get(ProcessListCloudService);
|
||||
appConfig = TestBed.inject(AppConfigService);
|
||||
processListCloudService = TestBed.inject(ProcessListCloudService);
|
||||
fixture = TestBed.createComponent(ProcessListCloudComponent);
|
||||
component = fixture.componentInstance;
|
||||
appConfig.config = Object.assign(appConfig.config, {
|
||||
|
||||
+9
-13
@@ -22,17 +22,13 @@ import { of, throwError } from 'rxjs';
|
||||
import { StartProcessCloudService } from '../services/start-process-cloud.service';
|
||||
import { FormCloudService } from '../../../form/services/form-cloud.service';
|
||||
import { StartProcessCloudComponent } from './start-process-cloud.component';
|
||||
import {
|
||||
MatCardModule,
|
||||
MatOptionModule,
|
||||
MatAutocompleteModule,
|
||||
MatIconModule,
|
||||
MatButtonModule,
|
||||
MatFormFieldModule,
|
||||
MatInputModule,
|
||||
MatRippleModule,
|
||||
MatCommonModule
|
||||
} from '@angular/material';
|
||||
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatCardModule } from '@angular/material/card';
|
||||
import { MatOptionModule, MatRippleModule, MatCommonModule } from '@angular/material/core';
|
||||
import { MatFormFieldModule } from '@angular/material/form-field';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
import { MatInputModule } from '@angular/material/input';
|
||||
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
||||
|
||||
import {
|
||||
@@ -97,8 +93,8 @@ describe('StartProcessCloudComponent', () => {
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
processService = TestBed.get(StartProcessCloudService);
|
||||
formCloudService = TestBed.get(FormCloudService);
|
||||
processService = TestBed.inject(StartProcessCloudService);
|
||||
formCloudService = TestBed.inject(FormCloudService);
|
||||
fixture = TestBed.createComponent(StartProcessCloudComponent);
|
||||
component = fixture.componentInstance;
|
||||
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ import { ProcessInstanceCloud } from '../models/process-instance-cloud.model';
|
||||
import { StartProcessCloudService } from '../services/start-process-cloud.service';
|
||||
import { FormControl, Validators, FormGroup, AbstractControl, FormBuilder, ValidatorFn } from '@angular/forms';
|
||||
import { FormModel, ContentLinkModel } from '@alfresco/adf-core';
|
||||
import { MatAutocompleteTrigger } from '@angular/material';
|
||||
import { MatAutocompleteTrigger } from '@angular/material/autocomplete';
|
||||
import { ProcessPayloadCloud } from '../models/process-payload-cloud.model';
|
||||
import { debounceTime, takeUntil, switchMap, filter, distinctUntilChanged, tap } from 'rxjs/operators';
|
||||
import { ProcessDefinitionCloud } from '../models/process-definition-cloud.model';
|
||||
|
||||
+2
-2
@@ -46,8 +46,8 @@ describe('StartProcessCloudService', () => {
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
service = TestBed.get(StartProcessCloudService);
|
||||
alfrescoApiService = TestBed.get(AlfrescoApiService);
|
||||
service = TestBed.inject(StartProcessCloudService);
|
||||
alfrescoApiService = TestBed.inject(AlfrescoApiService);
|
||||
});
|
||||
|
||||
it('should be able to create a new process', (done) => {
|
||||
|
||||
@@ -18,14 +18,14 @@
|
||||
import { TestBed, async } from '@angular/core/testing';
|
||||
|
||||
import { UserPreferenceCloudService } from './user-preference-cloud.service';
|
||||
import { setupTestBed, AlfrescoApiServiceMock, AlfrescoApiService } from '@alfresco/adf-core';
|
||||
import { setupTestBed, AlfrescoApiService } from '@alfresco/adf-core';
|
||||
import { mockPreferences, getMockPreference, createMockPreference, updateMockPreference } from '../mock/user-preference.mock';
|
||||
import { ProcessServiceCloudTestingModule } from '../testing/process-service-cloud.testing.module';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
|
||||
describe('PreferenceService', () => {
|
||||
let service: UserPreferenceCloudService;
|
||||
let alfrescoApiMock: AlfrescoApiServiceMock;
|
||||
let alfrescoApiMock: AlfrescoApiService;
|
||||
let getInstanceSpy: jasmine.Spy;
|
||||
|
||||
const errorResponse = {
|
||||
@@ -57,8 +57,8 @@ describe('PreferenceService', () => {
|
||||
});
|
||||
|
||||
beforeEach(async(() => {
|
||||
service = TestBed.get(UserPreferenceCloudService);
|
||||
alfrescoApiMock = TestBed.get(AlfrescoApiService);
|
||||
service = TestBed.inject(UserPreferenceCloudService);
|
||||
alfrescoApiMock = TestBed.inject(AlfrescoApiService);
|
||||
getInstanceSpy = spyOn(alfrescoApiMock, 'getInstance').and.returnValue(apiMock(mockPreferences));
|
||||
}));
|
||||
|
||||
|
||||
+3
-3
@@ -35,7 +35,7 @@ describe('ClaimTaskCloudDirective', () => {
|
||||
taskMock = 'test1234';
|
||||
appNameMock = 'simple-app';
|
||||
|
||||
@ViewChild(ClaimTaskCloudDirective)
|
||||
@ViewChild(ClaimTaskCloudDirective, { static: false })
|
||||
claimTaskDirective: ClaimTaskCloudDirective;
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ describe('ClaimTaskCloudDirective', () => {
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
taskCloudService = TestBed.get(TaskCloudService);
|
||||
taskCloudService = TestBed.inject(TaskCloudService);
|
||||
fixture = TestBed.createComponent(TestComponent);
|
||||
fixture.detectChanges();
|
||||
});
|
||||
@@ -116,7 +116,7 @@ describe('Claim Task Directive validation errors', () => {
|
||||
appNameNull = null;
|
||||
taskMock = 'test1234';
|
||||
|
||||
@ViewChild(ClaimTaskCloudDirective)
|
||||
@ViewChild(ClaimTaskCloudDirective, { static: false })
|
||||
claimTaskValidationDirective: ClaimTaskCloudDirective;
|
||||
}
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ describe('CompleteTaskDirective', () => {
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
taskCloudService = TestBed.get(TaskCloudService);
|
||||
taskCloudService = TestBed.inject(TaskCloudService);
|
||||
fixture = TestBed.createComponent(TestComponent);
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
+2
-2
@@ -53,7 +53,7 @@ describe('UnClaimTaskCloudDirective', () => {
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
taskCloudService = TestBed.get(TaskCloudService);
|
||||
taskCloudService = TestBed.inject(TaskCloudService);
|
||||
fixture = TestBed.createComponent(TestComponent);
|
||||
fixture.detectChanges();
|
||||
});
|
||||
@@ -116,7 +116,7 @@ describe('UnClaim Task Directive validation errors', () => {
|
||||
appNameNull = null;
|
||||
taskMock = 'test1234';
|
||||
|
||||
@ViewChild(UnClaimTaskCloudDirective)
|
||||
@ViewChild(UnClaimTaskCloudDirective, { static: false })
|
||||
claimTaskValidationDirective: UnClaimTaskCloudDirective;
|
||||
}
|
||||
|
||||
|
||||
@@ -90,7 +90,7 @@ describe('Task Cloud Service', () => {
|
||||
|
||||
beforeEach(async(() => {
|
||||
alfrescoApiMock = new AlfrescoApiServiceMock(new AppConfigService(null), new StorageService());
|
||||
identityUserService = TestBed.get(IdentityUserService);
|
||||
identityUserService = TestBed.inject(IdentityUserService);
|
||||
spyOn(identityUserService, 'getCurrentUserInfo').and.returnValue(cloudMockUser);
|
||||
service = new TaskCloudService(alfrescoApiMock,
|
||||
new AppConfigService(null),
|
||||
|
||||
+5
-7
@@ -22,7 +22,6 @@ import { of, throwError } from 'rxjs';
|
||||
import { taskDetailsMock } from '../mock/task-details.mock';
|
||||
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { ProcessServiceCloudTestingModule } from './../../../testing/process-service-cloud.testing.module';
|
||||
import { StartTaskCloudTestingModule } from '../testing/start-task-cloud.testing.module';
|
||||
import { FormDefinitionSelectorCloudService } from '../../../form/services/form-definition-selector-cloud.service';
|
||||
import { TaskCloudService } from '../../services/task-cloud.service';
|
||||
import { StartTaskCloudRequestModel } from '../models/start-task-cloud-request.model';
|
||||
@@ -50,8 +49,7 @@ describe('StartTaskCloudComponent', () => {
|
||||
setupTestBed({
|
||||
imports: [
|
||||
TranslateModule.forRoot(),
|
||||
ProcessServiceCloudTestingModule,
|
||||
StartTaskCloudTestingModule
|
||||
ProcessServiceCloudTestingModule
|
||||
],
|
||||
schemas: [ CUSTOM_ELEMENTS_SCHEMA ]
|
||||
});
|
||||
@@ -61,10 +59,10 @@ describe('StartTaskCloudComponent', () => {
|
||||
component = fixture.componentInstance;
|
||||
element = fixture.nativeElement;
|
||||
|
||||
service = TestBed.get(TaskCloudService);
|
||||
identityService = TestBed.get(IdentityUserService);
|
||||
alfrescoApiService = TestBed.get(AlfrescoApiService);
|
||||
formDefinitionSelectorCloudService = TestBed.get(FormDefinitionSelectorCloudService);
|
||||
service = TestBed.inject(TaskCloudService);
|
||||
identityService = TestBed.inject(IdentityUserService);
|
||||
alfrescoApiService = TestBed.inject(AlfrescoApiService);
|
||||
formDefinitionSelectorCloudService = TestBed.inject(FormDefinitionSelectorCloudService);
|
||||
spyOn(alfrescoApiService, 'getInstance').and.returnValue(mock);
|
||||
createNewTaskSpy = spyOn(service, 'createNewTask').and.returnValue(of(taskDetailsMock));
|
||||
spyOn(identityService, 'getCurrentUserInfo').and.returnValue(mockUser);
|
||||
|
||||
+7
-3
@@ -17,13 +17,14 @@
|
||||
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
|
||||
import { StartTaskCloudTestingModule } from '../testing/start-task-cloud.testing.module';
|
||||
import { of, throwError } from 'rxjs';
|
||||
import { taskDetailsMock } from '../mock/task-details.mock';
|
||||
import { TaskDetailsCloudModel } from '../models/task-details-cloud.model';
|
||||
import { HttpErrorResponse } from '@angular/common/http';
|
||||
import { setupTestBed } from '@alfresco/adf-core';
|
||||
import { TaskCloudService } from '../../services/task-cloud.service';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { ProcessServiceCloudTestingModule } from './../../../testing/process-service-cloud.testing.module';
|
||||
|
||||
describe('StartTaskCloudService', () => {
|
||||
|
||||
@@ -31,11 +32,14 @@ describe('StartTaskCloudService', () => {
|
||||
const fakeAppName: string = 'fake-app';
|
||||
|
||||
setupTestBed({
|
||||
imports: [StartTaskCloudTestingModule]
|
||||
imports: [
|
||||
TranslateModule.forRoot(),
|
||||
ProcessServiceCloudTestingModule
|
||||
]
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
service = TestBed.get(TaskCloudService);
|
||||
service = TestBed.inject(TaskCloudService);
|
||||
});
|
||||
|
||||
it('should able to create a new task ', (done) => {
|
||||
|
||||
-48
@@ -1,48 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2019 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { NgModule } from '@angular/core';
|
||||
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FlexLayoutModule } from '@angular/flex-layout';
|
||||
import { MaterialModule } from '../../../material.module';
|
||||
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
||||
import { TemplateModule, TranslateLoaderService, PipeModule } from '@alfresco/adf-core';
|
||||
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
||||
|
||||
import { StartTaskCloudModule } from '../start-task-cloud.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
NoopAnimationsModule,
|
||||
TranslateModule.forRoot({
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderService
|
||||
}
|
||||
}),
|
||||
TemplateModule,
|
||||
FlexLayoutModule,
|
||||
MaterialModule,
|
||||
FormsModule,
|
||||
ReactiveFormsModule,
|
||||
PipeModule,
|
||||
StartTaskCloudModule
|
||||
]
|
||||
})
|
||||
export class StartTaskCloudTestingModule { }
|
||||
+4
-4
@@ -20,7 +20,7 @@ import { SimpleChange } from '@angular/core';
|
||||
import { By } from '@angular/platform-browser';
|
||||
|
||||
import { setupTestBed } from '@alfresco/adf-core';
|
||||
import { MatDialog } from '@angular/material';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { of } from 'rxjs';
|
||||
import { TASK_FILTERS_SERVICE_TOKEN } from '../../../services/cloud-token.service';
|
||||
import { LocalPreferenceCloudService } from '../../../services/local-preference-cloud.service';
|
||||
@@ -60,9 +60,9 @@ describe('EditTaskFilterCloudComponent', () => {
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(EditTaskFilterCloudComponent);
|
||||
component = fixture.componentInstance;
|
||||
service = TestBed.get(TaskFilterCloudService);
|
||||
appsService = TestBed.get(AppsProcessCloudService);
|
||||
dialog = TestBed.get(MatDialog);
|
||||
service = TestBed.inject(TaskFilterCloudService);
|
||||
appsService = TestBed.inject(AppsProcessCloudService);
|
||||
dialog = TestBed.inject(MatDialog);
|
||||
spyOn(dialog, 'open').and.returnValue({ afterClosed: of({
|
||||
action: TaskFilterDialogCloudComponent.ACTION_SAVE,
|
||||
icon: 'icon',
|
||||
|
||||
+2
-1
@@ -17,7 +17,8 @@
|
||||
|
||||
import { Component, OnChanges, Input, Output, EventEmitter, SimpleChanges, OnInit, OnDestroy } from '@angular/core';
|
||||
import { AbstractControl, FormGroup, FormBuilder } from '@angular/forms';
|
||||
import { MatDialog, DateAdapter } from '@angular/material';
|
||||
import { DateAdapter } from '@angular/material/core';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { debounceTime, filter, takeUntil, finalize, switchMap } from 'rxjs/operators';
|
||||
import { Subject, Observable } from 'rxjs';
|
||||
import moment from 'moment-es6';
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { FormBuilder, FormGroup, AbstractControl, Validators } from '@angular/forms';
|
||||
|
||||
@Component({
|
||||
|
||||
+1
-1
@@ -68,7 +68,7 @@ describe('TaskFiltersCloudComponent', () => {
|
||||
fixture = TestBed.createComponent(TaskFiltersCloudComponent);
|
||||
component = fixture.componentInstance;
|
||||
|
||||
taskFilterService = TestBed.get(TaskFilterCloudService);
|
||||
taskFilterService = TestBed.inject(TaskFilterCloudService);
|
||||
});
|
||||
|
||||
it('should attach specific icon for each filter if hasIcon is true', async(() => {
|
||||
|
||||
+4
-4
@@ -62,7 +62,7 @@ describe('TaskFilterCloudService', () => {
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
service = TestBed.get(TaskFilterCloudService);
|
||||
service = TestBed.inject(TaskFilterCloudService);
|
||||
|
||||
const preferenceCloudService = service.preferenceService;
|
||||
createPreferenceSpy = spyOn(preferenceCloudService, 'createPreference').and.returnValue(of(fakeTaskCloudFilters));
|
||||
@@ -70,7 +70,7 @@ describe('TaskFilterCloudService', () => {
|
||||
getPreferencesSpy = spyOn(preferenceCloudService, 'getPreferences').and.returnValue(of(fakeTaskCloudPreferenceList));
|
||||
getPreferenceByKeySpy = spyOn(preferenceCloudService, 'getPreferenceByKey').and.returnValue(of(fakeTaskCloudFilters));
|
||||
|
||||
const identityUserService = TestBed.get(IdentityUserService);
|
||||
const identityUserService = TestBed.inject(IdentityUserService);
|
||||
getCurrentUserInfoSpy = spyOn(identityUserService, 'getCurrentUserInfo').and.returnValue(identityUserMock);
|
||||
});
|
||||
|
||||
@@ -240,9 +240,9 @@ describe('Inject [LocalPreferenceCloudService] into the TaskFilterCloudService',
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
service = TestBed.get(TaskFilterCloudService);
|
||||
service = TestBed.inject(TaskFilterCloudService);
|
||||
preferenceCloudService = service.preferenceService;
|
||||
identityUserService = TestBed.get(IdentityUserService);
|
||||
identityUserService = TestBed.inject(IdentityUserService);
|
||||
getPreferencesSpy = spyOn(preferenceCloudService, 'getPreferences').and.returnValue(of([]));
|
||||
spyOn(identityUserService, 'getCurrentUserInfo').and.returnValue(identityUserMock);
|
||||
});
|
||||
|
||||
@@ -26,7 +26,7 @@ import { HttpClientModule } from '@angular/common/http';
|
||||
import { EditTaskFilterCloudComponent } from './components/edit-task-filter-cloud.component';
|
||||
import { TaskFilterDialogCloudComponent } from './components/task-filter-dialog-cloud.component';
|
||||
import { AppListCloudModule } from './../../app/app-list-cloud.module';
|
||||
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material';
|
||||
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -44,9 +44,6 @@ import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material';
|
||||
providers: [
|
||||
{ provide: DateAdapter, useClass: MomentDateAdapter },
|
||||
{ provide: MAT_DATE_FORMATS, useValue: MOMENT_DATE_FORMATS }
|
||||
],
|
||||
entryComponents: [
|
||||
TaskFilterDialogCloudComponent
|
||||
]
|
||||
})
|
||||
export class TaskFiltersCloudModule { }
|
||||
|
||||
+2
-2
@@ -61,9 +61,9 @@ describe('TaskFormCloudComponent', () => {
|
||||
|
||||
beforeEach(() => {
|
||||
taskDetails.status = 'ASSIGNED';
|
||||
identityUserService = TestBed.get(IdentityUserService);
|
||||
identityUserService = TestBed.inject(IdentityUserService);
|
||||
getCurrentUserSpy = spyOn(identityUserService, 'getCurrentUserInfo').and.returnValue({ username: 'admin.adf' });
|
||||
taskCloudService = TestBed.get(TaskCloudService);
|
||||
taskCloudService = TestBed.inject(TaskCloudService);
|
||||
getTaskSpy = spyOn(taskCloudService, 'getTaskById').and.returnValue(of(taskDetails));
|
||||
spyOn(taskCloudService, 'getCandidateGroups').and.returnValue(of([]));
|
||||
spyOn(taskCloudService, 'getCandidateUsers').and.returnValue(of([]));
|
||||
|
||||
+2
-2
@@ -57,8 +57,8 @@ describe('TaskHeaderCloudComponent', () => {
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(TaskHeaderCloudComponent);
|
||||
component = fixture.componentInstance;
|
||||
appConfigService = TestBed.get(AppConfigService);
|
||||
taskCloudService = TestBed.get(TaskCloudService);
|
||||
appConfigService = TestBed.inject(AppConfigService);
|
||||
taskCloudService = TestBed.inject(TaskCloudService);
|
||||
component.appName = 'mock-app-name';
|
||||
component.taskId = 'mock-task-id';
|
||||
getTaskByIdSpy = spyOn(taskCloudService, 'getTaskById').and.returnValue(of(assignedTaskDetailsCloudMock));
|
||||
|
||||
-11
@@ -32,7 +32,6 @@ import {
|
||||
CardViewArrayItem
|
||||
} from '@alfresco/adf-core';
|
||||
import { TaskDetailsCloudModel, TaskStatus } from '../../start-task/models/task-details-cloud.model';
|
||||
import { Router } from '@angular/router';
|
||||
import { TaskCloudService } from '../../services/task-cloud.service';
|
||||
import { NumericFieldValidator } from '../../../validators/numeric-field.validator';
|
||||
|
||||
@@ -80,7 +79,6 @@ export class TaskHeaderCloudComponent implements OnInit, OnDestroy, OnChanges {
|
||||
private taskCloudService: TaskCloudService,
|
||||
private translationService: TranslationService,
|
||||
private appConfig: AppConfigService,
|
||||
private router: Router,
|
||||
private cardViewUpdateService: CardViewUpdateService
|
||||
) {
|
||||
this.dateFormat = this.appConfig.get('dateValues.defaultDateFormat');
|
||||
@@ -325,15 +323,6 @@ export class TaskHeaderCloudComponent implements OnInit, OnDestroy, OnChanges {
|
||||
return filteredProperties ? filteredProperties.indexOf(cardItem.key) >= 0 : true;
|
||||
}
|
||||
|
||||
goBack() {
|
||||
this.router.navigate([`/cloud/${this.appName}/`]);
|
||||
}
|
||||
|
||||
// @deprecated: not used anymore
|
||||
onCompletedTask() {
|
||||
this.goBack();
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.onDestroy$.next(true);
|
||||
this.onDestroy$.complete();
|
||||
|
||||
+8
-7
@@ -71,7 +71,7 @@ class EmptyTemplateComponent {
|
||||
</adf-cloud-task-list>`
|
||||
})
|
||||
class CustomCopyContentTaskListComponent {
|
||||
@ViewChild(TaskListCloudComponent)
|
||||
@ViewChild(TaskListCloudComponent, { static: true })
|
||||
taskList: TaskListCloudComponent;
|
||||
}
|
||||
|
||||
@@ -93,8 +93,8 @@ describe('TaskListCloudComponent', () => {
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
appConfig = TestBed.get(AppConfigService);
|
||||
taskListCloudService = TestBed.get(TaskListCloudService);
|
||||
appConfig = TestBed.inject(AppConfigService);
|
||||
taskListCloudService = TestBed.inject(TaskListCloudService);
|
||||
fixture = TestBed.createComponent(TaskListCloudComponent);
|
||||
component = fixture.componentInstance;
|
||||
appConfig.config = Object.assign(appConfig.config, {
|
||||
@@ -348,7 +348,7 @@ describe('TaskListCloudComponent', () => {
|
||||
copyFixture.detectChanges();
|
||||
}));
|
||||
|
||||
it('it should not show copy tooltip when key is not present in data-colunn', async(() => {
|
||||
it('it should not show copy tooltip when key is not present in data-column', (done) => {
|
||||
const appName = new SimpleChange(null, 'FAKE-APP-NAME', true);
|
||||
customCopyComponent.taskList.success.subscribe( () => {
|
||||
copyFixture.whenStable().then(() => {
|
||||
@@ -357,12 +357,13 @@ describe('TaskListCloudComponent', () => {
|
||||
spanHTMLElement.dispatchEvent(new Event('mouseenter'));
|
||||
copyFixture.detectChanges();
|
||||
expect(copyFixture.debugElement.nativeElement.querySelector('.adf-copy-tooltip')).toBeNull();
|
||||
done();
|
||||
});
|
||||
});
|
||||
customCopyComponent.taskList.appName = appName.currentValue;
|
||||
customCopyComponent.taskList.ngOnChanges({ 'appName': appName });
|
||||
copyFixture.detectChanges();
|
||||
}));
|
||||
});
|
||||
});
|
||||
|
||||
describe('Creating an empty custom template - EmptyTemplateComponent', () => {
|
||||
@@ -406,8 +407,8 @@ describe('TaskListCloudComponent', () => {
|
||||
});
|
||||
|
||||
beforeEach( () => {
|
||||
appConfig = TestBed.get(AppConfigService);
|
||||
taskListCloudService = TestBed.get(TaskListCloudService);
|
||||
appConfig = TestBed.inject(AppConfigService);
|
||||
taskListCloudService = TestBed.inject(TaskListCloudService);
|
||||
appConfig.config = Object.assign(appConfig.config, {
|
||||
'adf-cloud-task-list': {
|
||||
'presets': {
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
|
||||
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
|
||||
|
||||
import 'core-js/es7/reflect';
|
||||
import 'zone.js/dist/zone';
|
||||
import 'zone.js/dist/zone-testing';
|
||||
import { getTestBed } from '@angular/core/testing';
|
||||
|
||||
Reference in New Issue
Block a user