diff --git a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.html b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.html index 8c35861ac6..3732b80c26 100644 --- a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.html +++ b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.html @@ -49,8 +49,6 @@ (dateChange)="onDateChanged($event.value, processFilterProperty)" [matDatepicker]="dateController" placeholder="{{processFilterProperty.label | translate}}" - [(ngModel)]="dateFilter[processFilterProperty.key]" - [ngModelOptions]="{standalone: true}" [attr.data-automation-id]="'adf-cloud-edit-process-property-' + processFilterProperty.key"> diff --git a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts index 399ed818a2..645883292a 100644 --- a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts @@ -104,7 +104,6 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes directions = [{ label: 'ASC', value: 'ASC' }, { label: 'DESC', value: 'DESC' }]; applicationNames: any[] = []; formHasBeenChanged = false; - dateFilter: any[] = []; editProcessFilterForm: FormGroup; processFilterProperties: ProcessFilterProperties[] = []; processFilterActions: ProcessFilterAction[] = []; diff --git a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.html b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.html index fe56db5a3d..8075347f84 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.html +++ b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.html @@ -49,8 +49,6 @@ (dateChange)="onDateChanged($event.value, taskFilterProperty)" [matDatepicker]="dateController" placeholder="{{taskFilterProperty.label | translate}}" - [(ngModel)]="dateFilter[taskFilterProperty.key]" - [ngModelOptions]="{standalone: true}" [attr.data-automation-id]="'adf-cloud-edit-task-`perty-' + taskFilterProperty.key"> diff --git a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.spec.ts index 9d44426800..a775c0abcd 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.spec.ts @@ -68,9 +68,7 @@ describe('EditTaskFilterCloudComponent', () => { fixture.detectChanges(); }); - it('should create EditTaskFilterCloudComponent', () => { - expect(component instanceof EditTaskFilterCloudComponent).toBeTruthy(); - }); + afterEach(() => fixture.destroy()); it('should fetch task filter by taskId', () => { const taskFilterIdChange = new SimpleChange(undefined, 'mock-task-filter-id', true); @@ -92,8 +90,6 @@ describe('EditTaskFilterCloudComponent', () => { fixture.detectChanges(); const title = fixture.debugElement.nativeElement.querySelector('#adf-edit-task-filter-title-id'); const subTitle = fixture.debugElement.nativeElement.querySelector('#adf-edit-task-filter-sub-title-id'); - expect(title).toBeDefined(); - expect(subTitle).toBeDefined(); expect(title.innerText).toEqual('FakeInvolvedTasks'); expect(subTitle.innerText.trim()).toEqual('ADF_CLOUD_EDIT_TASK_FILTER.TITLE'); })); @@ -108,8 +104,6 @@ describe('EditTaskFilterCloudComponent', () => { fixture.whenStable().then(() => { expect(matSpinnerElement).toBeNull(); - expect(title).toBeDefined(); - expect(subTitle).toBeDefined(); expect(title.innerText).toEqual('FakeInvolvedTasks'); expect(subTitle.innerText.trim()).toEqual('ADF_CLOUD_EDIT_TASK_FILTER.TITLE'); }); @@ -148,11 +142,7 @@ describe('EditTaskFilterCloudComponent', () => { const orderController = component.editTaskFilterForm.get('order'); const assigneeController = component.editTaskFilterForm.get('assignee'); expect(component.editTaskFilterForm).toBeDefined(); - expect(stateController).toBeDefined(); - expect(sortController).toBeDefined(); - expect(orderController).toBeDefined(); expect(assigneeController).toBeDefined(); - expect(stateController.value).toBe('CREATED'); expect(sortController.value).toBe('id'); expect(orderController.value).toBe('ASC'); @@ -204,10 +194,7 @@ describe('EditTaskFilterCloudComponent', () => { const assigneeElement = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-cloud-edit-task-property-assignee"]'); const sortElement = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-cloud-edit-task-property-sort"]'); const orderElement = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-cloud-edit-task-property-order"]'); - expect(stateElement).toBeDefined(); expect(assigneeElement).toBeDefined(); - expect(sortElement).toBeDefined(); - expect(orderElement).toBeDefined(); expect(stateElement.textContent.trim()).toBe('CREATED'); expect(sortElement.textContent.trim()).toBe('Id'); expect(orderElement.textContent.trim()).toBe('ASC'); @@ -272,12 +259,8 @@ describe('EditTaskFilterCloudComponent', () => { const orderController = component.editTaskFilterForm.get('order'); fixture.whenStable().then(() => { fixture.detectChanges(); - expect(component.taskFilterProperties).toBeDefined(); expect(component.taskFilterProperties.length).toBe(4); expect(component.editTaskFilterForm).toBeDefined(); - expect(stateController).toBeDefined(); - expect(sortController).toBeDefined(); - expect(orderController).toBeDefined(); expect(stateController.value).toBe('CREATED'); expect(sortController.value).toBe('id'); expect(orderController.value).toBe('ASC'); @@ -314,7 +297,6 @@ describe('EditTaskFilterCloudComponent', () => { fixture.whenStable().then(() => { const sortController = component.editTaskFilterForm.get('sort'); const sortOptions = fixture.debugElement.queryAll(By.css('.mat-option-text')); - expect(sortController).toBeDefined(); expect(sortController.value).toBe('id'); expect(sortOptions.length).toEqual(4); }); @@ -340,8 +322,6 @@ describe('EditTaskFilterCloudComponent', () => { fixture.whenStable().then(() => { const sortController = component.editTaskFilterForm.get('sort'); const sortOptions = fixture.debugElement.queryAll(By.css('.mat-option-text')); - expect(sortController).toBeDefined(); - expect(component.sortProperties).toBeDefined(); expect(component.sortProperties.length).toBe(3); expect(sortController.value).toBe('my-custom-sort'); expect(sortOptions.length).toEqual(3); @@ -363,7 +343,6 @@ describe('EditTaskFilterCloudComponent', () => { fixture.whenStable().then(() => { const sortController = component.editTaskFilterForm.get('sort'); const sortOptions = fixture.debugElement.queryAll(By.css('.mat-option-text')); - expect(sortController).toBeDefined(); expect(sortController.value).toBe('id'); expect(sortOptions.length).toEqual(4); }); @@ -384,13 +363,10 @@ describe('EditTaskFilterCloudComponent', () => { const saveAsButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-saveAs"]'); const saveButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-save"]'); const deleteButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-delete"]'); - expect(component.taskFilterActions).toBeDefined(); + expect(component.taskFilterActions.map(action => action.actionType)).toEqual(['save', 'saveAs', 'delete']); expect(component.taskFilterActions.length).toBe(3); - expect(saveButton).toBeDefined(); - expect(saveAsButton).toBeDefined(); - expect(deleteButton).toBeDefined(); - expect(saveButton.disabled).toBeTruthy(); - expect(saveAsButton.disabled).toBeTruthy(false); + expect(saveButton.disabled).toBe(true); + expect(saveAsButton.disabled).toBe(true); expect(deleteButton.disabled).toBe(false); }); })); @@ -408,34 +384,13 @@ describe('EditTaskFilterCloudComponent', () => { fixture.detectChanges(); fixture.whenStable().then(() => { const saveButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-save"]'); - expect(component.taskFilterActions).toBeDefined(); + expect(component.taskFilterActions.map(action => action.actionType)).toEqual(['save']); expect(component.taskFilterActions.length).toBe(1); - expect(saveButton).toBeDefined(); expect(saveButton.disabled).toBeTruthy(); - }); - })); - - it('should display default filter actions if input is empty', async(() => { - component.toggleFilterActions = true; - component.actions = []; - const taskFilterIdChange = new SimpleChange(undefined, 'mock-task-filter-id', true); - component.ngOnChanges({ 'id': taskFilterIdChange }); - fixture.detectChanges(); - const expansionPanel = fixture.debugElement.nativeElement.querySelector('mat-expansion-panel-header'); - expansionPanel.click(); - fixture.detectChanges(); - fixture.whenStable().then(() => { const saveAsButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-saveAs"]'); - const saveButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-save"]'); const deleteButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-delete"]'); - expect(component.taskFilterActions).toBeDefined(); - expect(component.taskFilterActions.length).toBe(3); - expect(saveButton).toBeDefined(); - expect(saveAsButton).toBeDefined(); - expect(deleteButton).toBeDefined(); - expect(saveButton.disabled).toBeTruthy(); - expect(saveAsButton.disabled).toBeTruthy(false); - expect(deleteButton.disabled).toBe(false); + expect(saveAsButton).toBeFalsy(); + expect(deleteButton).toBeFalsy(); }); })); @@ -469,13 +424,12 @@ describe('EditTaskFilterCloudComponent', () => { const taskFilterIdChange = new SimpleChange(undefined, 'mock-task-filter-id', true); component.ngOnChanges({ 'id': taskFilterIdChange }); fixture.detectChanges(); - + spyOn(component.action, 'emit').and.callThrough(); }); it('should emit save event and save the filter on click save button', async(() => { component.toggleFilterActions = true; - const saveFilterSpy = spyOn(service, 'updateFilter'); - const saveSpy: jasmine.Spy = spyOn(component.action, 'emit'); + spyOn(service, 'updateFilter').and.returnValue(of({})); fixture.detectChanges(); const expansionPanel = fixture.debugElement.nativeElement.querySelector('mat-expansion-panel-header'); expansionPanel.click(); @@ -487,18 +441,18 @@ describe('EditTaskFilterCloudComponent', () => { sortOptions[3].nativeElement.click(); fixture.detectChanges(); const saveButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-save"]'); - saveButton.click(); - fixture.detectChanges(); fixture.whenStable().then(() => { - expect(saveFilterSpy).toHaveBeenCalled(); - expect(saveSpy).toHaveBeenCalled(); + fixture.detectChanges(); + expect(saveButton.disabled).toBe(false); + saveButton.click(); + expect(service.updateFilter).toHaveBeenCalled(); + expect(component.action.emit).toHaveBeenCalled(); }); })); it('should emit delete event and delete the filter on click of delete button', async(() => { component.toggleFilterActions = true; - const deleteFilterSpy = spyOn(service, 'deleteFilter'); - const deleteSpy: jasmine.Spy = spyOn(component.action, 'emit'); + spyOn(service, 'deleteFilter').and.returnValue(of({})); fixture.detectChanges(); const expansionPanel = fixture.debugElement.nativeElement.querySelector('mat-expansion-panel-header'); expansionPanel.click(); @@ -507,18 +461,18 @@ describe('EditTaskFilterCloudComponent', () => { stateElement.click(); fixture.detectChanges(); const deleteButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-delete"]'); - deleteButton.click(); - fixture.detectChanges(); fixture.whenStable().then(() => { - expect(deleteFilterSpy).toHaveBeenCalled(); - expect(deleteSpy).toHaveBeenCalled(); + fixture.detectChanges(); + expect(deleteButton.disabled).toBe(false); + deleteButton.click(); + expect(service.deleteFilter).toHaveBeenCalled(); + expect(component.action.emit).toHaveBeenCalled(); }); })); it('should emit saveAs event and add filter on click saveAs button', async(() => { component.toggleFilterActions = true; - const saveAsFilterSpy = spyOn(service, 'addFilter').and.callThrough(); - const saveAsSpy: jasmine.Spy = spyOn(component.action, 'emit'); + spyOn(service, 'addFilter').and.returnValue(of({})); fixture.detectChanges(); const expansionPanel = fixture.debugElement.nativeElement.querySelector('mat-expansion-panel-header'); expansionPanel.click(); @@ -526,15 +480,16 @@ describe('EditTaskFilterCloudComponent', () => { const sortElement = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-cloud-edit-task-property-sort"] .mat-select-trigger'); sortElement.click(); fixture.detectChanges(); - const saveAsButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-saveAs"]'); const sortOptions = fixture.debugElement.queryAll(By.css('.mat-option-text')); sortOptions[2].nativeElement.click(); fixture.detectChanges(); - saveAsButton.click(); - fixture.detectChanges(); + const saveAsButton = fixture.debugElement.nativeElement.querySelector('[data-automation-id="adf-filter-action-saveAs"]'); fixture.whenStable().then(() => { - expect(saveAsFilterSpy).toHaveBeenCalled(); - expect(saveAsSpy).toHaveBeenCalled(); + fixture.detectChanges(); + expect(saveAsButton.disabled).toBe(false); + saveAsButton.click(); + expect(service.addFilter).toHaveBeenCalled(); + expect(component.action.emit).toHaveBeenCalled(); expect(dialog.open).toHaveBeenCalled(); }); })); diff --git a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.ts b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.ts index 14240f31e9..a3fdaae800 100644 --- a/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.ts @@ -107,9 +107,8 @@ export class EditTaskFilterCloudComponent implements OnInit, OnChanges, OnDestro { label: 'DESC', value: 'DESC' } ]; - applicationNames: any[] = []; - dateFilter: any[] = []; - formHasBeenChanged = false; + private applicationNames: any[] = []; + private formHasBeenChanged = false; editTaskFilterForm: FormGroup; taskFilterProperties: TaskFilterProperties[] = []; taskFilterActions: TaskFilterAction[] = [];