Add diagrams Event unit test

This commit is contained in:
mauriziovitale84
2016-10-31 14:03:53 +00:00
parent b0882e7322
commit f0207fe718
4 changed files with 226 additions and 242 deletions

View File

@@ -24,6 +24,7 @@ import { DIAGRAM_DIRECTIVES, DIAGRAM_PROVIDERS } from './index';
import { RAPHAEL_DIRECTIVES, RAPHAEL_PROVIDERS } from './raphael/index';
import { DiagramComponent } from './index';
import { DebugElement } from '@angular/core';
import * as diagramsEventsMock from '../assets/diagramEvents.mock';
declare let jasmine: any;
@@ -64,40 +65,50 @@ describe('Test ng2-activiti-diagrams ', () => {
window['componentHandler'] = componentHandler;
});
describe('Diagrams component ', () => {
describe('Diagrams component Events: ', () => {
beforeEach(() => {
jasmine.Ajax.install();
component.processDefinitionId = 'fakeprocess:24:38399';
component.metricPercentages = {startEvent: 0};
});
afterEach(() => {
jasmine.Ajax.uninstall();
});
it('Should render the StartEvent', async(() => {
component.processDefinitionId = 'fakeprocess:24:38399';
component.metricPercentages = {startEvent: 0};
it('Should render the Start Event', async(() => {
component.onSuccess.subscribe((res) => {
fixture.detectChanges();
fixture.whenStable().then(() => {
expect(res).not.toBeNull();
let event: any = element.querySelector('diagram-start-event > diagram-event > raphael-circle');
expect(event).not.toBeNull();
});
});
component.ngOnChanges();
let resp = {elements: [diagramsEventsMock.startEvent]};
jasmine.Ajax.requests.mostRecent().respondWith({
status: 200,
contentType: 'json',
responseText: resp
});
}));
it('Should render the Start Timer Event', async(() => {
component.onSuccess.subscribe((res) => {
fixture.detectChanges();
fixture.whenStable().then(() => {
expect(res).toBeDefined();
let startEvent: any = element.querySelector('diagram-start-event');
expect(startEvent).toBeDefined();
let raphaelCircle: any = element.querySelector('raphael-circle');
expect(raphaelCircle).toBeDefined();
let event: any = element.querySelector('diagram-start-event > diagram-event > raphael-circle');
expect(event).not.toBeNull();
let iconEvent: any = element.querySelector('diagram-start-event > diagram-event >' +
' diagram-container-icon-event > div > div > diagram-icon-timer > raphael-icon-timer');
expect(iconEvent).not.toBeNull();
});
});
component.ngOnChanges();
let startEvent = {
id: 'startEvent1',
type: 'StartEvent',
width: 30,
height: 30,
x: 15,
y: 48.5,
properties: [{}]
};
let resp = {elements : [startEvent] };
let resp = {elements: [diagramsEventsMock.startTimeEvent]};
jasmine.Ajax.requests.mostRecent().respondWith({
status: 200,
@@ -105,5 +116,111 @@ describe('Test ng2-activiti-diagrams ', () => {
responseText: resp
});
}));
it('Should render the Start Signal Event', async(() => {
component.onSuccess.subscribe((res) => {
fixture.detectChanges();
fixture.whenStable().then(() => {
expect(res).toBeDefined();
let event: any = element.querySelector('diagram-start-event > diagram-event > raphael-circle');
expect(event).not.toBeNull();
let iconEvent: any = element.querySelector('diagram-start-event > diagram-event >' +
' diagram-container-icon-event > div > div > diagram-icon-signal > raphael-icon-signal');
expect(iconEvent).not.toBeNull();
});
});
component.ngOnChanges();
let resp = {elements: [diagramsEventsMock.startSignalEvent]};
jasmine.Ajax.requests.mostRecent().respondWith({
status: 200,
contentType: 'json',
responseText: resp
});
}));
it('Should render the Start Message Event', async(() => {
component.onSuccess.subscribe((res) => {
fixture.detectChanges();
fixture.whenStable().then(() => {
expect(res).toBeDefined();
let event: any = element.querySelector('diagram-start-event > diagram-event > raphael-circle');
expect(event).not.toBeNull();
let iconEvent: any = element.querySelector('diagram-start-event > diagram-event >' +
' diagram-container-icon-event > div > div > diagram-icon-message > raphael-icon-message');
expect(iconEvent).not.toBeNull();
});
});
component.ngOnChanges();
let resp = {elements: [diagramsEventsMock.startMessageEvent]};
jasmine.Ajax.requests.mostRecent().respondWith({
status: 200,
contentType: 'json',
responseText: resp
});
}));
it('Should render the Start Error Event', async(() => {
component.onSuccess.subscribe((res) => {
fixture.detectChanges();
fixture.whenStable().then(() => {
expect(res).toBeDefined();
let event: any = element.querySelector('diagram-start-event > diagram-event > raphael-circle');
expect(event).not.toBeNull();
let iconEvent: any = element.querySelector('diagram-start-event > diagram-event >' +
' diagram-container-icon-event > div > div > diagram-icon-error > raphael-icon-error');
expect(iconEvent).not.toBeNull();
});
});
component.ngOnChanges();
let resp = {elements: [diagramsEventsMock.startErrorEvent]};
jasmine.Ajax.requests.mostRecent().respondWith({
status: 200,
contentType: 'json',
responseText: resp
});
}));
it('Should render the End Event', async(() => {
component.onSuccess.subscribe((res) => {
fixture.detectChanges();
fixture.whenStable().then(() => {
expect(res).toBeDefined();
let event: any = element.querySelector('diagram-end-event > diagram-event > raphael-circle');
expect(event).not.toBeNull();
});
});
component.ngOnChanges();
let resp = {elements: [diagramsEventsMock.endEvent]};
jasmine.Ajax.requests.mostRecent().respondWith({
status: 200,
contentType: 'json',
responseText: resp
});
}));
it('Should render the End Error Event', async(() => {
component.onSuccess.subscribe((res) => {
fixture.detectChanges();
fixture.whenStable().then(() => {
expect(res).toBeDefined();
let event: any = element.querySelector('diagram-end-event > diagram-event > raphael-circle');
expect(event).not.toBeNull();
let iconEvent: any = element.querySelector('diagram-end-event > diagram-event >' +
' diagram-container-icon-event > div > div > diagram-icon-error > raphael-icon-error');
expect(iconEvent).not.toBeNull();
});
});
component.ngOnChanges();
let resp = {elements: [diagramsEventsMock.endErrorEvent]};
jasmine.Ajax.requests.mostRecent().respondWith({
status: 200,
contentType: 'json',
responseText: resp
});
}));
});
});