[ADF-3299] and [ADF-3300] upgrade to Angular and Material 6 (#3579)

* upgrade to HttpClient

* upgrade to Renderer2

* upgrade Document reference

* remove useless test with deprecated ReflectiveInjector

* upgrade to latest typescript

* upgrade libs

* upgrade package scripts

* remove rxjs blacklists and duplicate rules

* add rxjs compat to help with migration

* fix breaking changes

* fix breaking changes in material

* fix breaking changes (material 6)

* upgrade rxjs, ngx-translate and flex layout

* update unit tests

* restore providers

* upgrade deprecated Observable.error

* rebase
fix first configuration problems

* fix style issues commented

* fix core build

* fix lib template errors

* move lib test execution in angular.json

* ignore

* karma conf files

* fix import statement test

* single run option

* update packages reporter

* restore report

* increase timeout

* improve karma conf test configuration

* fix test issues about lint

* fix test analytics

* fix process service test

* content service fix test

* fix logout directive test

* fix core test

* fix build

* update node-sass to latest

* update angular cli dependencies

* improve build script

create directorites and move files only if previous command succeded

* upgrade individual libs to 6.0

* remove old webpack files

* revert sass change

* fix type issues
fix style issues

* fix tslint demo shell issue

* fix peerdependencies

* fix test e2e BC

* package upate

* fix style import issue

* extract-text-webpack-plugin beta

* fix test dist build command

* remove alpha js-api

* fix tslint issue
add banner tslint rule

* upload service fix

* change BC script

* fix test dist script

* increase demo shell timeout test

* verbose copy

* path absolute

* fix script bc

* fix copy part

* fix path warning
fix monaco editor

* remove duplicate header

* remove unused import

* fix align and check ago tests

* add missing import

* fix notification button selector

* [ANGULAR6] fixed core tests

* fix CS test

* fix cs test step 2

* increase travis_wait for dist

* fix attachment PS

* fix checklist test

* use pdf min
This commit is contained in:
Denys Vuika
2018-08-07 11:58:16 +01:00
committed by Eugenio Romano
parent c510ec864d
commit 6b24bfb1d4
371 changed files with 16287 additions and 24504 deletions

View File

@@ -20,7 +20,7 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { setupTestBed } from '@alfresco/adf-core';
import { ProcessTestingModule } from '../../testing/process.testing.module';
import { TaskListService } from './../services/tasklist.service';
import { Observable } from 'rxjs/Observable';
import { of } from 'rxjs';
describe('AttachFormComponent', () => {
let component: AttachFormComponent;
@@ -55,7 +55,7 @@ describe('AttachFormComponent', () => {
it('should call attachFormToATask if clicked on Complete Button', async(() => {
component.taskId = 1;
component.formId = 2;
spyOn(taskService, 'attachFormToATask').and.returnValue(Observable.of(true));
spyOn(taskService, 'attachFormToATask').and.returnValue(of(true));
fixture.detectChanges();
fixture.whenStable().then(() => {
expect(element.querySelector('#adf-no-form-attach-form-button')).toBeDefined();
@@ -90,7 +90,7 @@ describe('AttachFormComponent', () => {
component.taskId = 1;
component.formId = 10;
component.formKey = 12;
spyOn(taskService, 'deleteForm').and.returnValue(Observable.of({}));
spyOn(taskService, 'deleteForm').and.returnValue(of({}));
fixture.detectChanges();
fixture.whenStable().then(() => {
@@ -106,7 +106,7 @@ describe('AttachFormComponent', () => {
component.taskId = 1;
component.formId = 10;
spyOn(taskService, 'attachFormToATask').and.returnValue(Observable.of(
spyOn(taskService, 'attachFormToATask').and.returnValue(of(
{
id: 91,
name: 'fakeName',

View File

@@ -1,5 +1,5 @@
<div class="adf-checklist-control">
<mat-chip-list id="checklist-label">
<mat-chip-list data-automation-id="checklist-label">
<span class="activiti-label">{{ 'ADF_TASK_LIST.DETAILS.LABELS.CHECKLIST' | translate }}</span>
<mat-chip class="adf-process-badge" color="accent" selected="true">{{checklist?.length}}</mat-chip>
</mat-chip-list>

View File

@@ -22,7 +22,7 @@ import { ChecklistComponent } from './checklist.component';
import { setupTestBed } from '@alfresco/adf-core';
import { ProcessTestingModule } from '../../testing/process.testing.module';
import { TaskListService } from './../services/tasklist.service';
import { Observable } from 'rxjs/Observable';
import { of } from 'rxjs';
describe('ChecklistComponent', () => {
@@ -38,7 +38,10 @@ describe('ChecklistComponent', () => {
beforeEach(async(() => {
service = TestBed.get(TaskListService);
spyOn(service, 'getTaskChecklist').and.returnValue(Observable.of([{ id: 'fake-check-changed-id', name: 'fake-check-changed-name' }] ));
spyOn(service, 'getTaskChecklist').and.returnValue(of([{
id: 'fake-check-changed-id',
name: 'fake-check-changed-name'
}]));
fixture = TestBed.createComponent(ChecklistComponent);
checklistComponent = fixture.componentInstance;
@@ -48,8 +51,8 @@ describe('ChecklistComponent', () => {
}));
it('should show checklist component title', () => {
expect(element.querySelector('#checklist-label')).toBeDefined();
expect(element.querySelector('#checklist-label')).not.toBeNull();
expect(element.querySelector('[data-automation-id=checklist-label]')).toBeDefined();
expect(element.querySelector('[data-automation-id=checklist-label]')).not.toBeNull();
});
it('should show no checklist message', () => {
@@ -167,8 +170,8 @@ describe('ChecklistComponent', () => {
});
it('should add checklist', async(() => {
spyOn(service, 'addTask').and.returnValue(Observable.of({
id: 'fake-check-added-id', name: 'fake-check-added-name'
spyOn(service, 'addTask').and.returnValue(of({
id: 'fake-check-added-id', name: 'fake-check-added-name'
}));
showChecklistDialog.click();
@@ -183,7 +186,7 @@ describe('ChecklistComponent', () => {
}));
it('should remove a checklist element', async(() => {
spyOn(service, 'deleteTask').and.returnValue(Observable.of(''));
spyOn(service, 'deleteTask').and.returnValue(of(''));
checklistComponent.taskId = 'new-fake-task-id';
checklistComponent.checklist.push(new TaskDetailsModel({
@@ -203,7 +206,7 @@ describe('ChecklistComponent', () => {
}));
it('should send an event when the checklist is deleted', (done) => {
spyOn(service, 'deleteTask').and.returnValue(Observable.of(''));
spyOn(service, 'deleteTask').and.returnValue(of(''));
let disposableDelete = checklistComponent.checklistTaskDeleted.subscribe(() => {
expect(element.querySelector('#fake-check-id')).toBeNull();
disposableDelete.unsubscribe();
@@ -262,7 +265,7 @@ describe('ChecklistComponent', () => {
}));
it('should emit checklist task created event when the checklist is successfully added', (done) => {
spyOn(service, 'addTask').and.returnValue(Observable.of({ id: 'fake-check-added-id', name: 'fake-check-added-name' }));
spyOn(service, 'addTask').and.returnValue(of({ id: 'fake-check-added-id', name: 'fake-check-added-name' }));
let disposableCreated = checklistComponent.checklistTaskCreated.subscribe((taskAdded: TaskDetailsModel) => {
fixture.detectChanges();

View File

@@ -18,7 +18,7 @@
import { NoTaskDetailsTemplateDirective } from './no-task-detail-template.directive';
import { TaskDetailsComponent } from './task-details.component';
import { FormRenderingService, AuthenticationService } from '@alfresco/adf-core';
import { Observable } from 'rxjs/Observable';
import { of } from 'rxjs';
describe('NoTaskDetailsTemplateDirective', () => {
@@ -28,7 +28,7 @@ describe('NoTaskDetailsTemplateDirective', () => {
beforeEach(() => {
authService = new AuthenticationService(null, null, null, null);
spyOn(authService, 'getBpmLoggedUser').and.returnValue(Observable.of({ email: 'fake-email'}));
spyOn(authService, 'getBpmLoggedUser').and.returnValue(of({ email: 'fake-email'}));
detailsComponent = new TaskDetailsComponent(null, authService, null, new FormRenderingService(), null, null, null);
component = new NoTaskDetailsTemplateDirective(detailsComponent);
});

View File

@@ -82,7 +82,7 @@
}
}
&-start-task-input-container .mat-input-wrapper {
&-start-task-input-container .mat-form-field-wrapper {
padding-top: 8px;
}
@@ -119,7 +119,7 @@
&-invalid {
.mat-input-underline {
.mat-form-field-underline {
background-color: #f44336 !important;
}
@@ -127,7 +127,7 @@
border-color: mat-color($warn);
}
.mat-input-prefix {
.mat-form-field-prefix {
color: mat-color($warn);
}

View File

@@ -17,7 +17,7 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { setupTestBed } from '@alfresco/adf-core';
import { Observable } from 'rxjs/Observable';
import { Observable, of, throwError } from 'rxjs';
import { startTaskMock } from '../../mock';
import { StartTaskModel } from '../models/start-task.model';
import { TaskListService } from '../services/tasklist.service';
@@ -54,7 +54,7 @@ describe('StartTaskComponent', () => {
element = fixture.nativeElement;
service = TestBed.get(TaskListService);
getFormlistSpy = spyOn(service, 'getFormList').and.returnValue(Observable.of(fakeForms));
getFormlistSpy = spyOn(service, 'getFormList').and.returnValue(of(fakeForms));
fixture.detectChanges();
}));
@@ -75,7 +75,7 @@ describe('StartTaskComponent', () => {
describe('create task', () => {
beforeEach(() => {
createNewTaskSpy = spyOn(service, 'createNewTask').and.returnValue(Observable.of(
createNewTaskSpy = spyOn(service, 'createNewTask').and.returnValue(of(
{
id: 91,
name: 'fakeName',
@@ -133,7 +133,7 @@ describe('StartTaskComponent', () => {
describe('attach form', () => {
beforeEach(() => {
spyOn(service, 'createNewTask').and.returnValue(Observable.of(
spyOn(service, 'createNewTask').and.returnValue(of(
{
id: 91,
name: 'fakeName',
@@ -141,7 +141,7 @@ describe('StartTaskComponent', () => {
assignee: null
}
));
spyOn(service, 'attachFormToATask').and.returnValue(Observable.of(
spyOn(service, 'attachFormToATask').and.returnValue(of(
{
id: 91,
name: 'fakeName',
@@ -186,7 +186,7 @@ describe('StartTaskComponent', () => {
describe('assign user', () => {
beforeEach(() => {
spyOn(service, 'createNewTask').and.returnValue(Observable.of(
spyOn(service, 'createNewTask').and.returnValue(of(
{
id: 91,
name: 'fakeName',
@@ -194,7 +194,7 @@ describe('StartTaskComponent', () => {
assignee: null
}
));
spyOn(service, 'attachFormToATask').and.returnValue(Observable.of(
spyOn(service, 'attachFormToATask').and.returnValue(of(
{
id: 91,
name: 'fakeName',
@@ -202,7 +202,7 @@ describe('StartTaskComponent', () => {
assignee: null
}
));
spyOn(service, 'assignTaskByUserId').and.returnValue(Observable.of(
spyOn(service, 'assignTaskByUserId').and.returnValue(of(
{
id: 91,
name: 'fakeName',
@@ -265,7 +265,7 @@ describe('StartTaskComponent', () => {
});
it('should not attach a form when a form id is not slected', () => {
let attachFormToATask = spyOn(service, 'attachFormToATask').and.returnValue(Observable.of());
let attachFormToATask = spyOn(service, 'attachFormToATask').and.returnValue(of());
spyOn(service, 'createNewTask').and.callFake(
function() {
return Observable.create(observer => {
@@ -343,7 +343,7 @@ describe('StartTaskComponent', () => {
it('should emit error when there is an error while creating task', () => {
let errorSpy = spyOn(component.error, 'emit');
spyOn(service, 'createNewTask').and.returnValue(Observable.throw({}));
spyOn(service, 'createNewTask').and.returnValue(throwError({}));
let createTaskButton = <HTMLElement> element.querySelector('#button-start');
component.startTaskmodel.name = 'fake-name';
fixture.detectChanges();

View File

@@ -21,11 +21,12 @@ import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
import { MOMENT_DATE_FORMATS, MomentDateAdapter } from '@alfresco/adf-core';
import moment from 'moment-es6';
import { Moment } from 'moment';
import { Observable } from 'rxjs/Observable';
import { Observable, of } from 'rxjs';
import { Form } from '../models/form.model';
import { StartTaskModel } from '../models/start-task.model';
import { TaskDetailsModel } from '../models/task-details.model';
import { TaskListService } from './../services/tasklist.service';
import { switchMap, defaultIfEmpty } from 'rxjs/operators';
@Component({
selector: 'adf-start-task',
@@ -96,11 +97,17 @@ export class StartTaskComponent implements OnInit {
this.startTaskmodel.category = this.appId.toString();
}
this.taskService.createNewTask(new TaskDetailsModel(this.startTaskmodel))
.switchMap((createRes: any) =>
this.attachForm(createRes.id, this.formKey).defaultIfEmpty(createRes)
.switchMap((attachRes: any) =>
this.assignTaskByUserId(createRes.id, this.assigneeId).defaultIfEmpty(attachRes ? attachRes : createRes)
.pipe(
switchMap((createRes: any) =>
this.attachForm(createRes.id, this.formKey).pipe(
defaultIfEmpty(createRes),
switchMap((attachRes: any) =>
this.assignTaskByUserId(createRes.id, this.assigneeId).pipe(
defaultIfEmpty(attachRes ? attachRes : createRes)
)
)
)
)
)
.subscribe(
(res: any) => {
@@ -118,7 +125,7 @@ export class StartTaskComponent implements OnInit {
}
private attachForm(taskId: string, formKey: number): Observable<any> {
let response = Observable.of();
let response = of();
if (taskId && formKey) {
response = this.taskService.attachFormToATask(taskId, formKey);
}
@@ -126,7 +133,7 @@ export class StartTaskComponent implements OnInit {
}
private assignTaskByUserId(taskId: string, userId: any): Observable<any> {
let response = Observable.of();
let response = of();
if (taskId && userId) {
response = this.taskService.assignTaskByUserId(taskId, userId);
}

View File

@@ -22,7 +22,7 @@ import {
fakeAsync,
TestBed
} from '@angular/core/testing';
import { Observable } from 'rxjs/Observable';
import { of } from 'rxjs';
import { TaskListService } from './../services/tasklist.service';
import { setupTestBed, CoreModule } from '@alfresco/adf-core';
import { TaskAuditDirective } from './task-audit.directive';
@@ -100,7 +100,7 @@ describe('TaskAuditDirective', () => {
component.fileName = 'FakeAuditName';
component.format = 'pdf';
let blob = createFakePdfBlob();
spyOn(service, 'fetchTaskAuditPdfById').and.returnValue(Observable.of(blob));
spyOn(service, 'fetchTaskAuditPdfById').and.returnValue(of(blob));
spyOn(component, 'onAuditClick').and.callThrough();
fixture.detectChanges();
@@ -121,7 +121,7 @@ describe('TaskAuditDirective', () => {
component.format = 'json';
component.download = true;
const auditJson = { taskId: '77', taskName: 'Fake Task Naem', assignee: 'FirstName LastName', formData: [], selectedOutcome: null, comments: [] };
spyOn(service, 'fetchTaskAuditJsonById').and.returnValue(Observable.of(auditJson));
spyOn(service, 'fetchTaskAuditJsonById').and.returnValue(of(auditJson));
spyOn(component, 'onAuditClick').and.callThrough();
fixture.detectChanges();
@@ -141,7 +141,7 @@ describe('TaskAuditDirective', () => {
component.fileName = 'FakeAuditName';
component.format = 'fakeFormat';
let blob = createFakePdfBlob();
spyOn(service, 'fetchTaskAuditPdfById').and.returnValue(Observable.of(blob));
spyOn(service, 'fetchTaskAuditPdfById').and.returnValue(of(blob));
spyOn(component, 'onAuditClick').and.callThrough();
fixture.detectChanges();

View File

@@ -18,7 +18,7 @@
import { NO_ERRORS_SCHEMA, SimpleChange } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { Observable } from 'rxjs/Observable';
import { of, throwError } from 'rxjs';
import { FormModel, FormOutcomeEvent, FormOutcomeModel, FormService, setupTestBed, BpmUserService } from '@alfresco/adf-core';
import { CommentProcessService, LogService, AuthenticationService } from '@alfresco/adf-core';
@@ -64,27 +64,27 @@ describe('TaskDetailsComponent', () => {
logService = TestBed.get(LogService);
const userService: BpmUserService = TestBed.get(BpmUserService);
spyOn(userService, 'getCurrentUserInfo').and.returnValue(Observable.of({}));
spyOn(userService, 'getCurrentUserInfo').and.returnValue(of({}));
service = TestBed.get(TaskListService);
spyOn(service, 'getTaskChecklist').and.returnValue(Observable.of(noDataMock));
spyOn(service, 'getTaskChecklist').and.returnValue(of(noDataMock));
formService = TestBed.get(FormService);
getTaskDetailsSpy = spyOn(service, 'getTaskDetails').and.returnValue(Observable.of(taskDetailsMock));
spyOn(formService, 'getTaskForm').and.returnValue(Observable.of(taskFormMock));
getTaskDetailsSpy = spyOn(service, 'getTaskDetails').and.returnValue(of(taskDetailsMock));
spyOn(formService, 'getTaskForm').and.returnValue(of(taskFormMock));
taskDetailsMock.processDefinitionId = null;
spyOn(formService, 'getTask').and.returnValue(Observable.of(taskDetailsMock));
spyOn(formService, 'getTask').and.returnValue(of(taskDetailsMock));
getTasksSpy = spyOn(service, 'getTasks').and.returnValue(Observable.of(tasksMock));
assignTaskSpy = spyOn(service, 'assignTask').and.returnValue(Observable.of(fakeUser));
completeTaskSpy = spyOn(service, 'completeTask').and.returnValue(Observable.of({}));
getTasksSpy = spyOn(service, 'getTasks').and.returnValue(of(tasksMock));
assignTaskSpy = spyOn(service, 'assignTask').and.returnValue(of(fakeUser));
completeTaskSpy = spyOn(service, 'completeTask').and.returnValue(of({}));
commentProcessService = TestBed.get(CommentProcessService);
authService = TestBed.get(AuthenticationService);
spyOn(authService, 'getBpmLoggedUser').and.returnValue(Observable.of({ email: 'fake-email'}));
spyOn(authService, 'getBpmLoggedUser').and.returnValue(of({ email: 'fake-email'}));
spyOn(commentProcessService, 'getTaskComments').and.returnValue(Observable.of([
spyOn(commentProcessService, 'getTaskComments').and.returnValue(of([
{message: 'Test1', created: Date.now(), createdBy: {firstName: 'Admin', lastName: 'User'}},
{message: 'Test2', created: Date.now(), createdBy: {firstName: 'Admin', lastName: 'User'}},
{message: 'Test3', created: Date.now(), createdBy: {firstName: 'Admin', lastName: 'User'}}
@@ -274,7 +274,7 @@ describe('TaskDetailsComponent', () => {
});
it('should show placeholder message if there is no next task', () => {
getTasksSpy.and.returnValue(Observable.of([]));
getTasksSpy.and.returnValue(of([]));
component.onComplete();
fixture.detectChanges();
expect(fixture.nativeElement.innerText).toBe('ADF_TASK_LIST.DETAILS.MESSAGES.NONE');
@@ -282,7 +282,7 @@ describe('TaskDetailsComponent', () => {
it('should emit an error event if an error occurs fetching the next task', () => {
let emitSpy: jasmine.Spy = spyOn(component.error, 'emit');
getTasksSpy.and.returnValue(Observable.throw({}));
getTasksSpy.and.returnValue(throwError({}));
component.onComplete();
expect(emitSpy).toHaveBeenCalled();
});
@@ -421,7 +421,7 @@ describe('TaskDetailsComponent', () => {
});
it('should return an observable with user search results', (done) => {
spyOn(peopleProcessService, 'getWorkflowUsers').and.returnValue(Observable.of([{
spyOn(peopleProcessService, 'getWorkflowUsers').and.returnValue(of([{
id: 1,
firstName: 'fake-test-1',
lastName: 'fake-last-1',
@@ -445,7 +445,7 @@ describe('TaskDetailsComponent', () => {
});
it('should return an empty list for not valid search', (done) => {
spyOn(peopleProcessService, 'getWorkflowUsers').and.returnValue(Observable.of([]));
spyOn(peopleProcessService, 'getWorkflowUsers').and.returnValue(of([]));
component.peopleSearch.subscribe((users) => {
expect(users.length).toBe(0);
@@ -455,7 +455,7 @@ describe('TaskDetailsComponent', () => {
});
it('should log error message when search fails', async(() => {
spyOn(peopleProcessService, 'getWorkflowUsers').and.returnValue(Observable.throw(''));
spyOn(peopleProcessService, 'getWorkflowUsers').and.returnValue(throwError(''));
component.peopleSearch.subscribe(() => {
expect(logService.error).toHaveBeenCalledWith('Could not load users');

View File

@@ -37,14 +37,14 @@ import {
ViewChild
} from '@angular/core';
import { MatDialog, MatDialogRef } from '@angular/material';
import { Observable } from 'rxjs/Observable';
import { Observer } from 'rxjs/Observer';
import { Observable, Observer } from 'rxjs';
import { ContentLinkModel, FormFieldValidator, FormModel, FormOutcomeEvent } from '@alfresco/adf-core';
import { TaskQueryRequestRepresentationModel } from '../models/filter.model';
import { TaskDetailsModel } from '../models/task-details.model';
import { TaskListService } from './../services/tasklist.service';
import { AttachFileWidgetComponent, AttachFolderWidgetComponent } from '../../content-widget';
import { UserRepresentation } from 'alfresco-js-api';
import { share } from 'rxjs/operators';
@Component({
selector: 'adf-task-details',
@@ -182,6 +182,7 @@ export class TaskDetailsComponent implements OnInit, OnChanges {
peopleSearch: Observable<UserProcessModel[]>;
currentLoggedUser: UserRepresentation;
data: any;
constructor(private taskListService: TaskListService,
private authService: AuthenticationService,
@@ -193,7 +194,8 @@ export class TaskDetailsComponent implements OnInit, OnChanges {
this.formRenderingService.setComponentTypeResolver('select-folder', () => AttachFolderWidgetComponent, true);
this.formRenderingService.setComponentTypeResolver('upload', () => AttachFileWidgetComponent, true);
this.peopleSearch = new Observable<UserProcessModel[]>(observer => this.peopleSearchObserver = observer).share();
this.peopleSearch = new Observable<UserProcessModel[]>(observer => this.peopleSearchObserver = observer)
.pipe(share());
this.authService.getBpmLoggedUser().subscribe((user: UserRepresentation) => {
this.currentLoggedUser = user;
});

View File

@@ -18,7 +18,7 @@
import { SimpleChange } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { AppConfigService, AppsProcessService, setupTestBed } from '@alfresco/adf-core';
import { Observable } from 'rxjs/Observable';
import { from, of } from 'rxjs';
import { FilterParamsModel, FilterRepresentationModel } from '../models/filter.model';
import { TaskListService } from '../services/tasklist.service';
import { TaskFilterService } from '../services/task-filter.service';
@@ -88,7 +88,7 @@ describe('TaskFiltersComponent', () => {
});
it('should emit an error with a bad response', (done) => {
spyOn(taskFilterService, 'getTaskListFilters').and.returnValue(Observable.fromPromise(mockErrorFilterPromise));
spyOn(taskFilterService, 'getTaskListFilters').and.returnValue(from(mockErrorFilterPromise));
const appId = '1';
let change = new SimpleChange(null, appId, true);
@@ -102,7 +102,7 @@ describe('TaskFiltersComponent', () => {
});
it('should return the filter task list', (done) => {
spyOn(taskFilterService, 'getTaskListFilters').and.returnValue(Observable.fromPromise(fakeGlobalFilterPromise));
spyOn(taskFilterService, 'getTaskListFilters').and.returnValue(from(fakeGlobalFilterPromise));
const appId = '1';
let change = new SimpleChange(null, appId, true);
component.ngOnChanges({ 'appId': change });
@@ -126,8 +126,8 @@ describe('TaskFiltersComponent', () => {
resolve({});
});
spyOn(appsProcessService, 'getDeployedApplicationsByName').and.returnValue(Observable.fromPromise(fakeDeployedApplicationsPromise));
spyOn(taskFilterService, 'getTaskListFilters').and.returnValue(Observable.fromPromise(fakeGlobalFilterPromise));
spyOn(appsProcessService, 'getDeployedApplicationsByName').and.returnValue(from(fakeDeployedApplicationsPromise));
spyOn(taskFilterService, 'getTaskListFilters').and.returnValue(from(fakeGlobalFilterPromise));
let change = new SimpleChange(null, 'test', true);
component.ngOnChanges({ 'appName': change });
@@ -143,7 +143,7 @@ describe('TaskFiltersComponent', () => {
});
it('should select the first filter as default', (done) => {
spyOn(taskFilterService, 'getTaskListFilters').and.returnValue(Observable.fromPromise(fakeGlobalFilterPromise));
spyOn(taskFilterService, 'getTaskListFilters').and.returnValue(from(fakeGlobalFilterPromise));
const appId = '1';
let change = new SimpleChange(null, appId, true);
@@ -161,7 +161,7 @@ describe('TaskFiltersComponent', () => {
});
it('should be able to fetch and select the default if the input filter is not valid', (done) => {
spyOn(taskFilterService, 'getTaskListFilters').and.returnValue(Observable.fromPromise(fakeGlobalEmptyFilterPromise));
spyOn(taskFilterService, 'getTaskListFilters').and.returnValue(from(fakeGlobalEmptyFilterPromise));
spyOn(component, 'createFiltersByAppId').and.stub();
const appId = '1';
@@ -176,7 +176,7 @@ describe('TaskFiltersComponent', () => {
});
it('should select the task filter based on the input by name param', (done) => {
spyOn(taskFilterService, 'getTaskListFilters').and.returnValue(Observable.fromPromise(fakeGlobalFilterPromise));
spyOn(taskFilterService, 'getTaskListFilters').and.returnValue(from(fakeGlobalFilterPromise));
component.filterParam = new FilterParamsModel({ name: 'FakeMyTasks1' });
const appId = '1';
@@ -195,7 +195,7 @@ describe('TaskFiltersComponent', () => {
});
it('should select the default task filter if filter input does not exist', (done) => {
spyOn(taskFilterService, 'getTaskListFilters').and.returnValue(Observable.fromPromise(fakeGlobalFilterPromise));
spyOn(taskFilterService, 'getTaskListFilters').and.returnValue(from(fakeGlobalFilterPromise));
component.filterParam = new FilterParamsModel({ name: 'UnexistableFilter' });
@@ -215,7 +215,7 @@ describe('TaskFiltersComponent', () => {
});
it('should select the task filter based on the input by index param', (done) => {
spyOn(taskFilterService, 'getTaskListFilters').and.returnValue(Observable.fromPromise(fakeGlobalFilterPromise));
spyOn(taskFilterService, 'getTaskListFilters').and.returnValue(from(fakeGlobalFilterPromise));
component.filterParam = new FilterParamsModel({ index: 2 });
@@ -235,7 +235,7 @@ describe('TaskFiltersComponent', () => {
});
it('should select the task filter based on the input by id param', (done) => {
spyOn(taskFilterService, 'getTaskListFilters').and.returnValue(Observable.fromPromise(fakeGlobalFilterPromise));
spyOn(taskFilterService, 'getTaskListFilters').and.returnValue(from(fakeGlobalFilterPromise));
component.filterParam = new FilterParamsModel({ id: 10 });
@@ -345,7 +345,7 @@ describe('TaskFiltersComponent', () => {
});
component.filters = fakeGlobalFilter;
component.currentFilter = filter;
spyOn(taskListService, 'isTaskRelatedToFilter').and.returnValue(Observable.of(null));
spyOn(taskListService, 'isTaskRelatedToFilter').and.returnValue(of(null));
component.selectFilterWithTask('111');
expect(component.currentFilter).toBe(filter);

View File

@@ -17,7 +17,7 @@
import { AppsProcessService } from '@alfresco/adf-core';
import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { Observable } from 'rxjs';
import { FilterParamsModel, FilterRepresentationModel } from '../models/filter.model';
import { TaskFilterService } from './../services/task-filter.service';
import { TaskListService } from './../services/tasklist.service';

View File

@@ -19,7 +19,7 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { AppConfigService, setupTestBed } from '@alfresco/adf-core';
import { BpmUserService } from '@alfresco/adf-core';
import { Observable } from 'rxjs/Observable';
import { of } from 'rxjs';
import {
completedTaskDetailsMock,
taskDetailsMock,
@@ -67,7 +67,7 @@ describe('TaskHeaderComponent', () => {
component = fixture.componentInstance;
service = TestBed.get(TaskListService);
userBpmService = TestBed.get(BpmUserService);
spyOn(userBpmService, 'getCurrentUserInfo').and.returnValue(Observable.of(fakeBpmAssignedUser));
spyOn(userBpmService, 'getCurrentUserInfo').and.returnValue(of(fakeBpmAssignedUser));
component.taskDetails = new TaskDetailsModel(taskDetailsMock);
appConfigService = TestBed.get(AppConfigService);
});
@@ -241,7 +241,7 @@ describe('TaskHeaderComponent', () => {
}));
it('should call the service\'s unclaim method on unclaiming', async(() => {
spyOn(service, 'unclaimTask').and.returnValue(Observable.of(true));
spyOn(service, 'unclaimTask').and.returnValue(of(true));
component.taskDetails = new TaskDetailsModel(claimedTaskDetailsMock);
component.refreshData();
fixture.detectChanges();
@@ -254,9 +254,9 @@ describe('TaskHeaderComponent', () => {
});
}));
it('should trigger the unclaim event on successfull unclaiming', async(() => {
it('should trigger the unclaim event on successful unclaiming', async(() => {
let unclaimed: boolean = false;
spyOn(service, 'unclaimTask').and.returnValue(Observable.of(true));
spyOn(service, 'unclaimTask').and.returnValue(of(true));
component.taskDetails = new TaskDetailsModel(claimedTaskDetailsMock);
component.refreshData();
fixture.detectChanges();

View File

@@ -23,8 +23,7 @@ import {
AfterContentInit, Component, ContentChild, EventEmitter,
Input, OnChanges, Output, SimpleChanges } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { Observable, BehaviorSubject } from 'rxjs';
import { TaskQueryRequestRepresentationModel } from '../models/filter.model';
import { TaskListModel } from '../models/task-list.model';
import { taskPresetsDefaultModel } from '../models/task-preset.model';