Adapt to aliases for imports
[portal/nonrtric-controlpanel.git] / webapp-frontend / src / app / policy / policy-control.component.spec.ts
1 /*-
2  * ========================LICENSE_START=================================
3  * O-RAN-SC
4  * %%
5  * Copyright (C) 2019 Nordix Foundation
6  * %%
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ========================LICENSE_END===================================
19  */
20 import { async, ComponentFixture, TestBed } from "@angular/core/testing";
21 import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
22 import { MatDialog } from "@angular/material/dialog";
23 import { MatIconModule } from "@angular/material/icon";
24 import { MatTableModule } from "@angular/material/table";
25 import { CUSTOM_ELEMENTS_SCHEMA } from "@angular/core";
26 import { of } from "rxjs";
27
28 import { NotificationService } from "@services/ui/notification.service";
29 import { PolicyControlComponent } from "./policy-control.component";
30 import { PolicyTypeDataSource } from "@policy/policy-type/policy-type.datasource";
31 import { UiService } from "@services/ui/ui.service";
32 import { PolicyTypeSchema } from "@interfaces/policy.types";
33
34 describe("PolicyControlComponent", () => {
35   let component: PolicyControlComponent;
36   let fixture: ComponentFixture<PolicyControlComponent>;
37
38   beforeEach(async(() => {
39     const policyTypeDataSourceSpy = jasmine.createSpyObj(
40       "PolicyTypeDataSource",
41       ["connect", "getPolicyTypes", "disconnect"]
42     );
43     var policyTypeSchema = {} as PolicyTypeSchema;
44     policyTypeSchema.name = "";
45     policyTypeSchema.schemaObject = "";
46     policyTypeDataSourceSpy.connect.and.returnValue(of([policyTypeSchema]));
47     policyTypeDataSourceSpy.disconnect();
48
49     let matDialogStub: Partial<MatDialog>;
50     let notificationServiceStub: Partial<NotificationService>;
51
52     TestBed.configureTestingModule({
53       imports: [MatIconModule, MatTableModule, BrowserAnimationsModule],
54       schemas: [CUSTOM_ELEMENTS_SCHEMA],
55       declarations: [PolicyControlComponent],
56       providers: [
57         { provide: PolicyTypeDataSource, useValue: policyTypeDataSourceSpy },
58         { provide: MatDialog, useValue: matDialogStub },
59         { provide: NotificationService, useValue: notificationServiceStub },
60         UiService,
61       ],
62     }).compileComponents();
63   }));
64
65   beforeEach(() => {
66     fixture = TestBed.createComponent(PolicyControlComponent);
67     component = fixture.componentInstance;
68     fixture.detectChanges();
69   });
70
71   it("should create", () => {
72     expect(component).toBeTruthy();
73   });
74 });