diff --git a/lib/process-services-cloud/src/lib/group/components/group-cloud.component.ts b/lib/process-services-cloud/src/lib/group/components/group-cloud.component.ts index 262a2ac368..271370ed27 100644 --- a/lib/process-services-cloud/src/lib/group/components/group-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/group/components/group-cloud.component.ts @@ -33,7 +33,7 @@ import { Observable, of, BehaviorSubject } from 'rxjs'; import { GroupModel, GroupSearchParam } from '../models/group.model'; import { GroupCloudService } from '../services/group-cloud.service'; import { debounceTime } from 'rxjs/internal/operators/debounceTime'; -import { distinctUntilChanged, switchMap, mergeMap, filter, tap } from 'rxjs/operators'; +import { distinctUntilChanged, switchMap, mergeMap, filter, tap, map } from 'rxjs/operators'; @Component({ selector: 'adf-cloud-group', @@ -223,9 +223,9 @@ export class GroupCloudComponent implements OnInit, OnChanges { filterGroupsByRoles(group: GroupModel): Observable { return this.groupService.checkGroupHasRole(group.id, this.roles).pipe( - mergeMap>((hasRole) => { - return hasRole ? of(group) : of(); - })); + map((hasRole: boolean) => ({ hasRole: hasRole, group: group })), + filter((filteredGroup: { hasRole: boolean, group: GroupModel }) => filteredGroup.hasRole), + map((filteredGroup: { hasRole: boolean, group: GroupModel }) => filteredGroup.group)); } onSelect(selectedGroup: GroupModel) { diff --git a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts index d692fe8392..394a263de6 100644 --- a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts @@ -71,6 +71,10 @@ describe('EditProcessFilterCloudComponent', () => { getRunningApplicationsSpy = spyOn(appsService, 'getDeployedApplicationsByStatus').and.returnValue(of(fakeApplicationInstance)); }); + afterEach(() => { + fixture.destroy(); + }); + it('should create EditProcessFilterCloudComponent', () => { expect(component instanceof EditProcessFilterCloudComponent).toBeTruthy(); }); @@ -316,10 +320,10 @@ describe('EditProcessFilterCloudComponent', () => { })); it('should display sort properties when sort properties are specified', async(() => { - component.sortProperties = ['id', 'processName', 'processDefinitionId']; fixture.detectChanges(); + component.sortProperties = ['id', 'processName', 'processDefinitionId']; let processFilterIdchange = new SimpleChange(undefined, 'mock-process-filter-id', true); - component.ngOnChanges({ 'id': processFilterIdchange}); + component.ngOnChanges({'id': processFilterIdchange}); fixture.detectChanges(); fixture.whenStable().then(() => { fixture.detectChanges(); @@ -446,8 +450,9 @@ describe('EditProcessFilterCloudComponent', () => { it('should display default filter actions when input is empty', async(() => { fixture.detectChanges(); - component.actions = []; component.toggleFilterActions = true; + component.actions = []; + component.id = 'mock-process-filter-id'; fixture.detectChanges(); let expansionPanel = fixture.debugElement.nativeElement.querySelector('mat-expansion-panel-header'); expansionPanel.click(); diff --git a/lib/process-services-cloud/src/lib/task/start-task/components/people-cloud/people-cloud.component.ts b/lib/process-services-cloud/src/lib/task/start-task/components/people-cloud/people-cloud.component.ts index aa8e7fdade..fce6477b0e 100644 --- a/lib/process-services-cloud/src/lib/task/start-task/components/people-cloud/people-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/task/start-task/components/people-cloud/people-cloud.component.ts @@ -18,7 +18,7 @@ import { FormControl } from '@angular/forms'; import { Component, OnInit, Output, EventEmitter, ViewEncapsulation, Input, ViewChild, ElementRef, SimpleChanges, OnChanges } from '@angular/core'; import { Observable, of, BehaviorSubject } from 'rxjs'; -import { switchMap, debounceTime, distinctUntilChanged, mergeMap, tap, filter } from 'rxjs/operators'; +import { switchMap, debounceTime, distinctUntilChanged, mergeMap, tap, filter, map } from 'rxjs/operators'; import { FullNamePipe, IdentityUserModel, IdentityUserService, LogService } from '@alfresco/adf-core'; import { trigger, state, style, transition, animate } from '@angular/animations'; @@ -196,9 +196,9 @@ export class PeopleCloudComponent implements OnInit, OnChanges { public userExists(result: any) { return result.length > 0 || - result.id !== undefined || - result.username !== undefined || - result.amil !== undefined; + result.id !== undefined || + result.username !== undefined || + result.amil !== undefined; } private initSearch() { @@ -261,10 +261,9 @@ export class PeopleCloudComponent implements OnInit, OnChanges { filterUsersByRoles(user: IdentityUserModel): Observable { return this.identityUserService.checkUserHasRole(user.id, this.roles).pipe( - mergeMap>((hasRole) => { - return hasRole ? of(user) : of(); - }) - ); + map((hasRole: boolean) => ({ hasRole: hasRole, user: user })), + filter((filteredUser: { hasRole: boolean, user: IdentityUserModel }) => filteredUser.hasRole), + map((filteredUser: { hasRole: boolean, user: IdentityUserModel }) => filteredUser.user)); } private isUserAlreadySelected(user: IdentityUserModel): boolean {