]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/blob
c25b73c00575d690da00d2616e847c3541a4ef32
[ceph-ci.git] /
1 import { HttpClientTestingModule } from '@angular/common/http/testing';
2 import { ComponentFixture, TestBed } from '@angular/core/testing';
3 import { ReactiveFormsModule } from '@angular/forms';
4 import { RouterTestingModule } from '@angular/router/testing';
5
6 import { BsModalRef } from 'ngx-bootstrap/modal';
7
8 import { configureTestBed, i18nProviders } from '../../../../testing/unit-test-helper';
9 import { SharedModule } from '../../../shared/shared.module';
10 import { IscsiTargetImageSettingsModalComponent } from './iscsi-target-image-settings-modal.component';
11
12 describe('IscsiTargetImageSettingsModalComponent', () => {
13   let component: IscsiTargetImageSettingsModalComponent;
14   let fixture: ComponentFixture<IscsiTargetImageSettingsModalComponent>;
15
16   configureTestBed({
17     declarations: [IscsiTargetImageSettingsModalComponent],
18     imports: [SharedModule, ReactiveFormsModule, HttpClientTestingModule, RouterTestingModule],
19     providers: [BsModalRef, i18nProviders]
20   });
21
22   beforeEach(() => {
23     fixture = TestBed.createComponent(IscsiTargetImageSettingsModalComponent);
24     component = fixture.componentInstance;
25
26     component.imagesSettings = { 'rbd/disk_1': { backstore: 'backstore:1', 'backstore:1': {} } };
27     component.image = 'rbd/disk_1';
28     component.disk_default_controls = {
29       'backstore:1': {
30         foo: 1,
31         bar: 2
32       },
33       'backstore:2': {
34         baz: 3
35       }
36     };
37     component.backstores = ['backstore:1', 'backstore:2'];
38
39     component.ngOnInit();
40     fixture.detectChanges();
41   });
42
43   it('should create', () => {
44     expect(component).toBeTruthy();
45   });
46
47   it('should fill the form', () => {
48     expect(component.settingsForm.value).toEqual({
49       backstore: 'backstore:1',
50       foo: null,
51       bar: null,
52       baz: null
53     });
54   });
55
56   it('should save changes to imagesSettings', () => {
57     component.settingsForm.controls['foo'].setValue(1234);
58     expect(component.imagesSettings).toEqual({
59       'rbd/disk_1': { backstore: 'backstore:1', 'backstore:1': {} }
60     });
61     component.save();
62     expect(component.imagesSettings).toEqual({
63       'rbd/disk_1': {
64         backstore: 'backstore:1',
65         'backstore:1': {
66           foo: 1234
67         }
68       }
69     });
70   });
71 });