8b0da409bde6a667004b11efee27d69f20e0325c
[vid.git] /
1 import {ComponentInfoService} from './component-info.service';
2 import {getTestBed, TestBed} from '@angular/core/testing';
3 import {MockNgRedux, NgReduxTestingModule} from '@angular-redux/store/testing';
4 import {NgRedux} from '@angular-redux/store';
5 import {AaiService} from '../../../shared/services/aaiService/aai.service';
6 import {HttpClient, HttpHandler} from '@angular/common/http';
7 import {FeatureFlagsService} from '../../../shared/services/featureFlag/feature-flags.service';
8 import {ModelInformationItem} from "../../../shared/components/model-information/model-information.component";
9 import {ComponentInfoModel, ComponentInfoType} from "./component-info-model";
10
11 class MockAppStore<T> {
12   getState() {
13     return {
14       global: {
15       },
16       service : {
17         serviceHierarchy : {
18           '1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd' : {
19             service:{
20               serviceRole: 'Testing',
21               serviceType: 'pnf',
22               uuid: '1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd',
23               version: '1.0',
24               customizationUuid: ''
25             }
26           }
27         },
28         serviceInstance : {
29           '1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd' : {
30             globalSubscriberId: 'e433710f-9217-458d-a79d-1c7aff376d89',
31             subscriptionServiceType:'TYLER SILVIA',
32             instanceId: '2f7130e8-27d6-4c01-8988-60ca67e8dae4'
33           }
34         },
35         subscribers: [
36           {
37             'id': 'CAR_2020_ER',
38             'name': 'CAR_2020_ER',
39             'isPermitted': true
40           },  
41           {
42             'id': 'e433710f-9217-458d-a79d-1c7aff376d89',
43             'name': 'SILVIA ROBBINS',
44             'isPermitted': true
45           }
46         ]
47       }
48     }
49   }
50 }
51
52 beforeAll(done => (async () => {
53   TestBed.configureTestingModule({
54     imports: [NgReduxTestingModule],
55     providers: [
56       AaiService,
57       HttpClient,
58       HttpHandler,
59       FeatureFlagsService,
60       ComponentInfoService,
61       {provide: NgRedux, useClass: MockAppStore},
62       MockNgRedux]
63   });
64   await TestBed.compileComponents();
65   let injector = getTestBed();
66   service = injector.get(ComponentInfoService);
67   })().then(done).catch(done.fail));
68
69 let service: ComponentInfoService;
70 describe('Service Info Data', () => {
71
72   test('ComponentInfoService should be defined', () => {
73     expect(service).toBeDefined();
74   });
75
76   test('Info for service should be correct', () => {
77     let actualServiceInfo = service.getInfoForService('1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd');
78     let expectedServiceInfo = [
79       ModelInformationItem.createInstance('Type', 'pnf'),
80       ModelInformationItem.createInstance('Model Version', '1.0'),
81       ModelInformationItem.createInstance('Model Customization ID', ''),
82       ModelInformationItem.createInstance('Instance ID', '2f7130e8-27d6-4c01-8988-60ca67e8dae4'),
83       ModelInformationItem.createInstance('Subscriber Name', 'SILVIA ROBBINS'),
84       ModelInformationItem.createInstance('Service Type', 'TYLER SILVIA'),
85       ModelInformationItem.createInstance('Service Role', 'Testing'),
86     ];
87     expect(actualServiceInfo).toEqual(new ComponentInfoModel(ComponentInfoType.SERVICE, expectedServiceInfo, []));
88
89
90   });
91
92 });
93