blob: c9f434e996326af20c013ec562d86646521770f6 [file] [log] [blame]
import {getTestBed, TestBed} from '@angular/core/testing';
import {
INPROGRESS,
InstantiationStatusComponentService,
PAUSE,
PENDING,
ServiceStatus,
STOPED,
SUCCESS_CIRCLE,
X_O
} from './instantiationStatus.component.service';
import {ServiceInfoModel} from '../shared/server/serviceInfo/serviceInfo.model';
import { Observable } from 'rxjs/Rx';
describe('Instantiation Status Service', () => {
let injector;
let service: InstantiationStatusComponentService;
beforeEach(() => {
TestBed.configureTestingModule({
imports: [],
providers: [InstantiationStatusComponentService]
});
injector = getTestBed();
service = injector.get(InstantiationStatusComponentService);
});
it('generateServiceInfoDataMapping should return mapping of arrays', (done: DoneFn) => {
let data : Array<ServiceInfoModel> = generateServiceInfoData();
let result = service.generateServiceInfoDataMapping(data);
expect(result['1']).toBeDefined();
expect(result['2']).toBeDefined();
expect(result['3']).toBeDefined();
expect(result['1'].length).toEqual(2);
expect(result['2'].length).toEqual(2);
expect(result['3'].length).toEqual(1);
done();
});
it('generateServiceInfoDataMapping if array is empty should return empty object', (done: DoneFn) => {
let result = service.generateServiceInfoDataMapping([]);
expect(result['1']).not.toBeDefined();
expect(result['2']).not.toBeDefined();
expect(result['3']).not.toBeDefined();
done();
});
it('convertObjectToArray', (done: DoneFn) => {
spyOn(service, 'convertObjectToArray').and.returnValue(
Observable.of([])
);
let data : Array<ServiceInfoModel> = generateServiceInfoData();
service.convertObjectToArray(data).subscribe((result) => {
expect(result).toBeDefined();
done();
});
});
it('getStatusTooltip should return status popover', (done: DoneFn) => {
let result : ServiceStatus = service.getStatus('pending');
expect(result.tooltip).toEqual('Pending: The service will automatically be sent for instantiation as soon as possible.');
result = service.getStatus('IN_PROGRESS');
expect(result.tooltip).toEqual('In-progress: the service is in process of instantiation.');
result = service.getStatus('PAUSED');
expect(result.tooltip).toEqual('Paused: Service has paused and waiting for your action.\n Select actions from the menu to the right.');
result = service.getStatus('FAILED');
expect(result.tooltip).toEqual('Failed: Service instantiation has failed, load the service to see the error returned.');
result = service.getStatus('COMPLETED');
expect(result.tooltip).toEqual('Completed successfully: Service is successfully instantiated.');
result = service.getStatus('STOPPED');
expect(result.tooltip).toEqual('Stopped: Due to previous failure, will not be instantiated.');
done();
});
it('getStatusTooltip should return correct icon per job status', (done: DoneFn) => {
let result : ServiceStatus = service.getStatus('pending');
expect(result.iconClassName).toEqual(PENDING);
result = service.getStatus('IN_PROGRESS');
expect(result.iconClassName).toEqual(INPROGRESS);
result = service.getStatus('PAUSED');
expect(result.iconClassName).toEqual(PAUSE);
result = service.getStatus('FAILED');
expect(result.iconClassName).toEqual(X_O);
result = service.getStatus('COMPLETED');
expect(result.iconClassName).toEqual(SUCCESS_CIRCLE);
result = service.getStatus('STOPPED');
expect(result.iconClassName).toEqual(STOPED);
done();
});
function generateServiceInfoData(){
return JSON.parse(JSON.stringify([
{
"created": 1519956533000,
"modified": 1521727738000,
"createdId": null,
"modifiedId": null,
"rowNum": null,
"auditUserId": null,
"auditTrail": null,
"jobId": "6748648484",
"userId": "2222",
"jobStatus": "FAILED",
"pause": false,
"owningEntityId": "1234",
"owningEntityName": null,
"project": null,
"aicZoneId": null,
"aicZoneName": null,
"tenantId": null,
"tenantName": null,
"regionId": null,
"regionName": null,
"serviceType": null,
"subscriberName": null,
"serviceInstanceId": "1",
"serviceInstanceName": null,
"serviceModelId": null,
"serviceModelName": null,
"serviceModelVersion": null,
"createdBulkDate": 1519956533000,
"statusModifiedDate": 1520042933000,
"templateId": "1",
"hidden": false
},
{
"created": 1519956533000,
"modified": 1521727738000,
"createdId": null,
"modifiedId": null,
"rowNum": null,
"auditUserId": null,
"auditTrail": null,
"jobId": "6748648484",
"userId": "2222",
"jobStatus": "FAILED",
"pause": false,
"owningEntityId": "1234",
"owningEntityName": null,
"project": null,
"aicZoneId": null,
"aicZoneName": null,
"tenantId": null,
"tenantName": null,
"regionId": null,
"regionName": null,
"serviceType": null,
"subscriberName": null,
"serviceInstanceId": "1",
"serviceInstanceName": null,
"serviceModelId": null,
"serviceModelName": null,
"serviceModelVersion": null,
"createdBulkDate": 1519956533000,
"statusModifiedDate": 1520042933000,
"templateId": "1",
"hidden": false
},
{
"created": 1519956533000,
"modified": 1521727738000,
"createdId": null,
"modifiedId": null,
"rowNum": null,
"auditUserId": null,
"auditTrail": null,
"jobId": "6748648484",
"userId": "2222",
"jobStatus": "FAILED",
"pause": false,
"owningEntityId": "1234",
"owningEntityName": null,
"project": null,
"aicZoneId": null,
"aicZoneName": null,
"tenantId": null,
"tenantName": null,
"regionId": null,
"regionName": null,
"serviceType": null,
"subscriberName": null,
"serviceInstanceId": "2",
"serviceInstanceName": null,
"serviceModelId": null,
"serviceModelName": null,
"serviceModelVersion": null,
"createdBulkDate": 1519956533000,
"statusModifiedDate": 1520042933000,
"templateId": "2",
"hidden": false
},
{
"created": 1519956533000,
"modified": 1521727738000,
"createdId": null,
"modifiedId": null,
"rowNum": null,
"auditUserId": null,
"auditTrail": null,
"jobId": "6748648484",
"userId": "2222",
"jobStatus": "FAILED",
"pause": false,
"owningEntityId": "1234",
"owningEntityName": null,
"project": null,
"aicZoneId": null,
"aicZoneName": null,
"tenantId": null,
"tenantName": null,
"regionId": null,
"regionName": null,
"serviceType": null,
"subscriberName": null,
"serviceInstanceId": "2",
"serviceInstanceName": null,
"serviceModelId": null,
"serviceModelName": null,
"serviceModelVersion": null,
"createdBulkDate": 1519956533000,
"statusModifiedDate": 1520042933000,
"templateId": "2",
"hidden": false
},
{
"created": 1519956533000,
"modified": 1521727738000,
"createdId": null,
"modifiedId": null,
"rowNum": null,
"auditUserId": null,
"auditTrail": null,
"jobId": "6748648484",
"userId": "2222",
"jobStatus": "FAILED",
"pause": false,
"owningEntityId": "1234",
"owningEntityName": null,
"project": null,
"aicZoneId": null,
"aicZoneName": null,
"tenantId": null,
"tenantName": null,
"regionId": null,
"regionName": null,
"serviceType": null,
"subscriberName": null,
"serviceInstanceId": "3",
"serviceInstanceName": null,
"serviceModelId": null,
"serviceModelName": null,
"serviceModelVersion": null,
"createdBulkDate": 1519956533000,
"statusModifiedDate": 1520042933000,
"templateId": "3",
"hidden": false
}
]));
}
});