[ADF-1920] diagram button enabling and disabling correctly

This commit is contained in:
Eugenio Romano
2017-11-22 18:48:05 +00:00
parent 7d25d84850
commit 729a8b6bde
3 changed files with 33 additions and 8 deletions

View File

@@ -9,7 +9,7 @@
(showProcessDiagram)="onShowProcessDiagram($event)"> (showProcessDiagram)="onShowProcessDiagram($event)">
</adf-process-instance-header> </adf-process-instance-header>
<button class="adf-in-medias-res-button" mat-button id="show-diagram-button" type="button" mat-button mat-raised-button [disabled]="isDiagramDisabled()" (click)="onShowProcessDiagram(processInstanceId)">{{ 'ADF_PROCESS_LIST.DETAILS.BUTTON.SHOW_DIAGRAM' | translate }}</button> <button class="adf-in-medias-res-button" mat-button id="show-diagram-button" type="button" mat-button mat-raised-button [disabled]="!isRunning()" (click)="onShowProcessDiagram(processInstanceId)">{{ 'ADF_PROCESS_LIST.DETAILS.BUTTON.SHOW_DIAGRAM' | translate }}</button>
<mat-card> <mat-card>
<mat-card-content> <mat-card-content>

View File

@@ -49,7 +49,7 @@ describe('ProcessInstanceDetailsComponent', () => {
providers: [ providers: [
ProcessService ProcessService
], ],
schemas: [ NO_ERRORS_SCHEMA ] schemas: [NO_ERRORS_SCHEMA]
}).compileComponents(); }).compileComponents();
})); }));
@@ -132,12 +132,41 @@ describe('ProcessInstanceDetailsComponent', () => {
it('should display cancel button if process is running', () => { it('should display cancel button if process is running', () => {
component.processInstanceDetails = new ProcessInstance({ component.processInstanceDetails = new ProcessInstance({
ended : null ended: null
}); });
fixture.detectChanges(); fixture.detectChanges();
let buttonEl = fixture.debugElement.query(By.css('[data-automation-id="header-status"] button')); let buttonEl = fixture.debugElement.query(By.css('[data-automation-id="header-status"] button'));
expect(buttonEl).not.toBeNull(); expect(buttonEl).not.toBeNull();
}); });
});
describe('Diagram', () => {
it('should diagram button be enabled if the process is running', () => {
component.processInstanceDetails = new ProcessInstance({
ended: null
});
fixture.detectChanges();
fixture.whenStable().then(() => {
let diagramButton = fixture.debugElement.query(By.css('#show-diagram-button'));
expect(diagramButton).not.toBeNull();
expect(diagramButton.nativeElement.disabled).toBe(false);
});
});
it('should diagram button be enabled if the process is running', () => {
component.processInstanceDetails = new ProcessInstance({
ended: new Date()
});
fixture.detectChanges();
fixture.whenStable().then(() => {
let diagramButton = fixture.debugElement.query(By.css('#show-diagram-button'));
expect(diagramButton).not.toBeNull();
expect(diagramButton.nativeElement.disabled).toBe(true);
});
});
});
});
}); });

View File

@@ -103,10 +103,6 @@ export class ProcessInstanceDetailsComponent implements OnChanges {
return this.processInstanceDetails && !this.processInstanceDetails.ended; return this.processInstanceDetails && !this.processInstanceDetails.ended;
} }
isDiagramDisabled(): boolean {
return !this.isRunning() ? true : undefined;
}
cancelProcess() { cancelProcess() {
this.activitiProcess.cancelProcess(this.processInstanceId).subscribe( this.activitiProcess.cancelProcess(this.processInstanceId).subscribe(
(data) => { (data) => {