1 import {getTestBed, TestBed} from '@angular/core/testing';
4 InstantiationStatusComponentService,
11 } from './instantiationStatus.component.service';
12 import {ServiceInfoModel} from '../shared/server/serviceInfo/serviceInfo.model';
13 import { Observable } from 'rxjs/Rx';
15 describe('Instantiation Status Service', () => {
17 let service: InstantiationStatusComponentService;
20 TestBed.configureTestingModule({
22 providers: [InstantiationStatusComponentService]
25 injector = getTestBed();
26 service = injector.get(InstantiationStatusComponentService);
29 it('generateServiceInfoDataMapping should return mapping of arrays', (done: DoneFn) => {
30 let data : Array<ServiceInfoModel> = generateServiceInfoData();
31 let result = service.generateServiceInfoDataMapping(data);
33 expect(result['1']).toBeDefined();
34 expect(result['2']).toBeDefined();
35 expect(result['3']).toBeDefined();
37 expect(result['1'].length).toEqual(2);
38 expect(result['2'].length).toEqual(2);
39 expect(result['3'].length).toEqual(1);
43 it('generateServiceInfoDataMapping if array is empty should return empty object', (done: DoneFn) => {
44 let result = service.generateServiceInfoDataMapping([]);
46 expect(result['1']).not.toBeDefined();
47 expect(result['2']).not.toBeDefined();
48 expect(result['3']).not.toBeDefined();
52 it('convertObjectToArray', (done: DoneFn) => {
54 spyOn(service, 'convertObjectToArray').and.returnValue(
58 let data : Array<ServiceInfoModel> = generateServiceInfoData();
59 service.convertObjectToArray(data).subscribe((result) => {
60 expect(result).toBeDefined();
65 it('getStatusTooltip should return status popover', (done: DoneFn) => {
66 let result : ServiceStatus = service.getStatus('pending');
67 expect(result.tooltip).toEqual('Pending: The service will automatically be sent for instantiation as soon as possible.');
69 result = service.getStatus('IN_PROGRESS');
70 expect(result.tooltip).toEqual('In-progress: the service is in process of instantiation.');
72 result = service.getStatus('PAUSED');
73 expect(result.tooltip).toEqual('Paused: Service has paused and waiting for your action.\n Select actions from the menu to the right.');
75 result = service.getStatus('FAILED');
76 expect(result.tooltip).toEqual('Failed: Service instantiation has failed, load the service to see the error returned.');
78 result = service.getStatus('COMPLETED');
79 expect(result.tooltip).toEqual('Completed successfully: Service is successfully instantiated.');
81 result = service.getStatus('STOPPED');
82 expect(result.tooltip).toEqual('Stopped: Due to previous failure, will not be instantiated.');
86 it('getStatusTooltip should return correct icon per job status', (done: DoneFn) => {
87 let result : ServiceStatus = service.getStatus('pending');
88 expect(result.iconClassName).toEqual(PENDING);
90 result = service.getStatus('IN_PROGRESS');
91 expect(result.iconClassName).toEqual(INPROGRESS);
93 result = service.getStatus('PAUSED');
94 expect(result.iconClassName).toEqual(PAUSE);
96 result = service.getStatus('FAILED');
97 expect(result.iconClassName).toEqual(X_O);
99 result = service.getStatus('COMPLETED');
100 expect(result.iconClassName).toEqual(SUCCESS_CIRCLE);
102 result = service.getStatus('STOPPED');
103 expect(result.iconClassName).toEqual(STOPED);
108 function generateServiceInfoData(){
109 return JSON.parse(JSON.stringify([
111 "created": 1519956533000,
112 "modified": 1521727738000,
118 "jobId": "6748648484",
120 "jobStatus": "FAILED",
122 "owningEntityId": "1234",
123 "owningEntityName": null,
132 "subscriberName": null,
133 "serviceInstanceId": "1",
134 "serviceInstanceName": null,
135 "serviceModelId": null,
136 "serviceModelName": null,
137 "serviceModelVersion": null,
138 "createdBulkDate": 1519956533000,
139 "statusModifiedDate": 1520042933000,
144 "created": 1519956533000,
145 "modified": 1521727738000,
151 "jobId": "6748648484",
153 "jobStatus": "FAILED",
155 "owningEntityId": "1234",
156 "owningEntityName": null,
165 "subscriberName": null,
166 "serviceInstanceId": "1",
167 "serviceInstanceName": null,
168 "serviceModelId": null,
169 "serviceModelName": null,
170 "serviceModelVersion": null,
171 "createdBulkDate": 1519956533000,
172 "statusModifiedDate": 1520042933000,
177 "created": 1519956533000,
178 "modified": 1521727738000,
184 "jobId": "6748648484",
186 "jobStatus": "FAILED",
188 "owningEntityId": "1234",
189 "owningEntityName": null,
198 "subscriberName": null,
199 "serviceInstanceId": "2",
200 "serviceInstanceName": null,
201 "serviceModelId": null,
202 "serviceModelName": null,
203 "serviceModelVersion": null,
204 "createdBulkDate": 1519956533000,
205 "statusModifiedDate": 1520042933000,
210 "created": 1519956533000,
211 "modified": 1521727738000,
217 "jobId": "6748648484",
219 "jobStatus": "FAILED",
221 "owningEntityId": "1234",
222 "owningEntityName": null,
231 "subscriberName": null,
232 "serviceInstanceId": "2",
233 "serviceInstanceName": null,
234 "serviceModelId": null,
235 "serviceModelName": null,
236 "serviceModelVersion": null,
237 "createdBulkDate": 1519956533000,
238 "statusModifiedDate": 1520042933000,
243 "created": 1519956533000,
244 "modified": 1521727738000,
250 "jobId": "6748648484",
252 "jobStatus": "FAILED",
254 "owningEntityId": "1234",
255 "owningEntityName": null,
264 "subscriberName": null,
265 "serviceInstanceId": "3",
266 "serviceInstanceName": null,
267 "serviceModelId": null,
268 "serviceModelName": null,
269 "serviceModelVersion": null,
270 "createdBulkDate": 1519956533000,
271 "statusModifiedDate": 1520042933000,