]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/blob
f8d9c67363251930731d7411060257c095b1063c
[ceph.git] /
1 import { ComponentFixture, TestBed, fakeAsync, tick } from '@angular/core/testing';
2 import { HttpClientModule } from '@angular/common/http';
3 import { RouterTestingModule } from '@angular/router/testing';
4
5 import { of } from 'rxjs';
6
7 import { SharedModule } from '~/app/shared/shared.module';
8 import { NvmeofService } from '~/app/shared/api/nvmeof.service';
9 import { AuthStorageService } from '~/app/shared/services/auth-storage.service';
10 import { ModalService } from '~/app/shared/services/modal.service';
11 import { TaskWrapperService } from '~/app/shared/services/task-wrapper.service';
12
13 import { NvmeofInitiatorsListComponent } from './nvmeof-initiators-list.component';
14
15 const mockInitiators = [
16   {
17     nqn: '*'
18   }
19 ];
20
21 class MockNvmeOfService {
22   getInitiators() {
23     return of(mockInitiators);
24   }
25 }
26
27 class MockAuthStorageService {
28   getPermissions() {
29     return { nvmeof: {} };
30   }
31 }
32
33 class MockModalService {}
34
35 class MockTaskWrapperService {}
36
37 describe('NvmeofInitiatorsListComponent', () => {
38   let component: NvmeofInitiatorsListComponent;
39   let fixture: ComponentFixture<NvmeofInitiatorsListComponent>;
40
41   beforeEach(async () => {
42     await TestBed.configureTestingModule({
43       declarations: [NvmeofInitiatorsListComponent],
44       imports: [HttpClientModule, RouterTestingModule, SharedModule],
45       providers: [
46         { provide: NvmeofService, useClass: MockNvmeOfService },
47         { provide: AuthStorageService, useClass: MockAuthStorageService },
48         { provide: ModalService, useClass: MockModalService },
49         { provide: TaskWrapperService, useClass: MockTaskWrapperService }
50       ]
51     }).compileComponents();
52
53     fixture = TestBed.createComponent(NvmeofInitiatorsListComponent);
54     component = fixture.componentInstance;
55     component.ngOnInit();
56     fixture.detectChanges();
57   });
58
59   it('should create', () => {
60     expect(component).toBeTruthy();
61   });
62
63   it('should retrieve initiators', fakeAsync(() => {
64     component.listInitiators();
65     tick();
66     expect(component.initiators).toEqual(mockInitiators);
67   }));
68 });