3 * ============LICENSE_START=======================================================
4 * Copyright (C) 2022 Nordix Foundation.
5 * ================================================================================
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
18 * SPDX-License-Identifier: Apache-2.0
19 * ============LICENSE_END=========================================================
22 import {async, ComponentFixture, TestBed} from '@angular/core/testing';
24 import {AddPropertyComponent} from './add-property.component';
25 import {FormsModule, ReactiveFormsModule} from "@angular/forms";
26 import {TranslateModule} from "../../../../shared/translator/translate.module";
27 import {UiElementsModule} from "../../../../components/ui/ui-elements.module";
28 import {Component, Input, NO_ERRORS_SCHEMA} from "@angular/core";
29 import {DataTypeModel} from "../../../../../models/data-types";
30 import {SchemaPropertyGroupModel} from "../../../../../models/schema-property";
31 import {DataTypeService} from "../../../../services/data-type.service";
32 import {TranslateService} from "../../../../shared/translator/translate.service";
34 @Component({selector: 'app-input-list-item', template: ''})
35 class InputListItemStubComponent {
36 @Input() valueObjRef: any;
37 @Input() name: string;
38 @Input() dataTypeMap: Map<string, DataTypeModel>;
39 @Input() type: DataTypeModel;
40 @Input() schema: SchemaPropertyGroupModel;
41 @Input() nestingLevel: number;
42 @Input() isExpanded: boolean = false;
43 @Input() isListChild: boolean = false;
44 @Input() isMapChild: boolean = false;
45 @Input() listIndex: number;
46 @Input() isViewOnly: boolean;
47 @Input() allowDeletion: boolean = false;
50 describe('AddPropertyComponent', () => {
51 let dataTypeServiceMock: Partial<DataTypeService> = {
52 findAllDataTypesByModel: jest.fn(args => {
53 return Promise.resolve(new Map());
56 let translateServiceMock: Partial<TranslateService> = {
57 translate: jest.fn((str: string) => {})
59 let component: AddPropertyComponent;
60 let fixture: ComponentFixture<AddPropertyComponent>;
62 beforeEach(async(() => {
63 TestBed.configureTestingModule({
64 declarations: [AddPropertyComponent, InputListItemStubComponent],
71 schemas: [NO_ERRORS_SCHEMA],
73 {provide: DataTypeService, useValue: dataTypeServiceMock},
74 {provide: TranslateService, useValue: translateServiceMock}
81 fixture = TestBed.createComponent(AddPropertyComponent);
82 component = fixture.componentInstance;
83 fixture.detectChanges();
86 it('should create', () => {
87 expect(component).toBeTruthy();