Catalog alignment
[sdc.git] / catalog-ui / src / app / ng2 / pages / composition / panel / panel-tabs / info-tab / info-tab.component.spec.ts
1 import { async, ComponentFixture, TestBed } from '@angular/core/testing';
2 import { NO_ERRORS_SCHEMA } from '@angular/core';
3 import { Store } from '@ngxs/store';
4 import { CompositionPaletteService } from '../../../../../pages/composition/palette/services/palette.service';
5 import { IAppMenu, SdcMenuToken } from '../../../../../../../app/ng2/config/sdc-menu.config';
6 import { CompositionService } from '../../../../../pages/composition/composition.service';
7 import { ServiceServiceNg2 } from '../../../../../../../app/services-ng2';
8 import { WorkspaceService } from '../../../../../../../app/ng2/pages/workspace/workspace.service';
9 import { ComponentInstanceServiceNg2 } from '../../../../../../../app/ng2/services/component-instance-services/component-instance.service';
10 import { EventListenerService } from '../../../../../../../app/services';
11 import { InfoTabComponent } from './info-tab.component';
12 import { ConfigureFn, configureTests } from "../../../../../../../jest/test-config.helper";
13 import { Observable } from "rxjs";
14 import { leftPaletteElements } from "../../../../../../../jest/mocks/left-paeltte-elements.mock";
15 import { TranslatePipe } from "../../../../../shared/translator/translate.pipe";
16 import { HttpClientModule } from "@angular/common/http";
17 import { TranslateModule } from "../../../../../../../app/ng2/shared/translator/translate.module";
18 import _ from "lodash";
19 import { TranslateService } from "../../../../../shared/translator/translate.service";
20 import { SdcUiServices } from "onap-ui-angular";
21 import { Component as TopologyTemplate, FullComponentInstance, ComponentInstance } from '../../../../../../../app/models';
22
23
24 describe('InfoTabComponent', () => {
25     // let comp: InfoTabComponent;
26     let fixture: ComponentFixture<InfoTabComponent>;
27
28     // let eventServiceMock: Partial<EventListenerService>;
29     let storeStub:Partial<Store>;
30     let compositionPaletteServiceStub:Partial<CompositionPaletteService>;
31     let iAppMenuStub:Partial<IAppMenu>;
32     let compositionServiceStub:Partial<CompositionService>;
33     let serviceServiceNg2Stub:Partial<ServiceServiceNg2>;
34     let workspaceServiceStub:Partial<WorkspaceService>;
35     let componentInstanceServiceNg2Stub:Partial<ComponentInstanceServiceNg2>;
36     let eventListenerServiceStub:Partial<EventListenerService>;
37
38     beforeEach(
39         async(() => {
40             storeStub = {};
41             iAppMenuStub = {};
42             eventListenerServiceStub = {
43                 notifyObservers: jest.fn()
44             }
45             compositionPaletteServiceStub = {
46                 getLeftPaletteElements:  jest.fn().mockImplementation(()=>  Observable.of(leftPaletteElements))
47             }
48             const configure: ConfigureFn = testBed => {
49                 testBed.configureTestingModule({
50                     imports: [ ],
51                     declarations: [ InfoTabComponent, TranslatePipe ],
52                     schemas: [ NO_ERRORS_SCHEMA ],
53                     providers: [
54                         { provide: Store, useValue: {} },
55                         { provide: CompositionPaletteService, useValue: compositionPaletteServiceStub },
56                         { provide: SdcMenuToken, useValue: {} },
57                         { provide: CompositionService, useValue: {} },
58                         { provide: SdcUiServices.ModalService, useValue: {}},
59                         { provide: ServiceServiceNg2, useValue: {} },
60                         { provide: WorkspaceService, useValue: {} },
61                         { provide: ComponentInstanceServiceNg2, useValue: {} },
62                         { provide: EventListenerService, useValue: eventListenerServiceStub },
63                         { provide: TranslateService, useValue: {}}
64                     ]
65                 });
66             };
67
68             configureTests(configure).then(testBed => {
69                 fixture = testBed.createComponent(InfoTabComponent);
70                 let comp = fixture.componentInstance;
71
72             });
73         })
74     );
75
76
77     it('can load instance', () => {
78         expect(fixture).toMatchSnapshot();
79     });
80
81     describe('Version dropdown', () => {
82         it('is undefined for topologyTemplate', () => {
83             fixture.componentInstance.component = <TopologyTemplate>{};
84             fixture.componentInstance.initEditResourceVersion(fixture.componentInstance.component, fixture.componentInstance.flatLeftPaletteElementsFromService(leftPaletteElements));
85             expect(fixture.componentInstance.versions).toBe(undefined);
86         });
87         it('does not contain the highest minor version if it is checked out', () => {
88             fixture.componentInstance.component = new ComponentInstance();
89             fixture.componentInstance.component.allVersions =  
90             {'1.0': "9c829122-af05-4bc9-b537-5d84f4c8ae25", '1.1': "930d56cb-868d-4e35-bd0f-e737d2fdb171"};
91             fixture.componentInstance.component.version = "1.0";
92             fixture.componentInstance.component.uuid = "a8cf015e-e4e5-4d4b-a01e-8624e8d36095";
93             fixture.componentInstance.initEditResourceVersion(fixture.componentInstance.component, fixture.componentInstance.flatLeftPaletteElementsFromService(leftPaletteElements));
94             expect(fixture.componentInstance.versions).toHaveLength(1);
95         });
96     });
97
98 });