]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/blob
5b8b5602e8e730b4a55b292db4a0b7348181fbda
[ceph-ci.git] /
1 import {
2   HttpClientTestingModule,
3   HttpTestingController,
4   TestRequest
5 } from '@angular/common/http/testing';
6 import { ComponentFixture, TestBed } from '@angular/core/testing';
7 import { ReactiveFormsModule } from '@angular/forms';
8
9 import { ToastModule } from 'ng2-toastr';
10 import { BsModalRef } from 'ngx-bootstrap/modal';
11
12 import { configureTestBed, i18nProviders } from '../../../../testing/unit-test-helper';
13 import { SharedModule } from '../../../shared/shared.module';
14 import { IscsiTargetDiscoveryModalComponent } from './iscsi-target-discovery-modal.component';
15
16 describe('IscsiTargetDiscoveryModalComponent', () => {
17   let component: IscsiTargetDiscoveryModalComponent;
18   let fixture: ComponentFixture<IscsiTargetDiscoveryModalComponent>;
19   let httpTesting: HttpTestingController;
20   let req: TestRequest;
21
22   configureTestBed({
23     declarations: [IscsiTargetDiscoveryModalComponent],
24     imports: [HttpClientTestingModule, ReactiveFormsModule, SharedModule, ToastModule.forRoot()],
25     providers: [i18nProviders, BsModalRef]
26   });
27
28   beforeEach(() => {
29     fixture = TestBed.createComponent(IscsiTargetDiscoveryModalComponent);
30     component = fixture.componentInstance;
31     httpTesting = TestBed.get(HttpTestingController);
32     fixture.detectChanges();
33     req = httpTesting.expectOne('api/iscsi/discoveryauth');
34   });
35
36   it('should create', () => {
37     expect(component).toBeTruthy();
38   });
39
40   it('should create form', () => {
41     expect(component.discoveryForm.value).toEqual({
42       user: '',
43       password: '',
44       mutual_user: '',
45       mutual_password: ''
46     });
47   });
48
49   it('should patch form', () => {
50     req.flush({
51       user: 'foo',
52       password: 'bar',
53       mutual_user: 'mutual_foo',
54       mutual_password: 'mutual_bar'
55     });
56     expect(component.discoveryForm.value).toEqual({
57       user: 'foo',
58       password: 'bar',
59       mutual_user: 'mutual_foo',
60       mutual_password: 'mutual_bar'
61     });
62   });
63
64   it('should submit new values', () => {
65     component.discoveryForm.patchValue({
66       user: 'new_user',
67       password: 'new_pass',
68       mutual_user: 'mutual_new_user',
69       mutual_password: 'mutual_new_pass'
70     });
71     component.submitAction();
72
73     const submit_req = httpTesting.expectOne('api/iscsi/discoveryauth');
74     expect(submit_req.request.method).toBe('PUT');
75     expect(submit_req.request.body).toEqual({
76       user: 'new_user',
77       password: 'new_pass',
78       mutual_user: 'mutual_new_user',
79       mutual_password: 'mutual_new_pass'
80     });
81   });
82 });