Create policy module
[portal/nonrtric-controlpanel.git] / webapp-frontend / src / app / policy-control / no-type-policy-instance-dialog.component.spec.ts
diff --git a/webapp-frontend/src/app/policy-control/no-type-policy-instance-dialog.component.spec.ts b/webapp-frontend/src/app/policy-control/no-type-policy-instance-dialog.component.spec.ts
deleted file mode 100644 (file)
index 3a940c7..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-/*-
- * ========================LICENSE_START=================================
- * O-RAN-SC
- * %%
- * Copyright (C) 2019 Nordix Foundation
- * %%
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================LICENSE_END===================================
- */
-
-import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
-import { ComponentFixture, TestBed } from "@angular/core/testing";
-import { HarnessLoader } from "@angular/cdk/testing";
-import { MatButtonModule } from '@angular/material/button';
-import { MatButtonHarness } from '@angular/material/button/testing';
-import { MatDialogModule, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
-import { MatSelectModule } from '@angular/material/select';
-import { MatSelectHarness } from '@angular/material/select/testing';
-import { MatInputModule } from '@angular/material/input';
-import { MatInputHarness } from '@angular/material/input/testing';
-import { of } from "rxjs/observable/of";
-import { ReactiveFormsModule } from "@angular/forms";
-import { TestbedHarnessEnvironment } from "@angular/cdk/testing/testbed";
-import { ToastrModule } from "ngx-toastr";
-
-import { PolicyService } from "../services/policy/policy.service";
-import { ErrorDialogService } from "../services/ui/error-dialog.service";
-import { UiService } from "../services/ui/ui.service";
-import { NoTypePolicyInstanceDialogComponent } from "./no-type-policy-instance-dialog.component";
-import { Ric } from "../interfaces/ric";
-
-describe('NoTypePolicyInstanceDialogComponent', () => {
-  let component: NoTypePolicyInstanceDialogComponent;
-  let fixture: ComponentFixture<NoTypePolicyInstanceDialogComponent>;
-  let loader: HarnessLoader;
-  let policyServiceSpy: jasmine.SpyObj<PolicyService>;
-  let errDialogServiceSpy: jasmine.SpyObj<ErrorDialogService>;
-  const ric1: Ric = { ric_id: 'ric1', managed_element_ids: [ 'me1' ], policytype_ids: [ 'type1' ], state: ''};
-  const ric2: Ric = { ric_id: 'ric2', managed_element_ids: [ 'me1' ], policytype_ids: [ 'type1' ], state: ''};
-
-  beforeEach(async () => {
-    policyServiceSpy = jasmine.createSpyObj('PolicyService', [ 'putPolicy', 'getRics' ]);
-    errDialogServiceSpy = jasmine.createSpyObj('ErrorDialogService', [ 'displayError' ]);
-
-    policyServiceSpy.getRics.and.returnValue(of({ rics: [ ric1, ric2 ] }));
-
-    TestBed.configureTestingModule({
-      imports: [
-        BrowserAnimationsModule,
-        MatButtonModule,
-        MatDialogModule,
-        MatInputModule,
-        MatSelectModule,
-        ReactiveFormsModule,
-        ToastrModule.forRoot()
-      ],
-      declarations: [
-        NoTypePolicyInstanceDialogComponent
-      ],
-      providers: [
-        { provide: MatDialogRef, useValue: component },
-        { provide: PolicyService, useValue: policyServiceSpy },
-        { provide: ErrorDialogService, useValue: errDialogServiceSpy },
-        { provide: MAT_DIALOG_DATA, useValue: true },
-        UiService
-      ]
-    });
-  });
-
-  describe('content when creating policy', () => {
-    beforeEach(async () => {
-      ({ fixture, component, loader } = compileAndGetComponents(fixture, component, loader));
-    });
-
-    it('should contain oran logo and create title and no instance info', async () => {
-      let ele = fixture.debugElement.nativeElement.querySelector('img');
-      expect(ele.src).toContain('assets/oran-logo.png');
-
-      ele = fixture.debugElement.nativeElement.querySelector('text');
-      expect(ele.childNodes[0].childNodes[0].textContent).toEqual('Create new policy instance of < No type >');
-
-      ele = fixture.debugElement.nativeElement.querySelector('#instanceInfo');
-      expect(ele).toBeFalsy();
-    });
-
-    it('should contain enabled Target selection with no ric selected and json should be empty', async () => {
-      let ricSelector: MatSelectHarness = await loader.getHarness(MatSelectHarness.with({selector: '#ricSelector'}));
-
-      expect(await ricSelector.isEmpty()).toBeTruthy();
-      expect(await ricSelector.isDisabled()).toBeFalsy();
-      await ricSelector.open();
-      const count = (await ricSelector.getOptions()).length;
-      expect(count).toEqual(2);
-
-      let jsonTextArea: MatInputHarness = await loader.getHarness(MatInputHarness.with({selector: '#policyJsonTextArea'}));
-      expect(await jsonTextArea.isDisabled()).toBeFalsy();
-      const actualJson: string = await jsonTextArea.getValue();
-      expect(actualJson).toEqual('');
-    });
-
-    it('should contain disabled Format and Submit buttons and enabled Close button', async () => {
-      component.ngOnInit();
-
-      let formatButton: MatButtonHarness = await loader.getHarness(MatButtonHarness.with({selector: '#formatButton'}));
-      expect(await formatButton.isDisabled()).toBeTruthy();
-      expect(await formatButton.getText()).toEqual('Format JSON');
-
-      let closeButton: MatButtonHarness = await loader.getHarness(MatButtonHarness.with({selector: '#closeButton'}));
-      expect(await closeButton.isDisabled()).toBeFalsy();
-      expect(await closeButton.getText()).toEqual('Close');
-
-      let submitButton: MatButtonHarness = await loader.getHarness(MatButtonHarness.with({selector: '#submitButton'}));
-      expect(await submitButton.isDisabled()).toBeTruthy();
-      expect(await submitButton.getText()).toEqual('Submit');
-    });
-  });
-
-  describe('content when editing policy', () => {
-    beforeEach(async () => {
-      const policyData = {
-        createSchema: "{}",
-        instanceId: "instanceId",
-        instanceJson: '{"qosObjectives": {"priorityLevel": 3100}}',
-        name: "name",
-        ric: "ric1"
-    };
-      TestBed.overrideProvider(MAT_DIALOG_DATA, {useValue: policyData }); // Should be provided with a policy
-      ({ fixture, component, loader } = compileAndGetComponents(fixture, component, loader));
-    });
-
-    it('should contain oran logo and instance info', async () => {
-        let ele = fixture.debugElement.nativeElement.querySelector('img');
-        expect(ele.src).toContain('assets/oran-logo.png');
-
-        ele = fixture.debugElement.nativeElement.querySelector('text');
-        expect(ele.childNodes[0].childNodes[0]).toBeFalsy(); // No create title
-
-        ele = fixture.debugElement.nativeElement.querySelector('#instanceInfo');
-        expect(ele).toBeTruthy();
-        expect(ele.innerText).toEqual('[ric1] Instance ID: instanceId');
-    });
-
-    it('should contain json and no Target selection', async () => {
-        let ele = fixture.debugElement.nativeElement.querySelector('#ricSelector');
-        expect(ele).toBeFalsy();
-
-        let jsonTextArea: MatInputHarness = await loader.getHarness(MatInputHarness.with({selector: '#policyJsonTextArea'}));
-        expect(await jsonTextArea.isDisabled()).toBeFalsy();
-        const actualJson: string = await jsonTextArea.getValue();
-        expect(actualJson).toContain('qosObjectives');
-    });
-
-    it('should contain enabled Format, Submit and Close buttons', async () => {
-      let formatButton: MatButtonHarness = await loader.getHarness(MatButtonHarness.with({selector: '#formatButton'}));
-      expect(await formatButton.isDisabled()).toBeFalsy();
-      expect(await formatButton.getText()).toEqual('Format JSON');
-
-      let closeButton: MatButtonHarness = await loader.getHarness(MatButtonHarness.with({selector: '#closeButton'}));
-      expect(await closeButton.isDisabled()).toBeFalsy();
-      expect(await closeButton.getText()).toEqual('Close');
-
-      let submitButton: MatButtonHarness = await loader.getHarness(MatButtonHarness.with({selector: '#submitButton'}));
-      expect(await submitButton.isDisabled()).toBeFalsy();
-      expect(await submitButton.getText()).toEqual('Submit');
-    });
-
-  });
-});
-
-function compileAndGetComponents(fixture: ComponentFixture<NoTypePolicyInstanceDialogComponent>, component: NoTypePolicyInstanceDialogComponent, loader: HarnessLoader) {
-  TestBed.compileComponents();
-
-  fixture = TestBed.createComponent(NoTypePolicyInstanceDialogComponent);
-  component = fixture.componentInstance;
-  fixture.detectChanges();
-  loader = TestbedHarnessEnvironment.loader(fixture);
-  return { fixture, component, loader };
-}