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';
24 describe('InfoTabComponent', () => {
25 // let comp: InfoTabComponent;
26 let fixture: ComponentFixture<InfoTabComponent>;
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>;
42 eventListenerServiceStub = {
43 notifyObservers: jest.fn()
45 compositionPaletteServiceStub = {
46 getLeftPaletteElements: jest.fn().mockImplementation(()=> Observable.of(leftPaletteElements))
48 const configure: ConfigureFn = testBed => {
49 testBed.configureTestingModule({
51 declarations: [ InfoTabComponent, TranslatePipe ],
52 schemas: [ NO_ERRORS_SCHEMA ],
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: {}}
68 configureTests(configure).then(testBed => {
69 fixture = testBed.createComponent(InfoTabComponent);
70 let comp = fixture.componentInstance;
77 it('can load instance', () => {
78 expect(fixture).toMatchSnapshot();
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);
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);