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