]> git.apps.os.sepia.ceph.com Git - ceph.git/blob
00f4da5fa07dc138e1830d71755cfc775f8e3ef0
[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 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, FormsModule, 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 model', () => {
48     expect(component.model).toEqual({
49       backstore: 'backstore:1',
50       'backstore:1': {},
51       'backstore:2': {}
52     });
53   });
54
55   it('should save changes to imagesSettings', () => {
56     component.model['backstore:1'] = { foo: 1234 };
57     expect(component.imagesSettings).toEqual({
58       'rbd/disk_1': { backstore: 'backstore:1', 'backstore:1': {} }
59     });
60     component.save();
61     expect(component.imagesSettings).toEqual({
62       'rbd/disk_1': {
63         backstore: 'backstore:1',
64         'backstore:1': {
65           foo: 1234
66         }
67       }
68     });
69   });
70 });